Enabling Inter-Machine Parallelism in High-Level Languages with SEJITS and MapReduce

Michael Driscoll, Evangelos Georganas, Penporn Koanantakool
Computer Science Division, University of California, Berkeley
University of California, 2012


   title={Enabling Inter-Machine Parallelism in High-Level Languages with SEJITS and MapReduce},

   author={Driscoll, M. and Georganas, E. and Koanantakool, P.},



Download Download (PDF)   View View   Source Source   



Selective, embedded, just-in-time specialization (SEJITS) is a technique for optimizing embedded domain-specific languages through the use of specializers, or code modules developed by expert programmers that target particular accelerators such as multicore processors and GPUs via just-in-time compilation. We extend SEJITS to exploit inter-machine parallelism by targeting clusters of machines via MapReduce. Our work enables the development of specializers for large, data-parallel applications whose work flows can be cast as MapReduce operations. We present an implementation that targets Hadoop and we describe specializers for two applications. The first, a pure-Python protein docking application, requires a 1-line change to realize a 280x speedup on a cluster with 450 cores. The second, an audio processing application, demonstrates our approach’s ability to leverage clusters of GPU-equipped machines by composing parallel programming patterns. Results indicate that clusters are viable targets for specialization, and that pattern composition is a useful technique for managing multi-level parallelism.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: