首页/文章/ 详情

这样跑COMSOL,是不是就可以发Nature了

7月前浏览15315
说起多物理场仿真,必然绕不开COMSOL Multiphysics
不局限于究竟是哪种物理场,不局限于物理场之间如何实现耦合。COMSOL提供统一的数值仿真平台,使用相同的操作界面和工作流进行不同类型的数值仿真,可以说十分优秀了。

从1998年发布首个版本至今,COMSOL一直在持续进化,如今它已经有了30多个针对不同应用领域的专业模块,涵盖力学、电磁场、流体、传热、化工、MEMS、声学等专业学科,并可以将不同的物理问题关联起来,方便研究不同物理过程之间的相互作用。
越来越多Nature、Science及其子刊论文都用到了COMSOL模拟。

今天我们以一个高校用户为例,讲讲我们在COMSOL实际运用过程中,除了速度和效率的提升外,还帮他们解决了哪些问题?
比如:
Windows还是Linux?这是个问题
关于多机并行,有多少种不同的打开方式
一旦用了外部资源,比如超算,本地机器闲置了,就问你心不心疼?
本地环境维护,就问你操不操心?
老师的需求:既要,又要,还要,一把满足,这真实吗?
……
所以,现在可以发Nature了吗(划掉)


   

       

       

用户需求


       

   
某高校课题组有5台工作站,虽然机器比较老旧,但平时大家协商着划分时间轮流跑任务,甚至还有排半夜的。整体来说,资源也勉强够用。    
最近该课题组新增了几名成员,并申请到了几个科研项目,需要使用COMSOL做大量仿真计算,这就直接导致了计算资源捉襟见肘。
 
现在的问题点主要有三个:
1、人多了,难管理,资源利用率整体很低;
2、他们也用过超算,但是资源是共享的,有随时被抢走的风险,心里没底,而且没法跟本地连到一起来用;
3、本地的各种维护工作,应用升级,安装配置等工作非常繁琐,需要耗费大量时间手工操作。



   

   

实证目标


 

   

   
1、COMSOL任务能否在云端跑得更快?    
2、fastone平台的云解决方案能否同时利用好课题组的本地资源?    
3、fastone平台的资源能否提供更大的用户权限?    
4、fastone平台能否将各种维护工作降到最低?
   

 


   

   

实证参数


 

平台:
fastone企业版产品
 
应用:
COMSOL Multiphysics
 
场景:
电磁场分析、风力发电机噪音分析、HVAC导管流线分布等
 
系统:
Windows/Linux
 
云端配置:
计算优化型实例/网络加强型实例
 
架构图:



   

   

实证过程


 
 
一、Windows还是Linux?这是个问题
 
COMSOL同时支持Windows和Linux系统的集群计算。用户一直使用的是较为熟悉的Windows版本。
 
现在,让我们默念三遍:Windows的世界,一切都要钱的。
 
单机跑的情况下,这不是什么大问题。
但一旦涉及到多机多核运行任务,问题就大了。
 
比如:
主流云厂商对不同操作系统镜像有不同的定价方式。整体来说,通过Windows系统使用云资源价格比Linux系统要贵。
因此,使用Linux替换Windows也可以有效节省成本。
所有,都要钱。
总之,不是长久之计。
 
而如何从Windows系统转换到Linux系统呢?
这就跟习惯了用Android系统的人,换成iOS一样。一旦适应,操作就如丝般顺滑。
为了确保这一点,我们支持用户在Linux系统中使用图形化界面操作COMSOL任务,用户只需熟悉一下Linux的常用操作与工具(如浏览器、文本编辑器),即可在很短的时间内上手,操作习惯几乎无需改变。

而这也为今后用户在Linux上多机集群化跑COMSOL打下了省钱的基础

二、多机并行,不同的打开方式决定了运算效率
 
根据我们的经验,COMSOL的情况与Fluent类似。
当核数较低时,性能提升与核数基本成正比;而当云端核数逐渐增加后,由于节点间通信开销指数级上升,性能的提升会随着线程数增长逐渐变缓。
 
关于如何解决节点之间数据交换造成的通信开销问题,可以参考Fluent和LS-DYNA这两个应用实证:
LS-DYNA求解效率深度测评 │ 六种规模,本地VS云端5种不同硬件配置
怎么把需要45天的突发性Fluent仿真计算缩短到4天之内?

下图可以看到我们推荐用户使用的网络加强型实例对比计算优化型实例的效果。

基于Linux系统多机模式计算,在云端使用16-96核不等的计算资源运行两组COMSOL任务,可以观察到当计算资源线性增加时,任务耗时呈线性减少。
网络加强型实例可以有效解决COMSOL任务通信开销问题。
 
