Carnegie Mellon University
Browse

Enabling Primitives for Compiling Parallel Languages

Download (127.04 kB)
journal contribution
posted on 2003-02-01, 00:00 authored by Seth C. Goldstein, Klaus Erik Schauser, David Culler
This paper presents three novel language implementation primitives—lazy threads, stacklets, and synchronizers—andshows how they combine to provide a parallel call at nearly the efficiency of a sequential call. The central idea is to transform parallel calls into parallel-ready sequential calls. Excess parallelism degrades into sequential calls with the attendant efficient stack management and direct transfer of control and data, unless a call truly needs to execute in parallel, in which case it gets its own thread of control. We show how these techniques can be applied to distribute work efficiently on multiprocessors.

History

Date

2003-02-01

Usage metrics

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC