Distributed Computing - Data2Dynamics/d2d GitHub Wiki
Distrubuted Computing
In addition to multi-threading, some functions take advantage of PARFOR loops that are provided by the MATLAB Distributed Computing Toolbox. The MATLAB distributed computing toolbox can either be used to open a pool of MATLAB workers on a local machine (with multiple cores) or on a cluster over the network. For instance MATLAB pool with 4 workers can be opened locally by parpool('local',4)
. Contact your MATLAB cluster administrator for further information and the discription of parallel function in the following.
Functions for local workers
For some functions, e.g. that read or write files on the hard disk, a local pool of workers is more usedfull or even required.
arCompileAll.m
uses a PARFOR loop to accelerate symbolic calculations, writing and compiling of c-code to the hard disk for the different experimental conditions and data sets.
Functions for cluster workers
Before the following functions can be used on a cluster, the function arCompileCluster.m
has to be called to generate corresponding mex-files on each cluster worker.
-
arChi2s.m
orarChi2LHS.m
uses a PARFOR loop to accelerate the objective function evaluation for the different parameters sets. -
Similarly,
arFits.m
orarFitLHS.m
uses a PARFOR loop to accelerate the multiple parameter estimation runs for different initial parameters sets.
Performance Comparison
We use the example application Epo induced JAK2/STAT5 signaling model in CFU-E cells to illustrate speed up on a dual-core computer using matlabpool local 4
:
- arCompileAll: 207.77 sec vs. 119.10 sec