28.10.2014 Views

Synergy User Manual and Tutorial. - THE CORE MEMORY

Synergy User Manual and Tutorial. - THE CORE MEMORY

Synergy User Manual and Tutorial. - THE CORE MEMORY

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!