What is PAGE?

We represent a community with a shared interest in data analysis using the population approach.


2003
   Verona, Italy

Parallel computing under Linux

Lars Lindbom

Div. of Pharmacokinetics and Drug Therapy, Dept of Pharmaceutical Biosciences, Uppsala University, Sweden

Objectives: According to Moore’s law [1], there is an exponential growth in the number of transistors per integrated circuit over time, doubling the computational power of our laptops, desktops and servers every 18 months. Consequently, the time it takes to perform a fit of a specific pharmacokinetic/pharmacodynamic model is shortened every year. Today, model fits of simple PK models typically takes a few seconds to execute, moderately complex PK/PD models maybe around ten minutes while the most complicated models still require 24 hours or more to finish. Single runs are hence manageable. There are however situations when multiple runs are needed, e.g. to carry out stepwise covariate model building, to obtain standard errors of parameter estimates through a bootstrap or to perform randomization tests to achieve true significance levels of adding covariate effects to a model. These methods, involving hundreds or thousands of runs, are extremely CPU time consuming and today intractable for all but the simplest models. This will, if Moore’s law continues to be valid, eventually change in a not too distant future. However, if we want to be able to use these methods today or to explore future methods, we need to exploit our existing computing power more efficiently.

Methods: One way of avoiding the problem is to identify the parts of a computer intensive task that can be solved independently from each other. The task should be restructured in such a way that the independent tasks can be run in parallel. Parallelized problems can easily be run on multi-processor computers using standard operating system calls. To take the parallelized approach further, we may also use multiple computers in a cluster. The development of cluster solutions for inexpensive computers has been very rapid over the last years, boosted by the concurrent development of the open source operating system Linux.

Results: A cluster has been set up, consisting of five dedicated dual-cpu servers plus five user desktops yielding in total 15 processors, connected by fast Ethernet network. The computers are all running Red Hat Linux 7.3 with kernel 2.4.19 including the single system image (SSI) cluster patch openMOSIX [2]. On top of this an application programming interface to NONMEM, Perl-speaks-NONMEM or PsN, has been developed that enables parallel execution of NONMEM runs within Perl scripts. The theoretical gain in speed for an application running multiple NONMEM jobs on this cluster is approximately 15 times thereby enabling the use of computer intensive methods for at least moderately complex models. This solution is very easy to expand by adding new computers, thereby allowing the cluster to grow as the need for computing power increases.

Conclusions: Without any modifications, a cluster using Linux and openMOSIX is very good for load-balancing of multiple computer intensive applications, especially if the run times exceed ten seconds. Methods running multiple NONMEM jobs will benefit dramatically from the distributed computing power of this type of cluster. The modeling process can potentially change if computer intensive methods are available not only for the simplest problems.

References
[1] G. E. Moore, Cramming more components onto integrated circuits, Electronics 38 (1965) 114-117.
[2] openMOSIX Homepage, http://openmosix.sourceforge.net, (1/4 2003)



Top