skip to main content
10.1145/1328408.1328433acmconferencesArticle/Chapter ViewAbstractPublication PagespepmConference Proceedingsconference-collections
research-article

Jones optimality and hardware virtualization: a report on work in progress

Published: 07 January 2008 Publication History

Abstract

The growing popularity of hardware virtualization (VMware and Xen being two prominent implementations) leads us to examine the common ground between this yet-again vibrant technology and partial evaluation. A virtual machine executes on host hardware and presents to its guest program a replica of that host environment, complete with CPU, memory, and I/O devices. A virtual machine can be seen as a self-interpreter.
A program specializer is considered Jones-optimal if it is capable of removing a layer of interpretational overhead. We propose a formulation of Jones optimality which coincides with a well-known virtualization efficiency criterion.
A fully abstract programming language translation (an idea put forward by Abadi) is one that preserves program equivalences. We may translate a program by specializing a self-interpreter with respect to it. We argue that full abstraction for such translations captures the notion of transparency (whether or not a program can determine if it is running on a virtual machine) in virtual machine folklore.
We hope that this discussion will encourage wider exchange of ideas between the virtualization and partial evaluation communities.

References

[1]
VMware Website. http://www.vmware.com/.
[2]
Martín Abadi. Protection in programming-language translations. In Proceedings of ICALP, volume 1443 of LNCS, pages 868--883, 1998.
[3]
Keith Adams and Ole Agesen. A comparison of software and hardware techniques for x86 virtualization. In Proceedings of ASPLOS, pages 2--13, 2006.
[4]
Andrew W. Appel. Foundational proof-carrying code. In Proceedings of LICS, 2001.
[5]
Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, and Andrew Warfield. Xen and the art of virtualization. In Proceedings of SOSP, pages 164--177, 2003.
[6]
Bryan Cantrill, Michael W. Shapiro, and Adam H. Leventhal. Dynamic instrumentation of production systems. In Proceedings of USENIX ATC, pages 15--28, 2004.
[7]
Olivier Danvy and Pablo E. Martínez López. Tagging, encoding, and Jones optimality. In Proceedings of ESOP, volume 2618 of LNCS, pages 335- 347, 2003.
[8]
Johan Gade and Robert Glück. On Jones-optimal specializers: A case study using Unmix. In Proceedings of APLAS, volume 4279 of LNCS, pages 406--422, 2006.
[9]
Tal Garfinkel, Keith Adams, Andrew Warfield, and Jason Franklin. Compatibility is not transparency: VMM detection myths and realities. In Proceedings of HotOS, 2007.
[10]
Robert Glück. The translation power of the Futamura projections. In Perspectives of Systems Informatics, volume 2890 of LNCS, pages 133--147, 2003.
[11]
Neil D. Jones. Challenging problems in partial evaluation and mixed computation. New Generation Comput., 6(2&3):291--302, 1988.
[12]
Neil D. Jones. Transformation by interpreter specialisation. Science of Computer Programming, 52:307--339, 2004.
[13]
Neil D. Jones, Carsten K. Gomard, and Peter Sestoft. Partial Evaluation and Automatic Program Generation. Prentice Hall, 1993.
[14]
Andrew Kennedy. Securing the .NET programming model. Theoretical Computer Science, 364(3):311--317, 2006.
[15]
Henning Makholm. On Jones-optimal specialization for strongly typed languages. In Proceedings of SAIG, volume 1924 of LNCS, pages 129--148, 2000.
[16]
John C. Mitchell. On abstraction and the expressive power of programming languages. Science of Computer Programming, 21(2):141--163, 1993.
[17]
George C. Necula. Proof-carrying code. In Proceedings of POPL, pages 106--119, 1997.
[18]
Gil Neiger, Amy Santoni, Felix Leung, Dion Rodgers, and Rich Uhlig. Intel Virtualization Technology: Hardware support for efficient processor virtualization. Intel Technology Journal, 10(3):167--177, 2006. http://dx.doi.org/10.1535/itj.1003.01.
[19]
Nicholas Nethercote and Julian Seward. Valgrind: a framework for heavy-weight dynamic binary instrumentation. In Proceedings of PLDI, pages 89--100, 2007.
[20]
Gerald J. Popek and Robert P. Goldberg. Formal requirements for virtualizable third generation architectures. Communications of the ACM, 17(7): 412--421, 1974.
[21]
John C. Reynolds. Definitional interpreters for higher-order programming languages. Higher-Order and Symbolic Computation, 11(4):363--397, 1998. Reprint of a 1972 paper.
[22]
John Scott Robin and Cynthia E. Irvine. Analysis of the Intel Pentium's ability to support a secure virtual machine monitor. In Proceedings of USENIX Security Symposium, 2000.
[23]
Jeffrey Mark Siskind and Barak A. Pearlmutter. First-class nonstandard interpretations by opening closures. In Proceedings of POPL, pages 71--76, 2007.
[24]
James E. Smith and Ravi Nair. Virtual machines: versatile platforms for systems and processes. Morgan Kaufmann, 2005.
[25]
Ken Thompson. Reflections on trusting trust. Communications of the ACM, 27(8):761--763, 1984.

Cited By

View all
  • (2017)Jones-optimal partial evaluation by specialization-safe normalizationProceedings of the ACM on Programming Languages10.1145/31581022:POPL(1-28)Online publication date: 27-Dec-2017
  • (2010)Formally efficient program instrumentationProceedings of the First international conference on Runtime verification10.5555/1939399.1939421(245-252)Online publication date: 1-Nov-2010
  • (2010)Language virtualization for heterogeneous parallel computingACM SIGPLAN Notices10.1145/1932682.186952745:10(835-847)Online publication date: 17-Oct-2010
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PEPM '08: Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
January 2008
214 pages
ISBN:9781595939777
DOI:10.1145/1328408
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: 07 January 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Jones optimality
  2. full abstraction
  3. virtual machines
  4. virtualization

Qualifiers

  • Research-article

Conference

PEPM08
PEPM08: Partial Evaluation and Program Manipulation
January 7 - 8, 2008
California, San Francisco, USA

Acceptance Rates

Overall Acceptance Rate 66 of 120 submissions, 55%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2017)Jones-optimal partial evaluation by specialization-safe normalizationProceedings of the ACM on Programming Languages10.1145/31581022:POPL(1-28)Online publication date: 27-Dec-2017
  • (2010)Formally efficient program instrumentationProceedings of the First international conference on Runtime verification10.5555/1939399.1939421(245-252)Online publication date: 1-Nov-2010
  • (2010)Language virtualization for heterogeneous parallel computingACM SIGPLAN Notices10.1145/1932682.186952745:10(835-847)Online publication date: 17-Oct-2010
  • (2010)Language virtualization for heterogeneous parallel computingProceedings of the ACM international conference on Object oriented programming systems languages and applications10.1145/1869459.1869527(835-847)Online publication date: 17-Oct-2010
  • (2010)Formally Efficient Program InstrumentationRuntime Verification10.1007/978-3-642-16612-9_19(245-252)Online publication date: 2010
  • (2009)Embedded Probabilistic ProgrammingProceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages10.1007/978-3-642-03034-5_17(360-384)Online publication date: 2-Jul-2009

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media