【6h】

Communist, Utilitarian, and Capitalist cache policies on CMPs: Caches as a shared resource

机译:CMP上的共产主义,功利主义和资本主义缓存策略:缓存作为共享资源

获取原文

摘要

As chip multiprocessors (CMPs) become increasingly mainstream, architects have likewise become more interested in how best to share a cache hierarchy among multiple simultaneous threads of execution. The complexity of this problem is exacerbated as the number of simultaneous threads grows from two or four to the tens or hundreds. However, there is no consensus in the architectural community on what 'best' means in this context. Some papers in the literature seek to equalize each thread's performance loss due to sharing, while others emphasize maximizing overall system performance. Furthermore, the specific effect of these goals varies depending on the metric used to define 'performance'. In this paper we label equal performance targets as Communist cache policies and overall performance targets as Utilitarian cache policies. We compare both of these models to the most common current model of a free-for-all cache (a Capitalist policy). We consider various performance metrics, including miss rates, bandwidth usage, and IPC, including both absolute and relative values of each metric. Using analytical models and behavioral cache simulation, we find that the optimal partitioning of a shared cache can vary greatly as different but reasonable definitions of optimality are applied. We also find that, although Communist and Utilitarian targets are generally compatible, each policy has workloads for which it provides poor overall performance or poor fairness, respectively. Finally, we find that simple policies like LRU replacement and static uniform partitioning are not sufficient to provide near-optimal performance under any reasonable definition, indicating that some thread-aware cache resource allocation mechanism is required.
机译:随着芯片多处理器(CMP)日益成为主流,架构师同样对如何最好地在多个同时执行线程之间共享缓存层次结构越来越感兴趣。随着并发线程数从两个或四个增加到数十个或数百个,此问题的复杂性更加严重。但是,在这种情况下,建筑界对于“最佳”的含义尚无共识。文献中的某些论文试图平衡由于共享而导致的每个线程的性能损失,而另一些论文则强调最大化整体系统性能。此外,这些目标的具体效果取决于用于定义“绩效”的指标。在本文中,我们将性能相同的目标标记为共产主义高速缓存策略,将总体性能目标标记为实用程序高速缓存策略。我们将这两种模型与免费缓存的最常用当前模型(资本主义政策)进行了比较。我们考虑各种性能指标,包括未命中率,带宽使用率和IPC,包括每个指标的绝对值和相对值。使用分析模型和行为缓存模拟,我们发现,共享缓存的最佳分区可能会因应用了不同但合理的最佳定义而有很大差异。我们还发现,尽管共产主义和功利主义的目标通常是兼容的,但是每个策略的工作负载分别提供了较差的整体性能或较差的公平性。最后,我们发现简单的策略(如LRU替换和静态统一分区)不足以在任何合理的定义下提供接近最佳的性能,这表明需要某种线程感知的缓存资源分配机制。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
站内服务
  • 论文查重
  • 论文收录引证报告
  • 文档翻译
  • 文档转换
获取原文

联系方式:18141920177 (微信同号)

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号