Multicore processors constitute the main architecture choice for modern computing systems in different market segments. Despite their benefits, the contention that naturally appears when multiple applications compete for the use of shared resources among cores, such as the last-level cache (LLC), may lead to substantial performance degradation. This may have a negative impact on key system aspects such as throughput and fairness. Assigning the various applications in the workload to separate LLC partitions with possibly different sizes, has been proven effective to mitigate shared-resource contention effects. In this article we propose LFOC, a clustering-based cache partitioning scheme that strives to deliver fairness while providing acceptable system throughput. LFOC leverages the Intel Cache Allocation Technology (CAT), which enables the system software to divide the LLC into different partitions. To accomplish its goals, LFOC tries to mimic the behavior of the optimal cache-clustering solution, which we could approximate by means of a simulator in different scenarios. To this end, LFOC effectively identifies streaming aggressor programs and cache sensitive applications, which are then assigned to separate cache partitions. 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 two state-of-the-art policies that optimize fairness and throughput, respectively. Our experimental analysis reveals that LFOC is able to bring a higher reduction in unfairness by leveraging a lightweight algorithm suitable for adoption in a real OS.
翻译:多核处理器是现代计算系统在不同市场领域中的主要架构选择。尽管其具有优势,但多个应用程序竞争核间共享资源(如最后一级缓存)时自然产生的争用可能导致显著的性能下降。这可能对系统关键方面(如吞吐量和公平性)产生负面影响。将工作负载中的不同应用程序分配到可能具有不同大小的独立最后一级缓存分区中,已被证明能有效缓解共享资源争用效应。本文提出LFOC——一种基于聚类的缓存划分方案,旨在在提供可接受系统吞吐量的同时实现公平性。LFOC利用英特尔缓存分配技术,使系统软件能够将最后一级缓存划分为不同分区。为实现目标,LFOC试图模仿最优缓存聚类解决方案的行为,我们可通过模拟器在不同场景下近似该方案。为此,LFOC有效识别流式攻击程序和对缓存敏感的应用程序,随后将其分配到独立的缓存分区中。我们在Linux内核中实现了LFOC,并在配备英特尔Skylake处理器的真实系统上进行了评估,将其效果与分别优化公平性和吞吐量的两种最新策略进行对比。实验分析表明,LFOC通过采用适合实际操作系统部署的轻量级算法,能够更大幅度地降低不公平性。