Exploiting Implicit Parallelism in Functional Programs with SLAM
J.Sargeant, C.Kirkham and I.Watson
Abstract
An effective execution model is a vital component of any general-purpose implicitly parallel programming system. We introduce SLAM (Spreading Load with Active Messages), an execution model which overcomes many of the problems with previous approaches. SLAM is efficient enough to operate at low granularity without hardware support, and has other necessary properties. Compiling for SLAM presents an unusual set of problems, and we describe how this is done from UFO-Lite, a simplified version of the United Functions and Ob jects programming language. Linear speedups are obtained for a program with irregular, fine-grain, parallelism on stock hardware.
(LNCS 2011). Springer, 2001. (© Springer-Verlag)