skip to main content
10.1145/91556.91606acmconferencesArticle/Chapter ViewAbstractPublication PageslfpConference Proceedingsconference-collections
Article
Free access

A parallel virtual machine for efficient scheme compilation

Published: 01 May 1990 Publication History

Abstract

Programs compiled by Gambit, our Scheme compiler, achieve performance as much as twice that of the fastest available Scheme compilers. Gambit is easily ported, while retaining its high performance, through the use of a simple virtual machine (PVM). PVM allows a wide variety of machine-independent optimizations and it supports parallel computation based on the future construct. PVM conveys high-level information bidirectionally between the machine-independent front end of the compiler and the machine-dependent back end, making it easy to implement a number of common back end optimizations that are difficult to achieve for other virtual machines.
PVM is similar to many real computer architectures and has an option to efficiently gather dynamic measurements of virtual machine usage. These measurements can be used in performance prediction for ports to other architectures as well as design decisions related to proposed optimizations and object representations.

References

[1]
Joel Bartlett. $chm~e->g a portable Scheme-to-C compiler. Technical Report 8911, Digital Equipment Corp. Western Research Lab., 1989.
[2]
John Befall, Edmund Goodhue, Chris Hanson, Howie Shrobe,. Richard M. Stallman, and Gerald Jay Sussman. The Scheme-81 architecture- system and chip. in Paul Penfield Jr., editor, Proc. of the MiT Confer. ence on Advanced Research in VLSi~ Dedham, Mass., 1982. Artech House.
[3]
William Campbell. A C interpreter ~for Scheme ~-- an exercise in object-oriented design. Submitted to the Software Engineering journal of the British Computer Society, 1989.
[4]
J6r6me Chailloux. La machine LLM3. Rapport interne du projet vlsi, INRIA, May 1984. Corresponds to LeLisp version 15.
[5]
Richard P. Gabriel. Performance and Evaluation of LISP Systems. Research Reports and Notes, Computer Systems Series. MIT Press, Cambridge, MA, 1985.
[6]
Martin L. Griss and Anthony C. Hearn. A portable LISP compiler. Software Practice and Experience, 11:541-605, 1981.
[7]
R. Halstead. Multilisp: A language for concurrent symbolic computation. In A CM Trans. on Prog. Languages and S~stems, pages 501-538, October 1985.
[8]
Robert H. Halstead, David A. Kranz, gnd Eric Mohr. Mul-T: A high-performance parallel Lisp. In SiGPLAN 89 Symposium on Porgramming Language Design and Implementation, June 1989.
[9]
Jack Holloway, Guy Lewis Steele Jr., Gerald Jay Sussman, and Alan Bell. The Scheme-79 chip. Technical Report AI Memo 559, Mass. Inst. of Technology, Artificial intelligence Laboratory, 1980.
[10]
D. A. Kranz et at. Orbit: An optimizing compiler for Scheme. In Sgtmposium on Compiler Construction, pages 219-233. ACM SIGPLAN, June 1986.
[11]
Mass. inst. of Technology, Cambridge, MA. MIT Scheme Reference, Scheme Release 7, 1988.
[12]
James Miller. MtdtiScheme: A Parallel Processing System Based on MIT Scheme. PhD thesis, Mass. Inst. of Technology, August 1987. Available as MIT LCS/TR/402.
[13]
James Miller. Implementing a Scheme-based parallel processing system, international Journal o} Parallel Processing, 17(5), October 1988.
[14]
James Miller and Christopher Hanson. IEEE Draft Standard for the Programming Language Scheme. iEEE. forthcoming.
[15]
James Miller and Guillermo Rozas. Free variables and first-class environments. Journal of Lisp and Symbolic Computation, to appear.
[16]
Guillermo Rozas. Liar, an Algol-like compiler for Scheme. Bachelor's thesis, Mass. Inst. of Technology, 1984.
[17]
Guy Lewis Steele Jr. Rabbit: A compiler for Scheme. Master's thesis, Mass. Inst. of Technology, 1978.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
LFP '90: Proceedings of the 1990 ACM conference on LISP and functional programming
May 1990
348 pages
ISBN:089791368X
DOI:10.1145/91556
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: 01 May 1990

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

LFP90

Acceptance Rates

Overall Acceptance Rate 30 of 109 submissions, 28%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)82
  • Downloads (Last 6 weeks)16
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2017)Synthesizing highly expressive SQL queries from input-output examplesACM SIGPLAN Notices10.1145/3140587.306236552:6(452-466)Online publication date: 14-Jun-2017
  • (2017)Synthesizing memory models from framework sketches and Litmus testsACM SIGPLAN Notices10.1145/3140587.306235352:6(467-481)Online publication date: 14-Jun-2017
  • (2015)Compiling for multi-language task migrationACM SIGPLAN Notices10.1145/2936313.281671351:2(63-77)Online publication date: 21-Oct-2015
  • (2015)How scale affects structure in Java programsACM SIGPLAN Notices10.1145/2858965.281430050:10(675-694)Online publication date: 23-Oct-2015
  • (2015)Performance problems you can fix: a dynamic analysis of memoization opportunitiesACM SIGPLAN Notices10.1145/2858965.281429050:10(607-622)Online publication date: 23-Oct-2015
  • (2015)Compiling for multi-language task migrationProceedings of the 11th Symposium on Dynamic Languages10.1145/2816707.2816713(63-77)Online publication date: 21-Oct-2015
  • (2014)ImageSpiritACM Transactions on Graphics10.1145/268262834:1(1-11)Online publication date: 29-Dec-2014
  • (2014)Smoothed Quadratic Energies on MeshesACM Transactions on Graphics10.1145/268262734:1(1-12)Online publication date: 29-Dec-2014
  • (2014)Iterative Training of Dynamic Skills Inspired by Human Coaching TechniquesACM Transactions on Graphics10.1145/268262634:1(1-11)Online publication date: 29-Dec-2014
  • (2014)Spectral Quadrangulation with Feature Curve Alignment and Element Size ControlACM Transactions on Graphics10.1145/265347634:1(1-11)Online publication date: 29-Dec-2014
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media