skip to main content
10.1145/1064979.1064994acmconferencesArticle/Chapter ViewAbstractPublication PagesveeConference Proceedingsconference-collections
Article

Planning for code buffer management in distributed virtual execution environments

Published: 11 June 2005 Publication History

Abstract

Virtual execution environments have become increasingly useful in system implementation, with dynamic translation techniques being an important component for performance-critical systems. Many devices have exceptionally tight performance and memory constraints (e.g., smart cards and sensors in distributed systems), which require effective resource management. One approach to manage code memory is to download code partitions on-demand from a server and to cache the partitions in the resource-constrained device (client). However, due to the high cost of downloading code and re-translation, it is critical to intelligently manage the code buffer to minimize the overhead of code buffer misses. Yet, intelligent buffer management on the tightly constrained client can be too expensive. In this paper, we propose to move code buffer management to the server, where sophisticated schemes can be employed. We describe two schemes that use profiling information to direct the client in caching code partitions. One scheme is designed for workloads with stable run-time behavior, while the other scheme adapts its decisions for workloads with unstable behaviors. We evaluate and compare our schemes and show they perform well, compared to other approaches, with the adaptive scheme having the best performance overall.

References

[1]
T. Abdelzaher et al. EnviroTrack: Towards an Environmental Computing Paradigm for Distributed Sensor Networks. IEEE Intl. Conf. on Distributed Computing Systems. March 2004.
[2]
M. Arnold, S. Fink, D. Grove, M. Hind, and P. F. Sweeney. Adaptive Optimization in the Jalapeño. Conf. on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA '00). October 2000.
[3]
M. Arnold and B. G. Ryder. A Framework for Reducing the Cost of Instrumented Code. Conf. on Programming Language Design and Implementation (PLDI'01). June 2001.
[4]
Atmel's ATmega128 Processor Online Document. http://www.atmel.com/dyn/resources/prod_documents/2467S.pdf. November 2004.
[5]
V. Bala, E. Duesterwald, and S. Banerjia. Dynamo: A Transparent Dynamic Optimization System. Conf. on Programming Language Design and Implementation (PLDI). June 2000.
[6]
D. Bruening, T. Garnett, and S. Amarasinghe. An Infrastructure for Adaptive Dynamic Optimization. Intl. Symp. on Code Generation and Optimization (CGO'03). March 2003.
[7]
S. Debray and W. Evans. Profile-Guided Code Compression. Conf. on Programming Language Design and Implementation (PLDI). June 2002.
[8]
J. C. Dehnert et al. The Transmeta Code Morphing Software: Using Speculation, Recovery, and Adaptive Retranslation to Address Real-Life Challenges. Intl. Symp. on Code Generation and Optimization (CGO'03). March 2003
[9]
G. Desoli, N. Mateev, E. Duesterwald, P. Faraboschi and J. A. Fiser. DELI: A New Run-Time Control Point. Proceedings of the 35th Annual Intl. Symp.on Microarchitecture (MICRO-35). November 2002.
[10]
D. Deville, A. Galland, G. Grimaud, and S. Jean. Smart Card Operating Systems: Past, Present and Future. Fifth USENIX/NordU Conference. February 2003.
[11]
K. Ebcioglu and E. R. Altman. DAISY: dynamic compilation for 100% architectural compatibility. Intl. Symp. on Computer Architecture (ISCA'97). June 1997.
[12]
K. Hazelwood and M. D. Smith. Code Cache Management Schemes for Dynamic Optimizers. Sixth Annual Workshop on Interaction between Compilers and Computer Architectures. February 2002.
[13]
K. Hazelwood and M. D. Smith. Characterizing Inter- Execution and Inter-Application Optimization Persistence. Workshop on Exploring the Trace Space for Dynamic Optimization Techniques. June 2003.
[14]
K. Hazelwood and M. D. Smith. Generational Cache Management of Code Traces in Dynamic Optimization Systems. Proceedings of the 36th Annual Intl. Symp. on Microarchitecture (MICRO-36). December 2003.
[15]
Infineon's SLE 88CFX4002P Smart Card Document. http://www.infineon.com/cmc_upload/documents/098/829/SPI_SLE88CFX4002P0104.pdf. January 2004.
[16]
G. Kortuem, S. Fickas, and Z. Segall. On-Demand Delivery of Software in Mobile Environments. Nomadic Computing Workshop. April 1997.
[17]
C. Lattner and V. Adve. LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation. Intl. Symp. on Code Generation and Optimization (CGO'04). March 2004.
[18]
D. E. Lowell, Y. Saito, and E. J. Samberg. Devirtualizable Virtual Machines Enabling General, Single-Node, Online Maintenance. Proceedings of the 11th Intl. Conf. on Architectural Support for Programming Languages and Operating Systems (ASPLOS'04). October 2004.
[19]
J. Maebe, M. Ronsse, and K. De Bosschere. DIOTA: Dynamic Instrumentation, Optimization and Transformation of Applications. Compendium of Workshops and Tutorials Held in conjunction with Intl. Conf. on Parallel Architectures and Compilation Techniques. September 2002.
[20]
MediaBench. http://cares.icsl.ucla.edu/MediaBench.
[21]
MiBench. http://www.eecs.umich.edu/mibench.
[22]
Doug Palmer. A Virtual Machine Generator for Heterogeneous Smart Spaces. USENIX 3rd Virtual Machine Research and Technology Symposium (VM'04). May 2004.
[23]
Pin Website. http://rogue.colorado.edu/Pin/.
[24]
L. Popa, C. Raiciu, R. Teodorescu, I. Athanasiu, and R. Pandey. Using Code Collection to Support Large Applications on Mobile Devices. Proceedings of the 10th Annual Intl. Conf. on Mobile Computing and Networking (Mobicom'04). September 2004.
[25]
RSA SecurID 5100 Smart Card Online Document. http://www.rsasecurity.com/node.asp?id=1215. June 2004.
[26]
E. Schnarr, M. Hill, and J. Larus. Facile: A Language and Compiler For High-Performance Processor Simulators. Conf. on Programming Language Design and Implementation (PLDI'01). June 2001.
[27]
K. Scott, N. Kumar, S. Velusamy, B. Childers, J. Davidson, and M. L. Soffa. Reconfigurable and Retargetable Software Dynamic Translation. Intl. Symp. on Code Generation and Optimization (CGO'03). March 2003.
[28]
F. Vacherand. New Emerging Technologies for Secure Chips and Smart Cards. The 3rd Intl. Micro and Nanotechnology Meeting (MINATEC). September 2003.
[29]
E. Witchel and M. Rosenblum. Embra: Fast and Flexible Machine Simulation. Conf. on Measurement and Modeling of Computer Systems (SIGMETRICS'96). May 1996.
[30]
L. Zhang and C. Krintz. Adaptive Code Unloading for Resoruce-Constrained JVMs. Conf. on Languages, Compilers, and Tools for Embedded Systems (LCTES'04). June 2004.
[31]
T. Zhang, S. Pande, A. Santos, and F. J. Bruecklmayr. Leakage-Proof Program Partitioning. Conf. on Compilers, Architectures and Synthesis for Embedded Systems (CASES'02). October 2002.
[32]
T. Zhang, S. Pande, and A. Valverde. Tamper-Resistant Whole Program Partitioning. Conf. on Languages, Compilers, and Tools for Embedded Systems (LCTES'03). June 2003.
[33]
S. Zhou, B. R. Childers, N. Kumar. Profile Guided Management of Code Partitions for Embedded Systems. Conf. on Design, Automation and Test in Europe (DATE'04). February 2004.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
VEE '05: Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments
June 2005
216 pages
ISBN:1595930477
DOI:10.1145/1064979
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 June 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. adaptive code cache
  2. code buffer
  3. distributed environments
  4. dynamic translation
  5. generational cache
  6. program partitioning

Qualifiers

  • Article

Conference

VEE05

Acceptance Rates

Overall Acceptance Rate 80 of 235 submissions, 34%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media