fastone平台可以根据用户需求和任务特性,为用户推荐最适配的云端配置
甚至,我们的Auto-Scale功能可以根据不同的用户策略,比如成本最优还是时间优先,自动化跨区、跨类型为用户调度云资源,完成计算任务。

至于不同策略具体怎么落地执行?
相比时间优先策略,成本优先怎么做到降低成本最多达67%-90%?
在这篇实证《生信云实证Vol.3:提速2920倍!用AutoDock Vina对接2800万个分子》里体现得十分明显。

即便是比拼单机性能,由于云上机型更新速度快,相比课题组本地老旧的工作站单机性能也提升了超过三分之一

关于单机和多机计算背后的详细原理和意义,可以参考VCS应用实证《EDA云实证Vol.7:揭秘20000个VCS任务背后的“搬桌子”系列故事
云上资源的更新有多快?看这篇《国内超算发展近40年,终于遇到了一个像样的对手

三、多人并行又是个什么东西?
 
多机并行有了,多人并行又是个啥?

如果在本地工作站场景,多人并行就是几台机器就是几个人用呗。
使用我们平台,用户数量和机器数量不再直接挂钩。更不用说云端无限资源带来的几乎无限的人员扩容空间了。

这就不可避免地涉及到了权限和角色管理的问题。
fastone平台的权限和角色管理功能,支持管理员角色对每一个用户进行相关权限设定,包括预算使用上限和CPU核数使用上限。 
 
多机并行+多人并行,简单来说就是,要啥有啥。
 
四、本地云端统一平台,既不操心,又不心疼,还划算,还简单
 
1、当然是大大优化整体效率。
由于课题组在平台上跑的应用远不止COMSOL一种,fastone平台可对不同应用、不同资源、不同成员的使用情况进行整体监控与评估,并为课题组提供合理化建议,极大地提升了整体效率。

2、本地工作站不再闲置,用满不心疼
课题组导师觉得放着本地工作站不用简直就是“浪费”。
在获取外部资源的同时,还是希望能够将本地的工作站资源给充分利用起来,不然可太心疼了,毕竟当年也是花大价钱买来的
 
我们为课题组提供了一个混合云平台。
当用户处理日常任务时,可以只在本地运行。
而当本地资源不足以应付时,直接自动连接云端海量资源进行运算,操作相当方便,完全不改变用户的操作习惯。

3、本地软硬件资源维护,不用操心
课题组的本地环境是需要持续维护的。
有老师跟我们吐槽说,一天天地忙着维护环境,整得跟运维工程师一样了,太耽误事儿。想找学生帮忙吧,他们很多也不懂啊~
老师们的硕博后们也苦不堪言,本专业要学的东西已经多到爆炸,又要理论还要搞实验,还要学大量计算机专业知识……

我们的云上运行环境都是自动化配置的,不需要人工干预,用户还可以通过平台进行统一管理和监控,方便易操作。
 
五、超算,是完美的解决方案吗?
 
1、超算资源是无法与本地资源做成一个整体平台,统一管理的。
所以,既没有整体监控和管理,又没有混合云,还没有自动化维护。
当然,Auto-scale也肯定没有。

下图是开启Auto-Scale功能后,用户某项目一周之内所调用云端计算资源的动态情况

2、不同于超算的共享模式,我们提供的是绝对不会被抢走的独占资源。
这点可太重要了:
1)云资源在任何情况下都不用会被抢走。而超算由于要优先服务国家级科研项目,在某些情况下,即便已经分配到的超算资源,也有可能会被无条件收回;
2)可根据用户的习惯和应用的特性自由选择操作系统,没有任何限制;
3)提供完全开放的管理员权限,应用安装灵活,且fastone针对市面上常见企业级应用均进行过云原生优化,可随时提供技术指导;
4)用户可随时安装所需的依赖组件。
5)独占资源,安全。

关于超算与云计算在整体规模、使用体验、计费方式、商用门槛、更新周期、合作生态、云端支持等方面的全方位对比,可以扫码添加小F获取完整版 白 皮 书。
 


   

   

实证小结


 

1、fastone平台 完美支持COMSOL的基于不同用户策略的多机和多人并行,可大大提升任务效率;
2、fastone支持搭建本地云端统一的混合云平台,完全不浪费本地资源,本地资源不足时自动溢出到云端,操作还简单,提高整体效率;
3、fastone平台提供独占资源,绝不会被抢走,开放管理员权限,安全灵活;
4、fasonte平台环境完全自动化配置,无需手动维护,省事。

本次CAE行业Cloud HPC实证系列Vol.11就到这里了。
下一期的CAE云实证中,我们聊Abaqus。

