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.
VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Recent source codes

* * *

* * *

TwitterAPIExchange Object
    [oauth_access_token:TwitterAPIExchange:private] => 301967669-yDz6MrfyJFFsH1DVvrw5Xb9phx2d0DSOFuLehBGh
    [oauth_access_token_secret:TwitterAPIExchange:private] => o29ji3VLVmB6jASMqY8G7QZDCrdFmoTvCDNNUlb7s
    [consumer_key:TwitterAPIExchange:private] => TdQb63pho0ak9VevwMWpEgXAE
    [consumer_secret:TwitterAPIExchange:private] => Uq4rWz7nUnH1y6ab6uQ9xMk0KLcDrmckneEMdlq6G5E0jlQCFx
    [postfields:TwitterAPIExchange:private] => 
    [getfield:TwitterAPIExchange:private] => ?cursor=-1&screen_name=hgpu&skip_status=true&include_user_entities=false
    [oauth:protected] => Array
            [oauth_consumer_key] => TdQb63pho0ak9VevwMWpEgXAE
            [oauth_nonce] => 1488127724
            [oauth_signature_method] => HMAC-SHA1
            [oauth_token] => 301967669-yDz6MrfyJFFsH1DVvrw5Xb9phx2d0DSOFuLehBGh
            [oauth_timestamp] => 1488127724
            [oauth_version] => 1.0
            [cursor] => -1
            [screen_name] => hgpu
            [skip_status] => true
            [include_user_entities] => false
            [oauth_signature] => 4k1FZbmBS4uRNop01HPhzzIZ4Ko=

    [url] => https://api.twitter.com/1.1/users/show.json
Follow us on Facebook
Follow us on Twitter

HGPU group

2172 peoples are following HGPU @twitter

HGPU group © 2010-2017 hgpu.org

All rights belong to the respective authors

Contact us: