Protego: Overload Control for Applications with Unpredictable Lock Contention
Protego: Overload Control for Applications with Unpredictable Lock Contention
复制标题
DOI:
--
复制
发表时间:
2023
期刊:
影响因子:
--
通讯作者:
Inho Cho;Ahmed Saeed;S. Park;Mohammad Alizadeh;A. Belay
中科院分区:
文献类型:
--
作者:
Inho Cho;Ahmed Saeed;S. Park;Mohammad Alizadeh;A. Belay
Modern datacenter applications are concurrent, so they require synchronization to control access to shared data. Requests can contend for different combinations of locks, depending on application and request state. In this paper, we show that locks, especially blocking synchronization, can squander throughput and harm tail latency, even when the CPU is underutilized. Moreover, the presence of a large number of contention points, and the unpredictability in knowing which locks a request will require, make it difficult to prevent contention through overload control using traditional signals such as queueing delay and CPU utilization. We present Protego, a system that resolves these problems with two key ideas. First, it contributes a new admission con-trol strategy that prevents compute congestion in the presence of lock contention. The key idea is to use marginal improvements in observed throughput, rather than CPU load or latency measurements, within a credit-based admission control algo-rithm that regulates the rate of incoming requests to a server. Second, it introduces a new latency-aware synchronization abstraction called Active Synchronization Queue Management (ASQM) that allows applications to abort requests if delays exceed latency objectives. We apply Protego to two real-world applications, Lucene and Memcached, and show that it achieves up to 3 . 3 × more goodput and 12 . 2 × lower 99th percentile latency than the state-of-the-art overload con-trol systems while avoiding congestion collapse.