This article describes the code and ideas behind several throttling algorithms and summarizes their complexity and applicable scenarios.