Back to the futures: Incremental parallelization of existing sequential runtime systems

James Swaine*, Kevin Tew, Peter A Dinda, Robert Findler, Matthew Flatt

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contribution

7 Scopus citations

Abstract

Many language implementations, particularly for high-level and scripting languages, are based on carefully honed runtime systems that have an internally sequential execution model. Adding support for parallelism in the usual form - as threads that run arbitrary code in parallel - would require a major revision or even a rewrite to add safe and efficient locking and communication. We describe an alternative approach to incremental parallelization of runtime systems. This approach can be applied inexpensively to many sequential runtime systems, and we demonstrate its effectiveness in the Racket runtime system and Parrot virtual machine. Our evaluation assesses both the performance benefits and the developer effort needed to implement our approach. We find that incremental parallelization can provide useful, scalable parallelism on commodity multicore processors at a fraction of the effort required to implement conventional parallel threads.

Original languageEnglish (US)
Title of host publicationOOPSLA'10 - Proceedings of the 2010 ACM SIGPLAN Conference on Object Oriented Programming, Systems, Languages, and Applications
Pages583-597
Number of pages15
DOIs
StatePublished - Dec 20 2010
Event2010 ACM SIGPLAN Conference on Object Oriented Programming, Systems, Languages, and Applications, OOPSLA'10 - Reno/Tahoe, NV, United States
Duration: Oct 17 2010Oct 21 2010

Publication series

NameProceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA

Other

Other2010 ACM SIGPLAN Conference on Object Oriented Programming, Systems, Languages, and Applications, OOPSLA'10
CountryUnited States
CityReno/Tahoe, NV
Period10/17/1010/21/10

Keywords

  • Functional programming
  • Parallel programming
  • Racket
  • Runtime systems

ASJC Scopus subject areas

  • Software

Fingerprint Dive into the research topics of 'Back to the futures: Incremental parallelization of existing sequential runtime systems'. Together they form a unique fingerprint.

Cite this