Synergy User Manual and Tutorial. - THE CORE MEMORY
Synergy User Manual and Tutorial. - THE CORE MEMORY
Synergy User Manual and Tutorial. - THE CORE MEMORY
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Synergy</strong> <strong>User</strong> <strong>Manual</strong> <strong>and</strong> <strong>Tutorial</strong><br />
Major Components <strong>and</strong> Inner Workings of<br />
<strong>Synergy</strong><br />
Technically, the <strong>Synergy</strong> system is an automatic client/server software generation system<br />
that can form an effective parallel processor for each application using multiple<br />
distributed Unix or Linux computers. This parallel processor is specifically engineered to<br />
process programs inter-connected in an application dependent IPC (Inter-Program<br />
Communication/ Synchronization) graph using industry st<strong>and</strong>ard compilers, operating<br />
systems <strong>and</strong> communication protocols. This IPC graph exhibits application dependent<br />
coarse grain SIMD (Single Instruction Multiple Data), MIMD (Multiple Instruction<br />
Multiple Data) <strong>and</strong> pipeline parallelisms.<br />
<strong>Synergy</strong> V3.0 supports three passive data objects for program-to-program communication<br />
<strong>and</strong> synchronization:<br />
1. Tuple space (a FIFO ordered tuple data manager)<br />
2. Pipe (a generic location independent indirect message queue)<br />
3. File (a location transparent sequential file)<br />
A passive object is any structured data repository permitting no object creation functions.<br />
All commonly known large data objects, such as databases, knowledge bases, hashed<br />
files, <strong>and</strong> ISAM files, can be passive objects provided the object creating operators are<br />
absent. Passive objects confine dynamic dataflows into a static IPC graph for any<br />
parallel application. This is the basis for automatic customization.<br />
POFP uses a simple open-manipulate-close sequence for each passive object. An onedimensional<br />
Coarse-To-Fine (CTF) decomposition method (see Adaptable Parallel<br />
Application Development section for details) can produce designs of modular parallel<br />
programs using passive objects. A global view of the connected parallel programs reveals<br />
application dependent coarse grain SIMD, MIMD <strong>and</strong> pipeline potentials. Processing<br />
grain adjustments are done via the work distribution programs (usually called Masters).<br />
These adjustments can be made without changing codes. All parallel programs can be<br />
developed <strong>and</strong> compiled independently.<br />
What are in <strong>Synergy</strong>? (<strong>Synergy</strong> Kernel with Explanation)<br />
The first important ingredient in <strong>Synergy</strong> is the confinement of inter-program<br />
communication <strong>and</strong> synchronization (IPC) mechanisms. They convert dynamic<br />
118