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 allowing 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. Most importantly, we had to make it easy for our users to leverage this technology with minimal effort 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.
After selecting a remote/parallel computing platform, 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).
Certara’s Compute Grid will be launching in Spring 2017 and provides access to a personal grid on Amazon Cloud without needing IT support. You can run jobs in parallel and automatically scale computing power for larger projects. Management tools allow you to track projects and your budget. Contact us at 888-708-7444 to learn more.
What happens when I run an NLME job on a remote/parallel computing platform?
Upon execution Phoenix will copy the required files to the remote grid using secure FTP and initiate the NLME job on the grid. All processing occurs 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?
Bootstrap and Shotgun Covariate involve executing many (often hundreds) of independent models. Executing Bootstrap and Shotgun Covariate Searches on a remote/parallel computing platform 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 example, 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.
How much does grid and cloud computing cost?
All support for remote/parallel computing platform is included with your NLME license so that you can connect to cloud computing at no additional cost. Competitors charge special license fees to allow you to use grid computing, but with Phoenix 7.0, you can connect to unlimited cores to allow you to meet your drug development needs. As mentioned above, Certara’s Computing Grid will be available in Spring 2017 so you don’t have to set up your own grid internally. The Certara Computing Grids will automatically start and stop so you only pay for the time you are using the computing power.
What types of cloud computing platforms are supported?
Phoenix NLME jobs can be executed on:
- MPI clusters
- Linux computers
- Linux grids
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. For Certara’s Compute Grid, you can add your grid settings to Phoenix and start modeling with the power of the grid. You will also have access to the management page for your personal grid through a simple web interface.
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. Certara’s Compute Grid is already set up to support NLME projects so you can be up and running without any IT support. 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.