基于缓存引导的性能隔离缓存分配
Effective Cache Apportioning for Performance Isolation Under Compiler Guidance
摘要:
随着现代高性能服务器中内核数量的不断增加,有效共享末级缓存(LLC)比以往任何时候都更加重要。这些系统的主要目标是通过有效支持不同工作负载的多租户来最大限度地提高性能。然而,这在实践中可能特别具有挑战性,因为现代工作负载表现出动态阶段行为,这导致它们的缓存需求和敏感性在执行期间以更精细的粒度变化。不幸的是,现有系统对应用程序阶段行为不敏感,并且不能足够快地检测这些快速变化的高速缓存需求并做出反应,这通常会导致显著的性能下降。在本文中,我们提出了Com-CAS,一个新的分配系统,提供动态的高速缓存分配共同执行的应用程序。Com-CAS与现有的缓存分区系统不同,它能够及时适应应用程序的动态缓存需求,而不是在没有任何硬件修改的情况下做出反应。Com-CAS的前端由编译器分析组成,并配备机器学习机制来预测缓存需求,后端由主动调度程序组成,利用英特尔缓存分配技术(CAT)在协同执行的应用程序中动态分配LLC。Com-CAS的分区方案利用编译器生成的跨更细粒度的信息来预测快速变化的动态应用程序行为,同时保持数据局部性。我们的实验表明,Com-CAS提高了平均加权吞吐量的15%,比未分区的缓存系统,并优于国家的最先进的分区系统KPart的20%,同时保持最差的个人应用程序完成时间下降,以满足各种服务级别协议(SLA)的要求。
英文摘要:
With a growing number of cores in modern high-performance servers, effective sharing of the last level cache (LLC) is more critical than ever. The primary agenda of such systems is to maximize performance by efficiently supporting multi-tenancy of diverse workloads. However, this could be particularly challenging to achieve in practice, because modern workloads exhibit dynamic phase behaviour, which causes their cache requirements & sensitivities to vary at finer granularities during execution. Unfortunately, existing systems are oblivious to the application phase behavior, and are unable to detect and react quickly enough to these rapidly changing cache requirements, often incurring significant performance degradation. In this paper, we propose Com-CAS, a new apportioning system that provides dynamic cache allocations for co-executing applications. Com-CAS differs from the existing cache partitioning systems by adapting to the dynamic cache requirements of applications just-in-time, as opposed to reacting, without any hardware modifications. The front-end of Com-CAS consists of compiler-analysis equipped with machine learning mechanisms to predict cache requirements, while the back-end consists of proactive scheduler that dynamically apportions LLC amongst co-executing applications leveraging Intel Cache Allocation Technology (CAT). Com-CAS's partitioning scheme utilizes the compiler-generated information across finer granularities to predict the rapidly changing dynamic application behaviors, while simultaneously maintaining data locality. Our experiments show that Com-CAS improves average weighted throughput by 15% over unpartitioned cache system, and outperforms state-of-the-art partitioning system KPart by 20%, while maintaining the worst individual application completion time degradation to meet various Service-Level Agreement (SLA) requirements.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。