Incremental Parallelization of Dynamic Languages

Matthew Flatt, professor of Computer Science at the University of Utah, presents his work on incremental parallelization of the Racket language using futures.

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.

Start time:
Location: SFO Commons
Duration: 52 minutes
Channel: Main

Tags: research, parallel programming

Views since archived: 2,134

Small (640x380) Big (896x504)

WebM (HD) , Mpeg4 (HD)
To download, right-click and select "Save Link As..."