高效、方便、安全、稳定、省钱……我们对于高校科研的提升远不止于此,更多有关fastone高校科研云平台的疑问与解答请扫描二维码添加小F微信(ID:imfastone)获取《这一届科研计算人赶DDL红宝书:学生篇/老师篇》

关于fastone云平台在其他应用上的具体表现,可以点击以下应用名称查看:
HSPICE │ Bladed │ Vina │ OPC │ Fluent │ Amber │ VCS │ LS-DYNA  MOE │ Virtuoso

 END -

我们有个为应用定义的CAE云仿真平台
集成多种CAE/CFD应用,大量任务多节点并行
应对短时间爆发性需求,连网即用
跑任务快,原来几个月甚至几年,现在只需几小时
5分钟快速上手,拖拉点选可视化界面,无需代码
支持高级用户直接在云端创建集群 
扫码免费试用,送300元体验金,入股不亏~

更多电子书
欢迎扫码关注小F(ID:imfastone)获取

你也许想了解具体的落地场景:
Auto-Scale这支仙女棒如何大幅提升Virtuoso仿真效率?
1分钟告诉你用MOE模拟200000个分子要花多少钱
LS-DYNA求解效率深度测评 │ 六种规模,本地VS云端5种不同硬件配置
揭秘20000个VCS任务背后的“搬桌子”系列故事
155个GPU!多云场景下的Amber自由能计算
怎么把需要45天的突发性Fluent仿真计算缩短到4天之内?
国内最大规模OPC上云,5000核并行,效率提升53倍
提速2920倍!用AutoDock Vina对接2800万个分子
从4天到1.75小时,如何让Bladed仿真效率提升55倍?
从30天到17小时,如何让HSPICE仿真效率提升42倍?

关于为应用定义的云平台
这一届科研计算人赶DDL红宝书:学生篇
杨洋组织的“太空营救”中, 那2小时到底发生了什么?
速石科技获元禾璞华领投数千万美元B轮融资
一次搞懂速石科技三大产品:FCC、FCC-E、FCP
速石科技成三星Foundry国内首家SAFE™云合作伙伴
Ansys最新CAE调研报告找到阻碍仿真效率提升的“元凶”
国内超算发展近40年,终于遇到了一个像样的对手
帮助CXO解惑上云成本的迷思,看这篇就够了
花费4小时5500美元,速石科技跻身全球超算TOP500


来源:数值分析与有限元编程
LS-DYNAFluentHPCAbaqusComsol电子通信云计算Bladed声学理论电机爆炸MEMS上云装配
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-04-02
最近编辑:7月前
太白金星
本科 慢慢来
获赞 5粉丝 15文章 326课程 0
点赞
收藏
作者推荐

Windows安装WSL2

Windows Subsystem for Linux(简称WSL)是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。微软官方安装文档地址:https://docs.microsoft.com/en-us/windows/wsl/install-manual WSL版本选择WSL :也就是我们常说WSL1,第一个版本,对windows的版本要求较低WSL2:第二个版本,要求WIN10版本高于1903至于两个版本的区别不是本文的重点,就不做过多的介绍了。为保证安装过程顺畅,提前下载Linux内核更新包。下载地址:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi CPU开启虚拟化如果你是这几年新买的电脑,默认这项是打开的。注意这一项每个电脑主板型号的不同,设置的方法也不同。所以最好的方法,是你根据自己主板的型号,去百度或者必应搜索一下开启虚拟化的方法。安装WSL2第一步:启动WSL。用管理员身份打开PowerShell,然后在PowerShell中,输入下面的命令:dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 第二步:启动虚拟功能。同样在PoweShell中输入下面的命令:dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 这两步完成后,如图输入完命令后,要重启一下电脑,然后再进行第三步。第三步:安装Linux内核更新包。第三步:将WSL2设置为默认版本。打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本,命令如下。wsl --set-default-version 2 第五步:安装Ubuntu发行版打开Microsoft Store,并选择你喜欢的Linux分发版。这里需要登陆Microsoft store。搜索wsl,我这里选择Ubuntu 20.04 LTS并进行安装。安装完成打开命令行窗口,设置用户名和密码。在Windows Terminal中配置Ubuntu 20.04配置方法参考 配置高颜值的Windows Terminal打开setting.json文件,在"profiles"项目找到 "Ubuntu-20.04"那个位置,{ "guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}", "name": "Ubuntu-20.04", "source": "Windows.Terminal.Wsl", // 以下为新添加 "fontFace": "FiraCode NF Retina", "fontSize": 16, // 颜色 "colorScheme": "Homebrew"}来源:数值分析与有限元编程

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