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.
翻译:由于现代高性能服务器的核心核心数量不断增加,有效共享最后一级缓存(LLC)比以往任何时候都更加关键。这些系统的首要议程是通过高效支持多种工作量的多重保存来最大限度地提高性能。然而,这在实践上可能特别具有挑战性,因为现代工作量表现出动态阶段行为,导致其缓存要求和敏感度随细颗粒在执行期间的变化而变化。不幸的是,现有系统对应用阶段行为不甚了解,无法对这些迅速变化的缓存要求进行检测和反应,而且往往导致显著的性能退化。在本文件中,我们提议建立ComCAS,这是一个新的分配系统,为共同执行应用程序提供动态缓存分配分配。Com-CAS不同于现有的缓存分配系统,因为现代工作量表现了应用的动态缓存要求,而不是在不作任何硬件修改的情况下作出反应。Com-CAS,前端是配有机器学习机制来预测缓存要求的汇编者分析,而后端则由主动的列表组成,将LCEDRU性地在共同执行系统之间分配不固定的缓存系统,同时利用 Intel-al-altravelrial Stal Teal Proportsal dal dal 系统,同时利用我们平动的系统, ASaltravelopmental Tal Taldaldal AS-stal