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 2005Publication 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Atmel's ATmega128 Processor Online Document. http://www.atmel.com/dyn/resources/prod_documents/2467S.pdf. November 2004.Google ScholarGoogle Scholar
  5. V. Bala, E. Duesterwald, and S. Banerjia. Dynamo: A Transparent Dynamic Optimization System. Conf. on Programming Language Design and Implementation (PLDI). June 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. Debray and W. Evans. Profile-Guided Code Compression. Conf. on Programming Language Design and Implementation (PLDI). June 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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 Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. D. Deville, A. Galland, G. Grimaud, and S. Jean. Smart Card Operating Systems: Past, Present and Future. Fifth USENIX/NordU Conference. February 2003.Google ScholarGoogle Scholar
  11. K. Ebcioglu and E. R. Altman. DAISY: dynamic compilation for 100% architectural compatibility. Intl. Symp. on Computer Architecture (ISCA'97). June 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Infineon's SLE 88CFX4002P Smart Card Document. http://www.infineon.com/cmc_upload/documents/098/829/SPI_SLE88CFX4002P0104.pdf. January 2004.Google ScholarGoogle Scholar
  16. G. Kortuem, S. Fickas, and Z. Segall. On-Demand Delivery of Software in Mobile Environments. Nomadic Computing Workshop. April 1997.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  20. MediaBench. http://cares.icsl.ucla.edu/MediaBench.Google ScholarGoogle Scholar
  21. MiBench. http://www.eecs.umich.edu/mibench.Google ScholarGoogle Scholar
  22. Doug Palmer. A Virtual Machine Generator for Heterogeneous Smart Spaces. USENIX 3rd Virtual Machine Research and Technology Symposium (VM'04). May 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Pin Website. http://rogue.colorado.edu/Pin/.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. RSA SecurID 5100 Smart Card Online Document. http://www.rsasecurity.com/node.asp?id=1215. June 2004.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. F. Vacherand. New Emerging Technologies for Secure Chips and Smart Cards. The 3rd Intl. Micro and Nanotechnology Meeting (MINATEC). September 2003.Google ScholarGoogle Scholar
  29. E. Witchel and M. Rosenblum. Embra: Fast and Flexible Machine Simulation. Conf. on Measurement and Modeling of Computer Systems (SIGMETRICS'96). May 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Planning for code buffer management in distributed virtual execution environments

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • 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

      Copyright © 2005 ACM

      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]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 11 June 2005

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      Overall Acceptance Rate80of235submissions,34%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader