Font Size: a A A

Incremental Parallelization of Existing Sequential Runtime Systems

Posted on:2015-12-12Degree:Ph.DType:Dissertation
University:Northwestern UniversityCandidate:Swaine, JamesFull Text:PDF
GTID:1478390017494166Subject:Computer Science
Abstract/Summary:
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. This dissertation describes 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. The evaluation assesses performance benefits, developer effort needed to implement such a system in these two runtime systems, and the ease with which users can leverage the resulting parallel programming constructs without sacrificing expressiveness. 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.
Keywords/Search Tags:Runtime systems, Incremental parallelization, Sequential
Related items