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
中科院分区:
其他
文献类型:
--
作者:
Inho Cho;Ahmed Saeed;S. Park;Mohammad Alizadeh;A. Belay

文献摘要

相似文献

现代数据中心应用程序是并发的,因此它们需要同步来控制对共享数据的访问。根据应用程序和请求状态,请求可以争用不同的锁组合。在本文中,我们展示了锁,特别是阻塞同步,可以浪费吞吐量和损害尾部延迟,即使在CPU未充分利用的情况下也是如此。此外,由于存在大量争用点,并且无法预测请求将需要哪些锁,因此很难通过使用排队延迟和CPU利用率等传统信号进行过载控制来防止争用。我们介绍的Protego系统通过两个关键思想解决了这些问题。首先,它提供了一种新的准入控制策略,可以防止存在锁争用时的计算拥塞。关键思想是在基于信用的允许控制算法中使用观察到的吞吐量的边际改进,而不是CPU负载或延迟测量,该算法调节到服务器的传入请求的速率。其次,它引入了一种新的延迟感知同步抽象,称为活动同步队列管理(Active synchronization Queue Management, ASQM),它允许应用程序在延迟超过延迟目标时中止请求。我们将Protego应用于两个现实世界的应用程序,Lucene和Memcached,并表明它达到了3。3倍以上的好货和12。2倍低的第99百分位延迟比最先进的过载控制系统,同时避免拥塞崩溃。
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.