An Integrated Data Analysis Suite and Programming ... - TOBIAS-lib
An Integrated Data Analysis Suite and Programming ... - TOBIAS-lib
An Integrated Data Analysis Suite and Programming ... - TOBIAS-lib
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
74 CHAPTER 3. A C++ FRAMEWORK FOR HIGH-THROUGHPUT DNA SEQUENCING<br />
(a)<br />
serial<br />
parallelizer<br />
parallel<br />
sync<br />
serial<br />
desync<br />
parallel<br />
Source<br />
multiplexer<br />
track<br />
Pipe<br />
multiplexer<br />
thread<br />
Pipe<br />
lock_link<br />
. . .<br />
. . .<br />
. . .<br />
. . .<br />
track<br />
Sink<br />
. . .<br />
. . .<br />
(b)<br />
serial<br />
parallelizer<br />
parallel<br />
sync<br />
serial<br />
desync<br />
parallel<br />
multiplexer<br />
track<br />
multiplexer<br />
thread<br />
Pipe<br />
lock_link<br />
. . .<br />
. . .<br />
. . .<br />
. . .<br />
track<br />
Sink<br />
. . .<br />
. . .<br />
Signal<br />
data<br />
ush<br />
Slot<br />
postlock<br />
preunlock<br />
postunlock<br />
join<br />
Figure 3.3: Connections between Parallel Processing Objects<br />
the respective thread. <strong>An</strong> auxiliary flush signal in addition conveys the thread-specic ush<br />
state across synchronized sections of the processing pipeline.<br />
Finally, a connection join is supported by all parallel processing modules to ensure correct<br />
termination of processing across all threads.<br />
For distributed memory architectures, data are distributed from a single root process to<br />
several worker processes. Worker processes must receive the data to be processed concurrently<br />
from the root process, <strong>and</strong> must subsequently return their output data for processing by serial<br />
modules (gure 3.3(b) ).<br />
Objects of parallelizer, sync <strong>and</strong> desync initialized in worker processes automatically<br />
establish connections for exchange of data with their respective counterpart in the root process,<br />
where each connection is associated with an additional thread in the root process.<br />
To prevent initialization conicts <strong>and</strong> overhead, serial objects are associated with the additional<br />
function of preventing creation of their respective incorporated processing module when