首页> 外文学位 >Code cache management in dynamic optimization systems.
【24h】

Code cache management in dynamic optimization systems.

机译:动态优化系统中的代码缓存管理。

获取原文
获取原文并翻译 | 示例

摘要

Dynamic optimization systems store optimized or translated code in software-managed code caches in order to maximize reuse of transformed code. Code caches store superblocks that are not fixed in size, may contain links to other superblocks, and carry a high replacement overhead. These additional constraints reduce the effectiveness of conventional cache management policies. This dissertation investigates the code cache management problem in dynamic optimization systems and presents three major advances that cover the design space of cache management decisions.;Through code cache simulations, we show that a FIFO replacement policy outperforms other traditional policies, as it enables contiguous cache evictions, allows for a simple circular buffer implementation, and results in comparable cache miss rates to LRU. Furthermore, a pseudo-circular FIFO algorithm is presented, which handles the problem of un-deletable cache blocks.;An investigation of cache eviction granularities also reveals that evicting more than the minimum number of superblocks from the code cache at a time results in less run-time overhead than other alternatives. In high cache pressure situations, the choice of medium-granularity evictions translates into a significant reduction in overall execution time versus both fine and coarse granularities, as the fixed costs of invoking the eviction mechanism can be amortized across multiple cache insertions.;A study of the ideal lifetimes of superblocks in a code cache motivates the design of a global cache management algorithm that leverages generational heuristics to provide for separate code caches for short- and long-lived superblocks. Using this algorithm, short-lived superblocks can easily be removed from a code cache without introducing fragmentation and without suffering the performance penalties associated with evicting long-lived superblocks. The generational code cache algorithm results in an average miss rate reduction of 18% over a unified cache, which translates into 19% fewer instructions spent in the dynamic optimizer.;Finally, an implementation of generational code caches in the DynamoRIO framework reveals important design decisions that affect the performance of code cache management policies, such as support for relocatable code, lightweight link adjustment, and lightweight profiling insertion and removal. As dynamic optimization systems become more prevalent, effective code cache management policies will be essential to reliable, scalable performance. This dissertation presents the first steps in the direction of understanding the behavior of code caches and designing effective code cache replacement policies for modern applications, and opens the doors for follow-up research on cache insertion policies, phase detection, and persistent caches.
机译:动态优化系统将优化或转换后的代码存储在软件管理的代码缓存中,以最大程度地重用转换后的代码。代码缓存存储大小不固定的超级块,可能包含指向其他超级块的链接,并带来较高的替换开销。这些额外的限制降低了常规缓存管理策略的有效性。本文研究了动态优化系统中的代码缓存管理问题,并提出了涵盖缓存管理决策设计空间的三个主要进展。通过代码缓存仿真,我们证明了FIFO替换策略优于其他传统策略,因为它支持连续缓存逐出,允许简单的循环缓冲区实现,并导致与LRU相当的缓存未命中率。此外,提出了一种伪循环FIFO算法,该算法处理了无法删除的高速缓存块的问题。对高速缓存逐出粒度的研究还表明,一次从代码高速缓存中逐出超过最小数量的超级块会减少运行时开销比其他方法大。在高速缓存压力较高的情况下,中等粒度逐出的选择可显着减少总体执行时间(相对于细粒度和粗粒度而言),因为调用逐出机制的固定成本可以在多个高速缓存插入中摊销。代码高速缓存中超级块的理想生存期激发了全局高速缓存管理算法的设计,该算法利用世代启发法为短期和长期超级块提供单独的代码高速缓存。使用此算法,可以轻松地将短寿命的超级块从代码缓存中删除,而不会引入碎片,也不会遭受与淘汰长寿命的超级块相关的性能损失。分代代码缓存算法与统一缓存相比,平均错失率降低了18%,这意味着在动态优化器中使用的指令减少了19%。最后,在DynamoRIO框架中实现了分代代码缓存揭示了重要的设计决策会影响代码缓存管理策略的性能,例如对可重定位代码的支持,轻量级链接调整以及轻量级配置文件的插入和删除。随着动态优化系统变得越来越普遍,有效的代码缓存管理策略对于可靠,可扩展的性能将至关重要。本文介绍了了解代码缓存行为并为现代应用程序设计有效的代码缓存替换策略的第一步,并为后续研究缓存插入策略,阶段检测和持久缓存打开了大门。

著录项

  • 作者

    Cettei, Kim Hazelwood.;

  • 作者单位

    Harvard University.;

  • 授予单位 Harvard University.;
  • 学科 Computer Science.
  • 学位 Ph.D.
  • 年度 2004
  • 页码 140 p.
  • 总页数 140
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号