Biomedical Engineering Reference
In-Depth Information
accelerators (or many-core processors) such as graphics processing units (GPUs),
cell broadband engines (Cell BEs), field-programmable gate arrays (FPGAs), to
cluster computers. An intensive study of the parallel computing research land-
scape can be found in [82]. A large set of parallel computing case studies dealing
with bioinformatics and computational biology related problems can be found
in [83].
For high-throughput analysis of cell behaviors, our tracking algorithm (Algo-
rithm 4) is parallelized for cluster computers using parallel and distributed job
creation capabilities of MATLAB Distributed Computing Toolbox [84]. A cluster
computer is a group of computers generally connected through fast local area net-
works that work together closely so that in many respects they can be viewed as
though they are a single computer [85]. The approach is designed for the Univer-
sity of Missouri Bioinformatics Consortium (UMBC) cluster system [86], but can
be adapted to other cluster computers. The UMBC cluster system consists of 128
compute nodes and 512 processors. Each node has 4 or 6 GB of memory and is at-
tached to 50 TB of disk using an Infiniband high-speed interconnect infrastructure
for both processor and storage access.
Parallel MATLAB
MATLAB is a widely used mathematical computing environments in technical com-
puting. Very high-level languages (VHLLs) like MATLAB provide native support
for complex data structures, comprehensive numerical libraries, and visualization
along with an interactive environment for execution, editing, and debugging, re-
sulting in codes short, simple, and readable [87]. Recently, there has been an
increasing interest in developing a parallel MATLAB. In a 2005 article Ron Choy
and Alan Edelman give an extensive survey of projects working on parallelization
of MATLAB by providing communication routines (MPI/PVM), routines to split
up work among multiple MATLAB sessions, parallel backend, or by compiling
MATLAB scripts into native parallel code. They group and study 27 such projects
(including pMatlab, MatlabMPI, MultiMATLAB, and Matlab Parallel Toolbox),
some of which are no longer in use. Several recent applications use these parallel
MATLAB tools. In [88], Krishnamurthy et al. concentrate on parallel MATLAB
techniques with an emphasis on signal and image processing. In [89], Riviera et
al. explore parallelization of 3D imaging applications using two approaches: par-
allelization on GPUs and parallelization on a cluster of multiple multicore pro-
cessors using MATLAB and Star-P (a parallel implementation of the MATLAB
programming language). In [87], Gilbert et al. describe their efforts to build a
common infrastructure for numerical and combinatorial computing by using par-
allel sparse matrices to implement parallel graph algorithms using MATLAB and
Star-P.
In our application, we use Mathworks' MATLAB Distributed Computing
Toolbox [84]. MATLAB Distributed Computing Toolbox supports both data-
parallel and task-parallel applications by use of a set of construct such as par-
allel for-loops, distributed arrays, message-passing functions, and distributed job
creation commands. When used with MATLAB Distributed Computing Server,
parallel MATLAB programs can be scaled to cluster computers.
Search WWH ::




Custom Search