集结经典应用案例<br/>用户成功案例解读<br/>分享项目中的实践方案
A classic case
集结经典应用案例
用户成功案例解读
分享项目中的实践方案
12/12
December 12, 2022

NLME案例11:Phoenix NLME远程linux计算节点概述

引言:

定量药理学服务于药物发现工业,所以这决定了除了要求从业人员能够洞察数据建立出更好更有用的数学模型外,还要求能够尽快的交付出有用的模型,用于指导下一步的药物开发项目;而实际进行群体药代动力学模型分析项目时,时常可以听到一些抱怨声“我的模型跑了一周还没跑完”,“我们的WinNonlin与NLME的授权在同一台电脑上,模型一跑跑两天,日常普通的NCA计算都无法进行了”,“我的最终模型执行一次就需要1个小时,最后还要再跑500次重复的Bootstrap,想想都可怕”,“我有二十多个待考察协变量,模型中有5个参数,我想考察所有的协变量引入的方式,帮我算算我跑完大概要多久?”当你遇到类似场景的问题时,我认为你有必要了解下Phoenix NLME可将计算任务发送至远程计算机平台的功。

 

Phoenix NLME允许用户将计算任务发送至远程的Linux计算机网络而无需额外的license,从而加速数据计算节约时间,并且不限制远程计算机的规模,在将任务发送至远程计算平台后可关闭本地的Phoenix,在计算任务完成后重新打开Phoenix接收结果。

 

支持的远程计算机平台类型:

Phoenix支持多种的远程计算机平台的类型,比如单独的一台Linux计算机(Multicore)、Linux计算机组成的MPI集群、作业调度系统管理的集群(SGE/TORQUE),作业调度系统与MPI的组合(SGE_MPI/TORQUE_MPI)等。


支持的模型并行化执行类型:

Phoenix能够以两种不同的方式实现并行计算,以优化计算网格和多核计算机的使用。

 - 第一种称为按模型并行化(PBM, Parallelizing By Model),每个NLME模型同时仅且仅被执行1个计算机核心执行。使用PBM的一个例子是执行一个200次重复的自举(Bootstrap)过程,它需要运行200个独立的NLME模型,使用PBM的方式,200个模型中的每一个将被发送到200个单独的计算节点,每个模型仅且仅在单个计算节点上运行,从初始估计到最终参数。PBM对于同时执行许多NLME模型非常有用(自举验证和协变量搜索模式)。

 - 第二种方法称为模型内的并行化(PWM, Parallelizing Within Model),其中单个NLME模型被同时分配至多个计算核心上以供执行。PWM的一个示例是单个PK/PD模型的估计拟合。使用PWM,一个模型将分布在50个计算核心上,与使用本地计算机相比,可以更快地完成最小化的拟合过程。PWM对于具有较长运行时间以实现收敛的模型非常有用。

 

下表概述了为Phoenix NLME(8.0~8.3)支持的每种运行模式和每个计算平台实现的并行化方法:

列表1.Phoenix Model运行模式与远程计算平台类型的不同组合方式可用的并行化方法

8821f987ad4158f13fc56fb9655dea6c.png

 

 

注意:当选择远程计算网格来执行NLME对象时,加载网格可能需要一些时间,并且可能看起来应用程序已停止工作。确保网格上有足够的磁盘空间来执行所有作业,如果磁盘空间不足,作业将在网格上失败。

 

Phoenix支持PBM和PWM,甚至支持两者的组合。在逐步法协变量搜索中可以看到PBM和PWM的组合。比如,我们有8个模型要运行(基础模型+ 7个可能的协变量关系),有2020个计算核心可供使用,Phoenix将使用20个计算核心(PWM)同时运行所有8个模型(PBM),将PBM和PWM组合在一起可以极大地减少复杂的PK/PD模型的总体运行时间。

 

该如何搭建远程Linux计算网格呢?

用户可参考Phoenix的用户手册自行搭建相应的远程计算平台,也可购买由供应商已预先搭建好的平台进行使用。

 

 

参考文献:

《Phoenix Framework Guide》

《Phoenix NLME User's Guide》