Affiliation:
1. Vrije Universiteit Brussel, Brussels, Belgium
Abstract
While most approaches to automatic parallelization focus on compilation approaches for parallelizing loop iterations, we advocate the need for new virtual machines that can parallelize the execution of recursive programs. In this paper, we show that recursive programs can be effectively parallelized when arguments to procedures are evaluated concurrently and branches of conditional statements are speculatively executed in parallel. We introduce the
continuator
concept, a runtime structure that tracks and manages the control dependences between such concurrently spawned tasks, ensuring adherence to the sequential semantics of the parallelized program. As a proof of concept, we discuss the details of a parallel interpreter for Scheme (implemented in Common Lisp) based on these ideas, and show the results from executing the Clinger benchmark suite for Scheme.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference65 articles.
1. The data locality of work stealing
2. Deadlock-free scheduling of X10 computations with bounded resources
3. }}E. Allen D. Chase J. Hallett V. Luchangco J.-W. Maessen S. Ryu G. L. Steele Jr. and S. Tobin-Hochstadt. The Fortress Language Specification version 1.0 March 2008. }}E. Allen D. Chase J. Hallett V. Luchangco J.-W. Maessen S. Ryu G. L. Steele Jr. and S. Tobin-Hochstadt. The Fortress Language Specification version 1.0 March 2008.
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献