Vantage: Scalable and efficient fine-grain cache partitioning

Vantage: Scalable and efficient fine-grain cache partitioning
复制标题

DOI:
10.1145/2000064.2000073
复制
发表时间:
2011-06
期刊:
2011 38th Annual International Symposium on Computer Architecture (ISCA)
影响因子:
--
通讯作者:
Daniel Sánchez;Christos Kozyrakis
Daniel Sánchez;Christos Kozyrakis
中科院分区:
其他
文献类型:
--
作者:
Daniel Sánchez;Christos Kozyrakis

文献摘要

被引文献

相似文献

缓存分区在cmp中有广泛的用途,从保证服务质量和受控共享到与安全相关的技术。但是,现有的缓存分区方案(例如way-partitioning)仅限于粗粒度分配,只能支持很少的分区,并且降低了缓存关联性,损害了性能。因此,这些技术只能应用于2-4核的cmp,而不能扩展到数十核。我们提出了一种新的缓存分区技术Vantage,它克服了现有方案的局限性:缓存可以有数十个分区,其大小按缓存线粒度指定,同时保持分区之间的高关联性和强隔离性。Vantage利用具有良好散列和关联性的缓存数组,这使得软固定大部分缓存行成为可能。它通过控制替换过程来强制容量分配。与以前的模式不同,Vantage通过分区大部分(例如90%)缓存而不是全部缓存来提供严格的隔离保证。Vantage来自于分析模型,它允许我们提供强大的保证和约束,而不依赖于分区的数量和它们的行为。它很容易实现,只需要大约1.5%的状态开销和对缓存控制器的简单更改。我们使用广泛的模拟来评估Vantage。在32核系统上,使用350个多编程工作负载和每个核一个分区,与未分区的缓存相比,使用传统技术对最后一级缓存进行分区会使71%的工作负载的吞吐量降低(平均降低7%,最大降低25%),即使使用64路缓存也是如此。相比之下,Vantage使用4路缓存将98%的工作负载的吞吐量平均提高了8%(最高20%)。
Cache partitioning has a wide range of uses in CMPs, from guaranteeing quality of service and controlled sharing to security-related techniques. However, existing cache partitioning schemes (such as way-partitioning) are limited to coarse-grain allocations, can only support few partitions, and reduce cache associativity, hurting performance. Hence, these techniques can only be applied to CMPs with 2-4 cores, but fail to scale to tens of cores. We present Vantage, a novel cache partitioning technique that overcomes the limitations of existing schemes: caches can have tens of partitions with sizes specified at cache line granularity, while maintaining high associativity and strong isolation among partitions. Vantage leverages cache arrays with good hashing and associativity, which enable soft-pinning a large portion of cache lines. It enforces capacity allocations by controlling the replacement process. Unlike prior schemes, Vantage provides strict isolation guarantees by partitioning most (e.g. 90%) of the cache instead of all of it. Vantage is derived from analytical models, which allow us to provide strong guarantees and bounds on associativity and sizing independent of the number of partitions and their behaviors. It is simple to implement, requiring around 1.5% state overhead and simple changes to the cache controller. We evaluate Vantage using extensive simulations. On a 32-core system, using 350 multi programmed workloads and one partition per core, partitioning the last-level cache with conventional techniques degrades throughput for 71 % of the workloads versus an unpartitioned cache (by 7% average, 25% maximum degradation), even when using 64-way caches. In contrast, Vantage improves throughput for 98% of the workloads, by 8% on average (up to 20%), using a 4-way cache.