02/17/2017 | News release | Distributed by Public on 02/17/2017 06:31
One of the most challenging aspects of population pharmacokinetic/pharmacodynamic (PK/PD) modeling is the lack of computing power required to solve complex models in a reasonable time frame to support rapid drug development decisions. The explosion of cloud computing resources has provided access to significant computing power to solve these complex models. However, accessing these cloud computing systems can be complex and confusing. And using these systems generally requires knowledge of command-line tools. In this blog post, I'll discuss an innovation to Phoenix NLME, our population PK/PD software, which enables modelers to easily access the power of these computing environments from the comfort of their desktop.
Developing a grid computing platform for Phoenix NLME jobs
In developing grid computing capabilities for Phoenix NLME, our R&D team had several goals. First, we wanted to improve the performance of Phoenix NLME by allow it to run on powerful remote compute platforms and parallelizing the process. In addition, we wanted to free users from having their desktop computer bogged down by long running jobs. The new grid computing functionality allows users to disconnect and reconnect to running jobs. Simply saving the Phoenix project will save the running job's information in the project so that it can be accessed later. We also wanted to enable multiple job submissions. Thus, users can submit estimation runs from different projects to one or more remote platforms. In addition, we wanted to enable users to see interim modeling results so that they can catch and fix mistakes more easily. Finally, we had to make it easy for our users to leverage this technology with minimal effect required by the IT department to set up the remote system.
How do I run an NLME job on a cloud compute platform?
To send an NLME job to a remote/parallel computing platform, a user can select the desired remote/parallel computing platform using the dropdown box from the Execute option in the Run Option tab. If a username and password is required for the grid, it can be entered in the available boxes below the selected remote/parallel computing platform. The username and password will be saved by Phoenix for all future models. If a username and password is not needed (eg, MPI cluster), then the username and password boxes will be greyed out.
If a remote/parallel computing platform is selected in the Execute option, the user can click the 'Execute' button or press F7 to initiate the NLME job to be executed on the selected remote/parallel computing platform. The NLME job can be executed on the local computer by selecting the Execute option as 'Local' (uses 1 core) or 'Local_MPI_n' (uses n cores on the local computer).
What happens when I run an NLME job on a remote/parallel computing platform?
Using of MPI cluster is similar to using MPI on local computer processors. An iteration progress status window will be opened, and progress can be monitored as though the NLME job was using the local processors. The difference is that all of the nodes on the MPI cluster will be used. The user must remain connected to the MPI cluster until the job is completed. In addition, the Phoenix application will remain locked until the NLME job finishes.
If a Linux grid is used, Phoenix will copy the required files to the remote grid and initiate the NLME job on the grid. An iteration progress status window will not open. However, the progress bar at the bottom of the Phoenix window will show the 'by sample' progress of the job. For example, if 200 bootstraps are selected, the progress bar will show '10 of 200 completed' when 10 models have finished. After the NLME job has started, the user can disconnect from the Linux grid by saving the Phoenix project and then closing the Phoenix application. When the Phoenix application is restarted and the project is loaded, Phoenix 7.0 will automatically re-connect to the Linux grid and update the progress bar. If the NLME job has completed, the results will be copied from the Linux grid to the Phoenix project. All files are removed from the Linux grid when the NLME job finishes.
How are NLME jobs parallelized on cloud computing platforms?
Shotgun Covariate Search and Bootstrap involve executing many (often hundreds) of independent models. Executing Shotgun Covariate Searches and Bootstraps on all remote/parallel computing platforms will result in 'by replicate' parallel processing. A 'replicate' consists of one independent model of the set of models required by the method. For example, consider a 100 node Linux grid and a bootstrap NLME with 300 samples. In this scenario, each of the 100 nodes would execute 3 NLME models (100 * 3 = 300). Next, consider a shotgun covariate search that contains 25 models. When executed on a 100 node Linux grid, only 25 nodes would be used with one model per node. For MPI clusters, Shotgun Covariate Search and Bootstrap will be handled the same way as for Linux grids. All other job types are executed by dividing each model across multiple cores by subject. For example, consider a 100 core MPI cluster and a simple estimation job with 1000 subjects. Approximately 10 subjects would be assigned to each core during calculation steps until the model has completed.
How much does grid and cloud computing cost?
All support for remote/parallel computing platform is included with your NLME license at no additional cost. Competitors charge by the number of cores, but with Phoenix 7.0, you can use unlimited cores to allow you to meet your drug development needs without additional costs.
What types of cloud computing platforms are supported?
Phoenix NLME jobs can be executed on:
The MPI Clusters, Linux computers, or Linux grids can be user-maintained systems or cloud systems such as an Amazon Cloud computing platform
What needs to be installed to use cloud computing?
A user's existing Phoenix installation is all that is needed. Phoenix NLME does not need to be installed on the remote/parallel computing platform. All required execution files are transferred to the remote/parallel computing platforms by Phoenix 7.0 and then the results are transferred back to the local computer and stored in the Phoenix project.
What needs to be installed on the remote compute platform?
GNU compilers are required (these are standard on Linux servers). An R installation with the Certara.NLME library is also necessary.
How do I set up my remote/parallel computing platform with Phoenix?
Out of the box, Phoenix 7.0 is ready to use remote/parallel computing platforms. To start using the power of cloud computing, update a single informational text file (see details in Appendix A of the Phoenix NLME User Guide). Many users set up multiple grids and an MPI cluster to maximize the available remote/parallel computing power for modeling. An unlimited number of remote/parallel computing platforms can be set up for each user. Now you have the power of the cloud in your hands with Phoenix NLME.
To learn more about how to accelerate performing NLME modeling, please watch a webinar I recently gave on this topic.Watch Webinar