Commodity multicore systems are increasingly adopting hardware support that enables the system software to partition the last-level cache (LLC). This support makes it possible for the operating system (OS) or the Virtual Machine Monitor (VMM) to mitigate shared-resource contention effects on multicores by assigning different co-running applications to various cache partitions. Recently cache-clustering (or partition-sharing) strategies have emerged as a way to improve system throughput and fairness on new platforms with cache-partitioning support. As opposed to strict cache-partitioning, which allocates separate cache partitions to each application, cache-clustering allows partitions to be shared by a group of applications. In this article we propose LFOC+, a fairness-aware OS-level cache-clustering policy for commodity multicore systems. LFOC+ tries to mimic the behavior of the optimal cache-clustering solution for fairness, which we could obtain for different workload scenarios by using a simulation tool. Our dynamic cache-clustering strategy continuously gathers data from performance monitoring counters to classify applications at runtime based on the degree of cache sensitivity and contentiousness, and effectively separates cache-sensitive applications from aggressor programs to improve fairness, while providing acceptable system throughput. We implemented LFOC+ in the Linux kernel and evaluated it on a real system featuring an Intel Skylake processor, where we compare its effectiveness to that of four previously proposed cache-clustering policies. Our experimental analysis reveals that LFOC+ constitutes a lightweight OS-level policy and improves fairness relative to two other state-of-the-art fairness-aware strategies --Dunn and LFOC--, by up to 22\% and up to 20.6\%, respectively, and by 9\% and 4.9\% on average.
翻译:商用多核系统正越来越多地采用硬件支持,使系统软件能够对末级缓存(LLC)进行分区。这种支持使得操作系统(OS)或虚拟机监视器(VMM)能够通过将不同共运行应用程序分配到不同缓存分区,缓解共享资源争用对多核系统的影响。近年来,缓存聚类(即分区共享)策略已成为一种在新支持缓存分区的平台上提升系统吞吐量与公平性的方法。与严格缓存分区(为每个应用程序分配独立缓存分区)不同,缓存聚类允许一组应用程序共享分区。本文提出LFOC+,一种面向商用多核系统的公平性感知操作系统级缓存聚类策略。LFOC+尝试模拟最优缓存聚类方案在公平性方面的行为——我们通过模拟工具获取不同工作负载场景下的最优方案。我们的动态缓存聚类策略持续从性能监控计数器采集数据,根据缓存敏感度和争用程度在运行时对应用程序进行分类,有效将缓存敏感应用与攻击性程序分离以提升公平性,同时保持可接受的系统吞吐量。我们在Linux内核中实现LFOC+,并在采用英特尔Skylake处理器的真实系统上进行评估,将其效果与四种先前提出的缓存聚类策略进行对比。实验分析表明,LFOC+是一种轻量级操作系统级策略,相较于其他两种先进公平性感知策略——Dunn和LFOC,其公平性分别提升最高达22%和20.6%,平均提升9%和4.9%。