“IO一旦出现问题,整个计算效率会降低50%以上。License、昂贵的硬件、紧张的项目周期都会因此而卡顿,而HPCWorks可以帮助包括像英伟达这样的顶尖客户随时了解研发资源的实时情况和实时瓶颈。
—— Altair 企业计算部技术总监 王轶华
在2024年 Altair 技术大会的精彩演讲”
众所周知,Altair有三大产品线,AI产品线、HyperWorks产品线以及HPCWorks产品线。Altair在全球服务了大量包括芯片半导体、CAE、气象、生命科学等不同领域学科的HPC(高性能计算)应用需求。
为了更大范围扩展服务,我们也在不断收购和增加产品线,今天主要介绍一下最新的产品和技术以及分享如何帮助国内客户实现HPC业务降本增效的案例。分为以下几个部分:
1、 HPCWorks解决方案更新;
2、 AI和HPC融合的解决方案;
3、 HPC软件优化方向;
4、 HPC利用率优化。
以下为具体演讲内容:
01、HPCWorks解决方案更新
首先一起看看HPCWorks最新的情况:
大家都知道,目前企业的研发资源越来越多,同时会产生非常多复杂的需求,例如很多企业有不同架构资源需要混合,可能有Windows、Linux、英特尔、英伟达或者ARM处理器架构等几十个厂商的软件,以及上云下云等需求。
目前Altair已经具备了帮助用户完成全场景覆盖以及不同系统平台统一调度和管理的能力,同时提供了很多非常个性化的功能,比如高吞吐的计算。
日常有一些仿真计算是以分钟或者小时为单位的,但是在芯片行业或数据科学行业,可能是以毫秒级为单位的。一天超过百万级计算任务的时候,企业对于作业调度软件和基础设施的需求是完全不同的。我们的高吞吐百万级作业调度能力以及基于存储感知的调度可以帮助用户进行上云下云的HPC调度。
HPC里非常重要的是IO和存储。因为仿真的数据越来越多,结果越来越大,IO层面一旦出现瓶颈,会让整个HPC系统形成阻塞。我们的IO监控和遥测遥感工具可以让用户实时知晓整个后台算力的IO瓶颈和当前IO负载的情况。
我们也提供了全新的一体化门户和远程前后处理的技术。Altair有很多技术栈,可以通过HPC技术在云端直接调用GPU卡,启动Windows,从而启动Altair的前后处理软件,或者其他第三方公司的图形软件。用户可以把整个数据处理放在数据中心,也就是用户的工作站,不需要GPU卡,只需要一个浏览器或者客户端就可以完成一整套HPC计算与操作。
我们也有HPC管理系统,可以在HPC端提供管理员可见的基于Web的管理模式。另外我们创建了一个用于流程整合和数据治理的平台,在CAE行业叫仿真流程和数据管理,在芯片行业主要是芯片研发的多流程管理。
此外,我们还有License的监控和管理系统,对于整个企业来说仿真的资源占到非常大的比重,目前我们有一整套解决方案专门用于仿真软件的License使用情况、瓶颈情况以及明年使用情况的预测。
接下来介绍AI技术栈的导入:
现在很多客户需要CAE、AI,甚至有一些客户有芯片研发的需求,我们可以整合成一个统一的平台,例如PBS、HPCWorks等。我们提供了AI整套解决方案,包括和CAE的混合管理能力,以及对于云和成本的管理能力。
目前我们有四个作业调度软件:PBS、Accelerator、Grid Engine(见下图),可以服务于不同的业务场景。比如比亚迪不仅有整车的研发团队,还有芯片的研发团队,用我们的作业调度软件实现了一整套研发资源的调度和管理需求。
目前我们的应用性门户有Access、Control,同时还有对于IO、对于License的监控平台,以及对于IO和研发流程管理的平台。
目前很多用户都主要在用CAE的业务场景,但其实未来AI以及对于AI业务的混合管理会成为一个越来越重要的需求。我们提供对于AI平台、CAE平台以及EDA平台的大的整合管理,未来用户的研发资源池、算力池、存储池等几种不同的业务可以实现完全打通共享的状态。
接下来分享HPCWorks如何通过我们的解决方案帮助用户不断迭代和优化业务:
目前我们有资源调度软件帮助用户提升计算效率,同时我们有用于存储和硬件系统监控的Mistral。我们可以了解到底层硬件当前最内核的状况,这个对于很多用户来说是一个黑盒。
全球的著名公司,包括英伟达都在用我们的产品进行大规模HPC后台IO系统优化。IO一旦出现问题,整个计算效率会降低50%以上。License、昂贵的硬件、紧张的项目周期都会因此而卡顿,我们的系统可以帮助包括英伟达这样顶尖的客户随时了解研发资源的实时情况和实时瓶颈。
10月份Altair发布了一个新的产品:桌面软件的监控和分析平台,帮用户在整个企业内部(除了后端数据中心的HPC系统和存储以及License之外)管理每一个研发工程师桌面的工作站软件使用情况。每一个人在工作站上装的软件、软件打开时间、软件使用情况、License使用情况、审计等,都可以在工作站采集到信息,然后形成大的数据池。
了解到整个研发资源的使用情况后,使用Altair的Monitor,可以跟SAO进行合并,帮客户了解到浮动License的使用情况。我们还有基于SDM的项目管理以及一个新的产品InsightPro,可以帮客户了解到HPC基于作业调度软件层面的使用情况,基于HPC项目人员、时间节点,甚至一些工况的分析情况。
我们也加入了AI功能,在门户里用户可以通过AI功能在提交和计算任务之前就了解需要的时间和大概的资源。我们也提供了AI的业务场景,比如大家经常会用到的Jupiter Notebook的统一整合,包括Container和 K8S的整合,实现完整的AI算力和技术架构的整合和管理。
02、AI和HPC融合的解决方案
在AI和HPC整合方面我们也做了不少努力。国内很多用户希望专用自己的AI系统、AI算力、AI工程师,而CAE系统和软件给专门的CAE团队使用。但其实全球很多企业在底层基础架构,包括服务器、显卡、GPU卡等是可以作为整合的基础算力的。Altair HPCWorks的PBS就可以实现AI、CAE、EDA的计算资源池形成统一的整合。
那么,CAE和AI之间的区别是什么呢?CAE是标准的多线程并行计算,或者MPI的跨节点的计算。AI需要通过Container启动镜像文件,然后开始训练或者AI算法的学习过程。
如图中蓝色部分,我们提供了包括Spark、Magpie等的集成,也提供K8s的整合。我们还可以支持多种多样的Workload,放在一个统一的架构上进行管理。
对于很多AI研发工程师来说,AI和CAE的最大不同在于AI有专门的研发Workflow,这些Workflow是通过第三方的工具(比如 KubeFlow或者MLFlow等)实现,这些工具可能原生对接的管理系统是Kubernetes(K8s),但Kubernetes其实是一套专用的系统,基本上只针对于AI的业务场景。
很多用户希望实现资源复用,所以Altair开发了PBS Kubernetes Connector,把底层K8s的调度器替换成了PBS,使每一个GPU的资源池上有一个PBS的守护进程,叫PBS Mom。
用户通过MLFlow或者KubeFlow提交AI训练任务的时候,K8s会找到PBS的调度器,启动每一个硬件资源上的守护进程。通过这个技术实现昂贵的GPU资源在CAE和AI两个业务场景的复用,同时不改变原有的用户使用习惯。
目前,我们的HPCWorks也在不断加入AI功能,包括Deep Learning功能,也会提供给用户基于机器学习的资源预估功能。
2024年我们新发布了2024.2版本的HPC,更新了入口的一个功能,如图所示,Altair OptiStruct的结构求解器,在选择不同内存的时候,会对计算的时间和性能产生影响,用户输入不同的CPU核数或者内存参数的时候,菜单会自动给一个预估时间。用户在提交任务的时候就可以了解到需要怎么提高计算效率。
举个例子,一个AI工程师需要在AI的资源上提交一个Jupiter Notebook进行训练,或者基于学习的计算任务。在我们的门户里会给他一个基于Jupiter Notebook的启动资源,这个资源是基于HPC的调度分配,只有当GPU卡闲着的时候才会接收到AI训练的工作。
同时它也支持CPU和GPU的调度,在基于Web版本的用户提交了任务之后,可以开启一个IDE完成训练所需的资源,这个资源在AI工程师不用的时候还可以用做远程的前后处理以及CAE计算时需要GPU的业务场景。
03、HPC软件优化方向
Altair除了提供HPC的调度器之外,还有一整套License管理和监控工具:
(1)Insight Pro:基于HPC使用情况的数据管理
(2)SLAM:整合了之前的SAO软件资产优化和License Monitor两个工具,可以自动抽取企业内部几十种第三方CAE、CAD或者EDA软件的License使用情况,进行数据清洗和数据入库,最后通过数据展示了解整个License的历史使用情况,同时还有一些预测功能。
(3)LSC:具有License管理功能,面向企业内部的几十个License Server,可以进行远程License更换、License Option配置、License的启停、License的状态监控等。也可以导入企业内部的组织架构,针对不同人员进行License的消耗和使用情况管理。
(4)DSUA:每一个工程师桌面电脑的License统计分析工具。
如下图,是整个解决方案的系统架构,中间有数据库、Web Server、Scheduler,导入企业内部的组织架构,可以方便用户了解不同部门不同人员不同项目组的License资产使用情况,进行基于人员的分析。同时会有HPC的数据进入,将各种各样的License数据导入数据库里。最后使用专门装在每一个工程师工作站上的数据收集工具将数据收集起来。
通过一整套的工具,用户可以了解所有HPC端、License端、桌面工作端的实际使用情况以及生成相关的报表。
下图是系统架构的通用因素,有高性能数据库、数据清洗、认证功能导入等。我们会在每个浮动License上装一个agent,把每个License的数据采集出来,放在数据清洗和数据存储的数据库里。最终会提供给用户一个入口,通过这个入口可以看到企业内部所有License相关的消耗情况以及进行相关计费等。
前面提到,我们有三个工具(目前都在HPCWorks的解决方案里),通过这三个工具,企业可以对License的所有监控管理以及每个工程师使用情况进行大的整合:
SLAM:是软件资产优化和License监控的两个工具的合并,可以快速地装在所有的License Server上,把实时和历史的数据进行大的整合。同时支持多种多样的License服务器,可以把这些所有数据收集起来。
LSC:主要有License管理功能。
DSUA:是桌面License的管理工具。
License是非常昂贵的资源,可能比硬件贵很多,对很多用户来说,这些资源的真正使用情况、饱满度、使用位置、优化空间等都需要数据提供管理支持,最终可以帮助用户规划出正确的License投入。对于昂贵资产,通过数据的预测可以得到更加真实可靠的结果。
04、HPC利用率优化
HPC和软件License通常有很多问题,可能出现资源不够或库存爆掉的情况。HPC关联的资产通常非常昂贵,很多大型头部企业每年在HPC上投的软件费用可能上亿,在算力的投入可能几千万。但是真正的使用情况以及问题的发现和解决对企业而言是个难点。
目前企业都面临着降本增效的问题,期望通过现有的资源,在不增加投入的情况下提高有效产出以及提升用户体验。Altair在多年不断探索和产品迭代中发现,用户需要解决智能调度策略问题,在资源空闲的时候能够自动把紧急任务或需要大量使用资源的任务安排出去,并且把用户的计算时间进一步缩短,同时也能帮用户发现上亿资产背后的瓶颈。
我们可以基于资源利用率帮用户进行HPC优化。首先通过采集到的资源情况、IO情况、License情况进行大量分析,帮用户诊断问题,带来企业全局收益,提升整体轮转效率,甚至实现用更少的资源完成更多的任务。
我们也可以基于资源切片分析进行优化。切片分析指通过后台自动化策略帮助用户实现智能调度,达到利用率的提升。
对于企业而言,及时发现问题并持续优化,可以大幅度提升企业投资回报。当面对各种约束条件的时候如何提升现有系统效率,是非常值得我们思考的问题。
以上,就是本次演讲全部内容。