Detailed cache simulation for detecting bottleneck, miss reason and optimization potentialities

Detailed cache simulation for detecting bottleneck, miss reason and optimization potentialities
复制标题

详细的缓存模拟,用于检测瓶颈、缺失原因和优化潜力

DOI:
--
复制
发表时间:
2006
期刊:
ValueTools
影响因子:
--
通讯作者:
Wolfgang Karl
Wolfgang Karl
中科院分区:
--
文献类型:
--
作者:
J. Tao;Wolfgang Karl

文献摘要

被引文献

相似文献

缓存局部性优化是减少现代处理器等待所需数据的空闲时间的有效方法。这种优化可以在程序员或编译器方面通过代码级优化来实现,也可以通过适当的方案在系统级实现,例如可重新配置的缓存组织和适当的预取或替换策略。对于前者,用户需要知道问题、原因和解决方案,而对于后者,需要一个平台来评估所提出的新方法。由于现有的仿真系统不提供此类信息和平台,我们实现了一个缓存模拟器,它可以对完整的缓存层次结构和相关技术进行建模。更具体地说,它分析了缓存未命中的特征,并提供有关运行时对数据结构的访问和缓存访问行为的信息。与可视化工具一起,这些信息使用户能够检测访问热点以及解决这些热点的优化策略。为了支持有关缓存配置和管理的不同技术的研究,该模拟器模拟了各种缓存行替换和预取策略,并允许用户指定任何缓存组织,包括缓存大小、缓存集大小、块大小和关联性。因此,模拟器形成了一个研究平台,用于研究这些技术对应用程序执行行为的影响。
Cache locality optimization is an efficient way for reducing the idle time of modern processors in waiting for needed data. This kind of optimization can be achieved either on the side of programmers or compilers with code level optimization or at system level through appropriate schemes, like reconfigurable cache organization and adequate prefetching or replacement strategies. For the former users need to know the problem, the reason, and the solution, while for the latter a platform is required for evaluating proposed and novel approaches.As existing simulation systems do not provide such information and platforms, we implemented a cache simulator that models the complete cache hierarchy and associated techniques. More specifically, it analyzes the feature of cache miss and provides information about the runtime accesses to data structures and the cache access behavior. Together with a visualization tool, this information enables the user to detect access hotspots and optimization strategies for tackling them. For supporting the study of different techniques with respect to cache configuration and management, this simulator models a variety of cache line replacement and prefetching policies, and allows the user to specify any cache organization, including cache size, cache set size, block size, and associativity. The simulator hence forms a research platform for investigating the influence of these techniques on the execution behavior of applications.