loading...
Improving Region Selection in Dynamic Optimization Systems
Barcelona, Spain November 12-November 16
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MICRO.2005.2238th Annual IEEE/ACM International Sy ...
 This Article 
 
PDF
HTML
 
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
David Hiniker, Microsoft Corporation
Kim Hazelwood, University of Virginia
Michael D. Smith, Harvard University

The performance of a dynamic optimization system depends heavily on the code it selects to optimize. Many current systems follow the design of HP Dynamo and select a single interprocedural path, or trace, as the unit of code optimization and code caching. Though this approach to region selection has worked well in practice, we show that it is possible to adapt this basic approach to produce regions with greater locality, less needless code duplication, and fewer profiling counters. In particular, we propose two new region-selection algorithms and evaluate them against Dynamo?s selection mechanism, Next-Executing Tail (NET). Our first algorithm, Last-Executed Iteration (LEI), identifies cyclic paths of execution better than NET, improving locality of execution while reducing the size of the code cache. Our second algorithm allows overlapping traces of similar execution frequency to be combined into a single large region. This second technique can be applied to both NET and LEI, and we find that it significantly improves metrics of locality and memory overhead for each.

Citation:
David Hiniker, Kim Hazelwood, Michael D. Smith, "Improving Region Selection in Dynamic Optimization Systems," micro, pp.141-154, 38th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'05), 2005
Usage of this product signifies your acceptance of the Terms of Use.