CFD(ComputationalFluidDynamics,计算流体动力学)是一种利用计算机来解决工程流体流动问题的方法,具体方法是数值计算,通过计算机求解流体流动过程中的质量传递、能量传递、动量传递以及化学反应问题,不受物理模型和实验模型的限制,省钱省时,可以模拟真实条件和实验中很难达到的理想条件。
Fluent算得上应用最广泛的CFD应用了。年5月,正式成为Ansys大家庭中的重要成员,共享先进的Ansys公共CAE技术。
数值计算方法有几个难点:
1、很大程度上依赖于经验与技巧;
2、数值处理方法可能导致计算结果不真实;
3、因为涉及大量数学计算,有很高的计算资源需求。随着应用的物理建模不断精细,数值模拟分辨率越来越高,对计算能力的要求也越来越高。
当求解问题规模越来越大,网格数上升到几千万甚至上亿的时候,如何让Fluent仿真任务在更短的时间迭代收敛呢?
面对永无止境的计算需求,我们主要发挥作用就在第三点上。
今天我们通过一个实证来看看具体怎么实现。
用户需求
某高校实验室使用AnsysFluent进行基于化学反应模型的CFD流体仿真,因科研项目需要结题,需要在一周内完成10多个case的运算。
该实验室有80核本地资源,通常情况都是单机跑,没有集群环境。根据以往经验推断,要完成这组任务需要花费至少45天才能完成。
实验室老师也考虑过使用超算。
但一方面,超算的使用门槛比较高,且应用需要用户配置,无法做到开箱即用,他们更习惯拖拉曳的图形界面操作方式。
另一方面,该实验室迫切需要能够在短时间内使用比较大规模的算力资源,而超算没这么快,需要等。
我们从整体规模、使用体验、计费方式、商用门槛、更新周期、合作生态、云端支持七个角度对超算和云计算进行了全方位的对比,有兴趣可以看一下《国内超算发展近40年,终于遇到了一个像样的对手》
实证目标
1、Fluent任务能否在云端有效运行?
2、fastone能够短时间内获取大量算力资源,大幅度缩短项目周期?
3、Fluent应用的高效率并行性是否在云端同样适用?
4、针对擅长和不擅长编程的用户,fastone能否提供不同的操作方式?
5、fastone平台能否支持实时查看残差图?
实证参数
平台:
fastone企业版产品
应用:
AnsysFluent20.20
操作系统:
CentOS7.6
适用场景:
油/气能量的产生和环境应用
航天和涡轮机械的应用
汽车工业的应用
热交换应用
电子/HVAC应用
材料处理应用建筑设计和火灾研究
云端硬件配置:
AnsysFluent一直宣称自己支持高效率的并行计算功能,在年曾联手CRAY和HLRS超算创了一项世界记录,将Fluent扩展到超过,个计算机核心。
对于以有限单元法为基础的CFD类计算,尤其是选用隐式格式和耦合算法的时候,并行计算时会将网格分成很多块放在不同的计算节点上,在计算时每个迭代步节点之间需要进行大量的数据交换。因此,节点之间的数据通信就显得尤为重要。
Fluent通过内置MPI并行机制来大幅度提高可扩展性,通过放大计算资源规模来最短时间给出高精度的计算结果。
而在本地或超算环境,比较有效的解决方案就是IB-Infiniband。
针对这一特性,我们分别在云端选择了计算优化型实例和网络加强型实例进行验证。
调度器:
Fluent原生只支持LSF/SGE/PBS调度器,平台通过SlurmWrapper的方式都可以支持。关于这一点,下次再细讲。
这篇文章《亿万打工人的梦:16万个CPU随你用》里,我们基于这四家主流调度器:LSF/SGE/Slurm/PBS以及它们的9个演化版本进行了梳理和盘点。
技术架构图:
实证场景一
云端扩展性验证
理想值VS云端计算优化型实例
结论:
1、在云端使用计算优化型实例,当所调度资源在核及以下时,云端扩展性较好。
2、随着核数逐渐增加,由于节点间通信开销指数级上升,性能的提升随着线程数增长逐渐变缓。当核数增加到核时,计算优化型实例共耗时.6小时,比理想耗时高16.6小时。
实证过程:
1、云端调度核计算优化型实例运算一组Fluent任务,耗时.8小时;
2、云端调度核计算优化型实例运算一组Fluent任务,耗时.2小时;
3、云端调度核计算优化型实例运算一组Fluent任务,耗时.4小时;
4、云端调度核计算优化型实例运算一组Fluent任务,耗时.3小时;
5、云端调度核计算优化型实例运算一组Fluent任务,耗时.1小时;
6、云端调度核计算优化型实例运算一组Fluent任务,耗时.8小时;
7、云端调度核计算优化型实例运算一组Fluent任务,耗时.3小时;
8、云端调度核计算优化型实例运算一组Fluent任务,耗时.6小时。
实证场景二
云端扩展性验证
云端计算优化型实例VS云端网络加强型实例
结论:
1、在云端使用云端网络加强型实例,调度核计算资源,最多可将运算一组Fluent任务的耗时从本地单机环境的45天缩短到90.6小时(3.天),可满足该实验室“一周内完成”的要求;
2、网络加强型实例有效解决了Fluent任务并行计算节点间通信问题,在云上展现出了良好的线性扩展性。在相同的核数下,网络加强型实例的线性十分接近理想值。也就是说,如果核数增加,仿真所需时间会成比例缩短。
实证过程:
1、云端调度核网络加强型实例运算一组Fluent任务,耗时.1小时;
2、云端调度核网络加强型实例运算一组Fluent任务,耗时.3小时;
3、云端调度核网络加强型实例运算一组Fluent任务,耗时.2小时;
4、云端调度核网络加强型实例运算一组Fluent任务,耗时.2小时;
5、云端调度核网络加强型实例运算一组Fluent任务,耗时.4小时;
6、云端调度核网络加强型实例运算一组Fluent任务,耗时.1小时;
7、云端调度核网络加强型实例运算一组Fluent任务,耗时.3小时;
8、云端调度核网络加强型实例运算一组Fluent任务,耗时90.6小时。
实证场景三
任务提交方法
journal标准流程化模式VSFluent应用图形界面模式
我们为有编程基础的用户提供journal标准流程化模式,用户可在Web浏览器中直接提交已编写好的journal文件,开启云端Fluent任务,方便快捷。
而对于无编程基础的用户提供Fluent应用图形界面模式,用户可通过Web浏览器启动集群,跳转到虚拟桌面,并可在该桌面直接操作Fluent应用进行相应设置以开启云端Fluent任务。
journal标准流程化模式分为三个步骤
1、通过Web浏览器登录fastone平台;
2、在Web界面新建任务、选择应用、配置资源;
3、在应用中选择journal文件(即Fluent脚本文件),输入所需资源和应用参数(如求解器精度),提交任务。
该种方式要求用户有能力自定义journal文件,即需要用户具有一定的编程基础。由于该高校科研组缺乏相应编程能力,fastone为其提供了Fluent应用图形界面提交方式。
Fluent应用图形界面模式有四个步骤
1、通过Web浏览器登录fastone平台;
2、在Web界面新建集群、配置资源;
3、在已创建的集群点击WebVNC远程桌面图标(同时提供WebSSH远程命令行功能);
4、跳转到虚拟桌面,可在该桌面直接操作Fluent应用进行相应设置以提交任务。
该种方式模拟出了Fluent的原生界面,用户更为熟悉操作环境,使用体验较好。
平台还支持实时查看残差曲线,监控计算的收敛情况。
实证场景四
用户模式
普通用户模式VS高级用户模式
上一个场景里的journal标准流程化模式就是通过Web浏览器选择新建任务、选择应用、上传文件,输入参数,配置资源等一系列向导式路径提交任务。
而对于高级用户,比如本身对应用工作流的理解和编程能力超强,可以不用走普通用户通过应用向导式提交的路径,可以直接根据自己写的脚本,通过Web浏览器选择新建集群,然后按需动态地在云端创建HPC集群。
关于我们在云端部署自动化模式VS传统手动模式间的巨大差异可查看:EDA云实证Vol.1:30天到17小时,如何让HSPICE仿真效率提升42倍?
关于我们的Auto-Scale功能自动监控用户提交的任务数量和资源的需求,动态按需地开启所需算力资源,在不够的时候,还能根据不同的用户策略,自动化调度本区域及其他区域的目标类型或相似类型实例资源,看这篇:生信云实证Vol.3:提速倍!用AutoDockVina对接万个分子
实证小结
1、Fluent任务能够在云端有效运行;
2、fastone能够快速获取大量云端算力,大幅缩短项目周期;
3、针对Fluent应用对节点间数据通信的高要求,选择网络加强型实例可以在云端达到很好的高效率并行性;
4、针对不同的用户,fastone提供多种任务提交方式以供选择,既支持journal标准流程化模式,也支持Fluent应用图形界面模式;
5、fastone平台支持实时查看残差图;
6、高级用户可以根据自定义脚本,直接在云端创建HPC集群。
本次CAE行业CloudHPC实证系列Vol.5就到这里了。在下一期的CAE云实证中,我们将利用速石平台使LS-DYNA模拟性能得到极大提升。
未来我们还会带给大家更多领域的用云“真香”实证,请保持