Date of Original Version

5-1995

Type

Conference Proceeding

Abstract or Description

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.

Share

COinS
 

Published In

Third Workshop on Languages, Compilers, and Run-Time Systems for Scalable Computers.