MAPPER: Managing Application Performance via Parallel Efficiency Regulation

MAPPER: Managing Application Performance via Parallel Efficiency Regulation
复制标题

DOI:
10.1145/3501767
复制
发表时间:
2022-06-01
影响因子:
1.6
通讯作者:
Das,Sandhya Dwarka
Das,Sandhya Dwarka
中科院分区:
计算机科学3区
文献类型:
--
作者:
Srikanthan,Sharanyan;Chakraborti,Sayak;Das,Sandhya Dwarka

文献摘要

被引文献

相似文献

最先进的系统,无论是服务器还是台式机,都提供了充足的计算和存储资源,以允许多个同时执行的潜在并行应用程序。然而,性能往往是不可预测的,是一个功能的算法设计,资源分配的选择,和硬件资源limitations.In这篇文章中,我们介绍了MAPPER,通过并行效率调节应用程序的性能管理器。MAPPER使用特权守护进程来监视(使用硬件性能计数器),并通过做出两个耦合的决策来协调所有参与的应用程序:允许每个应用程序在保证服务质量(QoS)的同时提高系统效率的并行度,以及在哪些特定CPU核上调度应用程序。QoS度量可以由应用程序选择,并且可以是执行时间,吞吐量,或尾部延迟,相对于机器上可实现的最大性能。我们证明,使用一个规范化的并行效率指标,允许应用程序之间的比较和合作,以保证其所需的QoS。虽然MAPPER可以在没有应用程序或运行时修改的情况下使用,但使用简单的接口来传达应用程序级知识可以提高MAPPER的效率。通过在机器上公平共享资源,使用IPC的85%的QoS保证,MAPPER相对于未修改的Linux和运行时系统实现了高达3.3的加速比,在我们的测试用例中平均提高了17%。与此同时,MAPPER只对2%的应用程序违反QoS(相比之下,Linux的这一比例为23%),而对最坏情况的限制要严格得多。MAPPER通过任务到CPU的放置来缓解硬件瓶颈,并将更多的CPU上下文分配给表现出更高并行效率的应用程序,同时保证QoS,从而实现单个应用程序性能的可预测性和整体系统效率。
State-of-the-art systems, whether in servers or desktops, provide ample computational and storage resources to allow multiple simultaneously executing potentially parallel applications. However, performance tends to be unpredictable, being a function of algorithmic design, resource allocation choices, and hardware resource limitations.In this article, we introduce MAPPER, a manager of application performance via parallel efficiency regulation. MAPPER uses a privileged daemon to monitor (using hardware performance counters) and coordinate all participating applications by making two coupled decisions: the degree of parallelism to allow each application to improve system efficiency while guaranteeing quality of service (QoS), and which specific CPU cores to schedule applications on. The QoS metric may be chosen by the application and could be in terms of execution time, throughput, or tail latency, relative to the maximum performance achievable on the machine. We demonstrate that using a normalized parallel efficiency metric allows comparison across and cooperation among applications to guarantee their required QoS. While MAPPER may be used without application or runtime modification, use of a simple interface to communicate application-level knowledge improves MAPPER’s efficacy. Using a QoS guarantee of 85% of the IPC achieved with a fair share of resources on the machine, MAPPER achieves up to 3.3speedup relative to unmodified Linux and runtime systems, with an average improvement of 17% in our test cases. At the same time, MAPPER violates QoS for only 2% of the applications (compared to 23% for Linux), while placing much tighter bounds on the worst case. MAPPER relieves hardware bottlenecks via task-to-CPU placement and allocates more CPU contexts to applications that exhibit higher parallel efficiency while guaranteeing QoS, resulting in both individual application performance predictability and overall system efficiency.