MOE(Molecular Operating Environment)是加拿大化学计算集团公司Chemical Computing Group Inc.开发的一套计算机辅助药物分子设计的平台。
做化学/生物这一类计算,场景很多,应用选择范围也相当大,甚至同一场景可能用到很多不同的应用。就拿分子对接举例,相关软件就有开源的和商业的不下数十种。
熟悉并习惯一种应用,已经需要不低的学习成本,何况这些应用往往还留了一些API接口给用户,需要写一些脚本才能运行。
而且很多时候,现成的应用是无法满足用户的研究需求的,需要用户自己来编程。
另一个角度:
如果计算量突增,就会涉及到大规模计算资源的调用,可能涉及本地服务器、集群,甚至超算和公有云。
或者计算量还好,但是不想再重复劳动,能不能一次操作完成所有需要手动一次次做的事,一百次就忍了,一千次,一万次呢?
或者不需要团队每个人重复一遍同样的学习过程,做个模板它不香吗?
工具的最大价值,是把人从机械性的重复劳动中解放出来,腾出时间来思考更重要的事。
今天我们就通过一个MOE实证来聊聊,我们怎么帮你降低工作量(偷懒),节约时间,甚至预测未来。
某高校课题组使用MOE对数据库中的约200000个分子进行模拟,希望在2天内完成计算。根据以往经验,单核CPU模拟一个分子所需的时间约为4分钟,该课题组当前可使用的机房CPU资源最多为64核,需要一周以上才能完成任务。课题组老师希望借助云端获取更多计算资源,而且由于课题组团队有多名学生,所以需要一个既能快速启用满足需求,同时又操作简单便于管理的解决方案。
1、MOE任务是否能在云端有效运行?
2、fastone平台能否将大规模MOE任务的运算时间缩短到2天以内?
3、fastone平台能否快速启用,同时方便老师对整个团队进行管理?
4、由于不是所有的学生的计算机基础都非常强,fastone能否为其提供相对简单可行的操作方式?
3D分子可视化、基于结构/片段的药物设计、蛋白质/DNA/RNA建模、虚拟筛选、分子模拟、化学信息学本任务属于CPU密集型任务,对内存的需求不高,因此我们选择了高性价比的云端计算优化型实例(CPU/内存=1:2)。正如我们开头说的,很多时候,现成的应用往往无法满足用户的需求,需要根据自己的模型和研究目标,自定义设置一套独有的工作流程。而用户在进行了一次或多次复杂的设定之后,如果能把这些设定保存成固定模板,就不用重复手动去一步步重新设置。十次百次还能忍,一千次呢?一次制作,反复使用,省时省力,还不用担心中间出错。我们fastone平台已经实现包括MOE在内多款应用的自定义工作流,可以根据用户的实际使用场景自定义模板。而且,这套自定义的设置是可以跨应用存在的,不一定局限在一个应用范围内。我们这套自动化的原则,不仅存在于应用层面,同时也能在资源的调度和部署层面实现。比如不用再一台台机器手动安装配置,不用时刻盯着任务进程。
应用并行化改造,通俗地讲,就是你在云端弄到了1000核资源,怎么把任务扔到云端,让其能够在1000核资源上高效地跑起来,这就是应用并行化改造需要解决的问题。像MOE这样的应用,由于单分子计算时间短,分子计算独立,子任务之间没有通信开销,输入输出数据量小,特别适合并行化运行。改造完成后,MOE任务可在云端分为若干子任务独立计算,节省大量时间。这一波应用优化做完后,用户可以省时省力地利用云端资源,轻松提升应用运行效率。
云端扩展性验证
本地/云端计算优化型实例
3000个分子
1、同等核数下,云端计算优化型实例的表现与本地计算资源相差无几;2、对应用进行并行化改造后,随着云端核数的增加,运算时间呈线性下降。当CPU核数从64核增加到384核(6倍)之后,运算时间从188.9分钟缩短为32.2分钟(5.9倍)。1、本地使用64核计算资源运算一组MOE任务(模拟约3000个分子),耗时190.4分钟;2、云端调度64核计算优化型实例运算一组MOE任务(模拟约3000个分子),耗时188.9分钟;3、云端调度128核计算优化型实例运算一组MOE任务(模拟约3000个分子),耗时94.7分钟;4、云端调度256核计算优化型实例运算一组MOE任务(模拟约3000个分子),耗时47.4分钟;5、云端调度384核计算优化型实例运算一组MOE任务(模拟约3000个分子),耗时32.2分钟。云端调度384核计算资源,将一组MOE任务(模拟约200000个分子)的计算周期从本地预估的8.7天缩短为1.5天,符合“2天内完成”的任务目标。1、云端调度64核计算优化型实例运算一组MOE任务(模拟约200000个分子),耗时12576分钟(与本地机房64核的预估时间相仿);2、云端调度128核计算优化型实例运算一组MOE任务(模拟约200000个分子),耗时6290分钟;3、云端调度256核计算优化型实例运算一组MOE任务(模拟约200000个分子),耗时3146分钟;4、云端调度384核计算优化型实例运算一组MOE任务(模拟约200000个分子),耗时2138分钟。在本实证中,无论是模拟3000个分子还是200000个分子,MOE的线性扩展都相对良好,当云端资源增加到384核之后,运算时间已经成功缩短到了2天以内。即便模拟的分子数量增加到百万甚至千万级别,经过应用并行化处理的MOE依旧可以很好地应对,同时fastone平台还支持使用对象存储自动优化存储效率和费用,以最大化地降本增效。有些应用特性不一样,如LS-DYNA和Fluent这两个应用,随着计算节点规模的增加,节点间通信开销会指数级上升,性能的提升便随之变缓。这种情况,我们也有经验:在期限内成功完成了200000个分子的模拟之后,课题组开始计划下一步任务。 出于对课题总体预算的把控,老师希望能对几个大规模MOE运算任务的花费进行预估,做到心中有数,以便及时调整计划。这时候,就轮到fastone平台的智能预测功能发挥了。用户在fastone平台的图形化操作界面运算MOE任务,完成以下步骤:1、用户上传数据文件(平台自动解析文件,判断其中包含的分子数量)2、用户输入期望的运算时间(平台推荐用户适配机型或用户自行选择机型)老师可以根据预测成本提前权衡,并在此基础上进行预算管控。而对于企业用户,涉及到预算审批流程,这块就显得更为重要,项目负责人能够非常方便地使用该功能预估项目费用,完成项目规划和申请。对于团队来说,fastone平台的权限和角色管理功能,支持管理员角色对每一个用户进行相关权限设定,包括预算使用上限和CPU核数使用上限。这是很多团队在上云时都可能面临的问题——团队成员共用一个账户,共享一个资源池和总预算额度。团队管理者——通常是课题组老师——对于项目整体消耗的总资源和总预算有一个清晰的概念,但往往很难对具体的操作人员进行计算资源和预算上限管控。fastone平台的权限控制功能方便管理员从全局角度管控项目的资源消耗。该功能与智能预测配合使用,能够从多个层面对预算和资源进行全方位规划。2、fastone平台成功将大规模MOE任务的运算时间缩短到了2天以内;3、fastone平台自定义工作流模板功能让用户一次制作,反复使用,既适配生命科学领域应用特性,又大幅提升用户和团队工作效率; 4、fastone平台的智能预测、权限和角色管理功能让课题组老师能够更轻松进行团队管理和项目规划。下一期的生信云实证,我们聊Schrödinger。 关于fastone云平台在其他应用上的表现,可以点击以下应用名称查看: