可扩展锁定
Asymmetry-aware Scalable Locking
摘要:
对功耗效率的追求正在推广非对称多核处理器(AMP),如ARM big.LITTLE、Apple M1和最近的Intel Alder Lake,它们具有大核和小核。然而,我们发现现有的可扩展锁无法在AMP上扩展,并导致吞吐量或延迟或两者的崩溃,因为它们对对称核心的隐含假设不再成立。为了解决这个问题,我们提出了第一个名为LibASL的非对称感知可伸缩锁。LibASL提供了一种新的以应用延迟需求为导向的锁排序方法,允许在保持应用延迟需求的前提下,将大核与小核重新排序,以获得更高的吞吐量。使用LibASL只需要将应用程序与之链接,如果延迟关键,则插入几行代码来注释粗粒度的延迟要求。我们在各种基准测试中评估了LibASL,包括Apple M1上的五个流行数据库。评估结果表明,LibASL可以将吞吐量提高多达5倍,同时精确地保留应用程序指定的尾部延迟。
英文摘要:
The pursuit of power-efficiency is popularizing asymmetric multicore processors (AMP) such as ARM big.LITTLE, Apple M1 and recent Intel Alder Lake with big and little cores. However, we find that existing scalable locks fail to scale on AMP and cause collapses in either throughput or latency, or both, because their implicit assumption of symmetric cores no longer holds. To address this issue, we propose the first asymmetry-aware scalable lock named LibASL. LibASL provides a new lock ordering guided by applications' latency requirements, which allows big cores to reorder with little cores for higher throughput under the condition of preserving applications' latency requirements. Using LibASL only requires linking the applications with it and, if latency-critical, inserting few lines of code to annotate the coarse-grained latency requirement. We evaluate LibASL in various benchmarks including five popular databases on Apple M1. Evaluation results show that LibASL can improve the throughput by up to 5 times while precisely preserving the tail latency designated by applications.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。