Marionette: a System for Parallel Distributed Programming Using a Master/Slave Model

Mark Paul Sullivan and David P. Anderson

EECS Department
University of California, Berkeley
Technical Report No. UCB/CSD-88-460
November 1988

http://www2.eecs.berkeley.edu/Pubs/TechRpts/1988/CSD-88-460.pdf

Marionette is a system for distributed parallel programming in an environment of networked heterogeneous computer systems. It is based on a master/slave model. The master process can invoke worker operations (asynchronous remote procedure calls to single slaves) and context operations (updates to the state of all slaves). The master and slaves also interact through shared data structures that can be modified only by the master. The master and slave processes are programmed in a sequential language.

The Marionette runtime system manages slave process creation, propagates shared data structures to slaves as needed, queues and dispatches worker and context operations, and manages recovery from slave processor failures. The Marionette system also includes tools for automated compilation of program binaries for multiple architectures, and for distributing binaries to remote file systems. A UNIX-based implementation of Marionette is described.


BibTeX citation:

@techreport{Sullivan:CSD-88-460,
    Author = {Sullivan, Mark Paul and Anderson, David P.},
    Title = {Marionette: a System for Parallel Distributed Programming Using a Master/Slave Model},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {1988},
    Month = {Nov},
    URL = {http://www2.eecs.berkeley.edu/Pubs/TechRpts/1988/5728.html},
    Number = {UCB/CSD-88-460},
    Abstract = {Marionette is a system for distributed parallel programming in an environment of networked heterogeneous computer systems. It is based on a master/slave model. The master process can invoke worker operations (asynchronous remote procedure calls to single slaves) and context operations (updates to the state of all slaves). The master and slaves also interact through shared data structures that can be modified only by the master. The master and slave processes are programmed in a sequential language.   <p>The Marionette runtime system manages slave process creation, propagates shared data structures to slaves as needed, queues and dispatches worker and context operations, and manages recovery from slave processor failures. The Marionette system also includes tools for automated compilation of program binaries for multiple architectures, and for distributing binaries to remote file systems. A UNIX-based implementation of Marionette is described.}
}

EndNote citation:

%0 Report
%A Sullivan, Mark Paul
%A Anderson, David P.
%T Marionette: a System for Parallel Distributed Programming Using a Master/Slave Model
%I EECS Department, University of California, Berkeley
%D 1988
%@ UCB/CSD-88-460
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/1988/5728.html
%F Sullivan:CSD-88-460