|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
International Symposium on Code Generation and Optimization (CGO'07)
Persistent Code Caching: Exploiting Code Reuse Across Executions and Applications
San Jose, California
March 11-March 14
ISBN: 0-7695-2764-7
| ASCII Text | x | ||
| Vijay Janapa Reddi, Dan Connors, Robert Cohn, Michael D. Smith, "Persistent Code Caching: Exploiting Code Reuse Across Executions and Applications," Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), pp. 74-88, International Symposium on Code Generation and Optimization (CGO'07), 2007. | |||
| BibTex | x | ||
| @article{ 10.1109/CGO.2007.29, author = {Vijay Janapa Reddi and Dan Connors and Robert Cohn and Michael D. Smith}, title = {Persistent Code Caching: Exploiting Code Reuse Across Executions and Applications}, journal ={Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)}, volume = {0}, year = {2007}, isbn = {0-7695-2764-7}, pages = {74-88}, doi = {http://doi.ieeecomputersociety.org/10.1109/CGO.2007.29}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - CONF JO - Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO) TI - Persistent Code Caching: Exploiting Code Reuse Across Executions and Applications SN - 0-7695-2764-7 SP74 EP88 A1 - Vijay Janapa Reddi, A1 - Dan Connors, A1 - Robert Cohn, A1 - Michael D. Smith, PY - 2007 KW - null VL - 0 JA - Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO) ER - | |||
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/CGO.2007.29
Run-time compilation systems are challenged with the task of translating a program?s instruction stream while maintaining low overhead. While software managed code caches are utilized to amortize translation costs, they are ineffective for programs with short run times or large amounts of cold code. Such program characteristics are prevalent in real-life computing environments, ranging from Graphical User Interface (GUI) programs to large-scale applications such as database management systems. Persistent code caching addresses these issues. It is described and evaluated in an industry-strength dynamic binary instrumentation system ? Pin. The proposed approach improves the intra-execution model of code reuse by storing and reusing translations across executions, thereby achieving inter-execution persistence. Dynamically linked programs leverage inter-application persistence by using persistent translations of library code generated by other programs. New translations discovered across executions are automatically accumulated into the persistent code caches, thereby improving performance over time. Inter-execution persistence improves the performance of GUI applications by nearly 90%, while inter-application persistence achieves a 59% improvement. In more specialized uses, the SPEC2K INT benchmark suite experiences a 26% improvement under dynamic binary instrumentation. Finally, a 400% speedup is achieved in translating the Oracle database in a regression testing environment.
Citation:
Vijay Janapa Reddi, Dan Connors, Robert Cohn, Michael D. Smith, "Persistent Code Caching: Exploiting Code Reuse Across Executions and Applications," cgo, pp.74-88, International Symposium on Code Generation and Optimization (CGO'07), 2007
Usage of this product signifies your acceptance of the Terms of Use.
