From Conditional Independence to Parallel Execution in Hierarchical Models

Hierarchical models describe phenomena by grouping data into multiple levels. Due to the size of these models, parallel execution is required to avoid prohibitively long computing time. While it is occasionally possible to specify some of these models using parallel building blocks, this limits expressivity. Therefore, a more general generative specification is preferred. To leverage parallel computing capacity, these specifications can be annotated, but doing so effectively assumes that the modeler has expertise from computer science. This paper outlines how to identify parallel parts automatically by leveraging the conditional independence property in the graphical model extracted from the dataflow graph of model specifications. Computation related to random variables with the same depth in the graphical model are identified as candidates for parallel execution. Since subsequent proposals in the parameter space exploration of the model are clustered together, the results show that the well known longest processing time scheduling heuristic deals adequately with load imbalance. The proposed parallelization is evaluated on two pharmacometrics models, a domain where hierarchical models with load imbalance are common due to the numeric simulation of pharmacokinetics and pharmacodynamics of human subjects. The varying number of measurements taken per subject further exacerbates load imbalance.

[1]  Jiqiang Guo,et al.  Stan: A Probabilistic Programming Language. , 2017, Journal of statistical software.

[2]  Victor Eijkhout,et al.  Introduction to High Performance Scientific Computing , 2015 .

[3]  Andrew Thomas,et al.  WinBUGS - A Bayesian modelling framework: Concepts, structure, and extensibility , 2000, Stat. Comput..

[4]  Andrew Thomas,et al.  MultiBUGS: A Parallel Implementation of the BUGS Modeling Framework for Faster Bayesian Inference , 2017, J. Stat. Softw..

[5]  Jacek Blazewicz,et al.  Handbook on Scheduling: From Theory to Applications , 2014 .

[6]  Veena S. Chakravarthi SOC Physical Design , 2020 .

[7]  Zoubin Ghahramani,et al.  Turing: A Language for Flexible Probabilistic Inference , 2018 .

[8]  John Skilling,et al.  Data analysis : a Bayesian tutorial , 1996 .

[9]  Adrian Dunne,et al.  Dynamic population pharmacokinetic–pharmacodynamic modelling and simulation supports similar efficacy in glycosylated haemoglobin response with once or twice‐daily dosing of canagliflozin , 2017, British journal of clinical pharmacology.

[10]  Frank Van Reeth,et al.  Improving the Runtime Performance of Non-linear Mixed-Effects Model Estimation , 2019, Euro-Par Workshops.

[11]  Keshav Pingali,et al.  From Control Flow to Dataflow , 1991, J. Parallel Distributed Comput..

[12]  edited by Jospeh Y-T. Leung,et al.  Handbook of scheduling , 2013 .

[13]  Zbigniew J. Czech,et al.  Introduction to Parallel Computing , 2017 .

[14]  Jörg Keller,et al.  Models for Parallel Computing : Review and Perspectives , 2007 .

[15]  David E. Culler,et al.  Dataflow architectures , 1986 .

[16]  Federico Della Croce,et al.  Longest Processing Time rule for identical parallel machines revisited , 2018, ArXiv.

[17]  Torsten Hoefler,et al.  Scientific Benchmarking of Parallel Computing Systems Twelve ways to tell the masses when reporting performance results , 2017 .

[18]  Helena Colom Codina,et al.  Semimechanistic model to characterize nonlinear pharmacokinetics of nimotuzumab in patients with advanced breast cancer , 2015, Journal of clinical pharmacology.

[19]  G. Casella,et al.  Explaining the Gibbs Sampler , 1992 .

[20]  Y.-K. Kwok,et al.  Static scheduling algorithms for allocating directed task graphs to multiprocessors , 1999, CSUR.

[21]  Wim Lamotte,et al.  Automatic Parallelization of Probabilistic Models with Varying Load Imbalance , 2020, 2020 20th IEEE/ACM International Symposium on Cluster, Cloud and Internet Computing (CCGRID).

[22]  V. Carey,et al.  Mixed-Effects Models in S and S-Plus , 2001 .

[23]  Vipin Kumar,et al.  Introduction to Parallel Computing , 1994 .

[24]  Alan Edelman,et al.  Julia: A Fresh Approach to Numerical Computing , 2014, SIAM Rev..