Publications (2)0 Total impact
-
Conference Proceeding: Dynamic code management: improving whole program code locality in managed runtimes.
Proceedings of the 2nd International Conference on Virtual Execution Environments, VEE 2006, Ottawa, Ontario, Canada, June 14-16, 2006; 01/2006 -
Article: Dynamic code management
[show abstract] [hide abstract]
ABSTRACT: Poor code locality degrades application performance, especially for large programs such as server applications, by increasing the memory stalls caused by instruction TLB and instruction cache misses. This locality problem is a particular issue for languages such as Java and C# that provide just-in-time (JIT) compilation, dynamic class loading, and dynamic recompilation. Managed runtimes for these languages offer the opportunity to dynamically profile an application's execu-tion and adapt that execution to improve performance. This paper de-scribes the dynamic code management system (DCM) of our managed runtime that uses dynamic profile information to reorder JIT-compiled code when necessary to improve locality. To place method code, our DCM system supports the widely-used Pettis-Hansen procedure placement algorithm. In addition to this al-gorithm, we also developed and implemented three new placement algorithms. Our new algorithms can run up to 6000 times faster than the Pettis-Henson algorithm and still achieve the same or better per-formance improvement, which makes them more suitable for use in high-performance managed runtimes. The new algorithms specifi-cally target ITLB misses, which typically have the greatest impact on performance. Using the DCM, we demonstrate a 6% performance improvement with our new Graph-Walking layout algorithm for the large MiniBean benchmark, a single-process version of the SPECjAppServer2002 1 enterprise application server benchmark. This performance is 4% bet-ter than that provided by Pettis-Hansen placement. Furthermore, in-stead of the prohibitively expensive 35 minutes Pettis-Hansen layout requires, Graph-Walking layout needs just 0.35 second (6000 times faster)., findings and conclusions ex-pressed herein are the authors and do not necessarily reflect those of the sponsors. 1 We use the SPEC benchmarks only as benchmarks to compare the performance of the various techniques within our own VM. We are not using them to compare our VM to any other VM and are not pub-lishing SPEC metrics of any kind.07/2002;
Institutions
-
2
-
University of Texas at Austin
Port Aransas, TX, USA
-