首页> 外文会议>Principles and practice of parallel programming >Does Cache Sharing on Modern CMP Matter to the Performance of Contemporary Multithreaded Programs?
【24h】

Does Cache Sharing on Modern CMP Matter to the Performance of Contemporary Multithreaded Programs?

机译:现代CMP上的缓存共享是否会影响当代多线程程序的性能?

获取原文

摘要

Most modern Chip Multiprocessors (CMP) feature shared cache on chip. For multithreaded applications, the sharing reduces communication latency among co-running threads, but also results in cache contention.A number of studies have examined the influence of cache sharing on multithreaded applications, but most of them have concentrated on the design or management of shared cache, rather than a systematic measurement of the influence. Consequently, prior measurements have been constrained by the reliance on simulators, the use of out-of-date benchmarks, and the limited coverage of deciding factors. The influence of CMP cache sharing on contemporary multithreaded applications remains preliminarily understood.In this work, we conduct a systematic measurement of the influence on two kinds of commodity CMP machines, using a recently released CMP benchmark suite, PARSEC, with a number of potentially important factors on program, OS, and architecture levels considered. The measurement shows some surprising results. Contrary to commonly perceived importance of cache sharing, neither positive nor negative effects from the cache sharing are significant for most of the program executions, regardless of the types of parallelism, input datasets, architectures, numbers of threads, and assignments of threads to cores. After a detailed analysis, we find that the main reason is the mismatch of current development and compilation of multithreaded applications and CMP architectures. By transforming the programs in a cache-sharing-aware manner, we observe up to 36% performance increase when the threads are placed on cores appropriately.
机译:大多数现代芯片多处理器(CMP)均具有片上共享缓存。对于多线程应用程序,共享减少了并发运行线程之间的通信延迟,但也导致了缓存争用。 许多研究检查了缓存共享对多线程应用程序的影响,但大多数研究都集中在共享缓存的设计或管理上,而不是系统地评估影响。因此,先前的测量受到了对模拟器的依赖,过时的基准的使用以及决定因素的有限范围的限制。 CMP缓存共享对当代多线程应用程序的影响仍然是初步了解的。 在这项工作中,我们使用最近发布的CMP基准测试套件PARSEC对两种商品CMP机器的影响进行了系统的测量,并考虑了程序,操作系统和体系结构级别上的许多潜在重要因素。测量显示出一些令人惊讶的结果。与通常认为的缓存共享的重要性相反,无论并行性的类型,输入数据集,体系结构,线程数量以及线程对内核的分配如何,对于大多数程序执行而言,缓存共享所产生的积极影响和消极影响都不重要。经过详细的分析,我们发现主要原因是当前开发和编译的多线程应用程序和CMP体系结构不匹配。通过以支持缓存共享的方式转换程序,我们可以发现,当将线程适当地放置在内核上时,性能最多可提高36%。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号