HSWAP:适用于高性能计算环境的数值模拟工作流管理平台
2019-08-27赵士操肖永浩段博文李于锋
赵士操 肖永浩 段博文 李于锋
摘 要:针对高性能计算(HPC)环境中的“建模、计算、分析、优化”一体化应用构建的问题,设计了支持数值模拟软件封装和数值模拟工作流交互设计的数值模拟工作流管理平台——HSWAP。首先,基于对数值模拟活动的运行特征共性建模构建组件模型;然后,利用工作流表达数值模拟活动间的控制、数据依赖关系,建立形式化的数值模拟工作流模型,所形成的工作流模型可在平台中自动解析并适配高性能计算资源,从而实现批量关联数值模拟任务的自动生成与调度,为领域用户屏蔽高性能计算资源的使用细节。平台提供Web Portal服务,支持图形数值模拟程序的交互界面推送。目前该平台已在超算中心实际生产环境得到部署应用,可在2人月内完成包含10个以下数值模拟软件、20个以内计算任务节点的数值模拟工作流的集成。
关键词:科学工作流;数值模拟;软件集成;高性能计算;Web服务
中图分类号: TP391.9(计算机仿真)
文献标志码:A
Abstract: Concerning the construction of integrated application of “modeling, computation, analysis, optimization” workflow under High Performance Computing (HPC) environment, HPC Simulation Workflow Application Platform (HSWAP) supporting numerical simulation software encapsulation and numerical simulation workflow interaction design was developed. Firstly, based on the modeling of runtime characteristics of numerical simulation activities, the component model was built. Then, the control and data dependency relationships between simulation activities were represented by the workflow, creating a formal numerical simulation workflow model. The formed workflow model was able to be automatically parsed in the platform to adapt to HPC resources. Therefore, HSWAP platform could be used for automatic generation and scheduling of a batch of related numerical simulation tasks, screening technical details of HPC resources from domain users. The platform provided Web Portal services, which supports the push of interactive interfaces of graphical numerical simulation programs. The platform is already deployed and applied at Supercomputing Center and with this platform, the integration of numerical simulation workflows with up to 10 numerical simulation softwares and 20 computing task nodes can be completed in 2 person-month.
Key words: scientific workflow; numerical simulation; software integration; High Performance Computing (HPC); Web service
0 引言
在科學研究和工程实际中,数值模拟发挥着越来越重要的作用,并且数值模拟的地位正在由单纯的验证走向“设计优化制造运维”的全生命周期管理,对于模拟的精度要求也越来越趋向于部件级的精确。在这一趋势下,高性能计算机的用户正在由具有专业知识的计算团队普及到一般工业用户,对高性能计算(High Performance Computing, HPC)的需求正在由解决关键瓶颈计算问题走向从建模到分析的各阶段日常模拟,对高性能计算机的应用模式正在由单一问题的大规模并行计算走向由不同领域计算任务协作集成形成一体化应用,比如复杂产品研发的“建模、计算、分析、优化”过程,需要集成使用不同领域的相关软件,由具有数据关联的系列计算任务协作完成。
为了适应这些新的变化,业界从不同的角度给出了一些解决方案。首先针对用户群体普及化这一问题,高性能计算服务化方面的研究极大地简化了高性能计算资源使用的成本,许多高性能计算资源运营方提供了基于Web的应用服务封装(Web Portal)[1],用户可以通过在线提交表单的方式便捷实现对高性能计算资源的利用,而无需了解系统本身的知识;而如XSEDE(eXtreme Science and Engineering Discovery Environment)[2]、超级计算环境(Super Computing Environment, SCE)[3]这样的高性能计算环境和中间件的建立则进一步屏蔽了异构计算资源的使用差异,为用户提供了统一的资源入口,应该说在软硬件资源的封装和服务化方面,目前已经具有了很好的应用示范。其次在计算任务集成协作方面,一方面各大数值模拟软件供应商都正在发展自身的集成业务平台,试图整合自身所拥有的软件资源,提供流程化的软件集成功能,比如ANSYS Workbench、COMSOL、BIOVIA Pipeline Pilot、安世亚太PARA等;另一方面在材料、生物、医学、高能物理等领域,国外学术界流行的科学工作流(Scientific Workflow)管理系统[4],提供了可将复杂科研过程中的数据收集、处理、分析和可视化等步骤进行按需组合,形成可在分布式异构资源环境下按照自定义逻辑关系顺序进行自动执行的流程的能力,在实际的应用中科学工作流这种模式也取得了比较好的应用效果,比如Pegasus系统[5]在激光干涉引力波天文台(Laser Interferometer Gravitational-Wave Observatory, LIGO)项目中辅助引力波探测分析,取得了很好的应用效果。
从当前业界的相关工作和产品中可以看出,简化高性能计算资源的使用接口、屏蔽计算资源的异构特征能够有效地降低高性能计算资源的使用瓶颈;流程化集成计算任务是解决全生命周期、多阶段、多领域复杂科学工程模拟的有效手段。但这两者的有机结合,即实现高性能计算资源上流程化集成计算任务的高效执行在目前的解决方案中都存在着一些缺陷。高性能计算资源运营方充分了解硬件资源的特点和软件资源的资源需求特征,所提供的Web Portal和高性能计算环境中间件能够有效地利用高性能计算资源,但所形成的应用服务仅能满足单一软件的在线应用,缺乏流程化的计算任务集成能力,从而无法通过简单的方式组织全生命周期复杂科学工程模拟。数值模拟软件供应商发展的集成业务平台,打通了数值模拟程序间的数据接口,具有良好的流程化集成能力,能够形成包含多阶段计算过程的一体化集成应用,但受限于商业壁垒,这些集成业务平台往往基于自身已有的产品链进行设计,缺乏开放的扩充能力,其形成的计算流程也只是调用高性能计算资源而不是在高性能计算资源上执行;同高性能计算资源的接口也只是简单地封装了作业投递接口,高性能计算资源无从知晓计算流程的全貌,从而无法在调度上根据流程特征进行优化,并且其强交互桌面程序的产品形态并不适于逐渐走向服务化的高性能计算资源。科学工作流管理系统具有成功的应用范例,能够实现计算流程的柔性组装,并且能够在网格计算资源进行流程优化调度,但科学工作流主要面向科学数据处理进行设计,任务粒度一般为数据处理算子,难以实现基于数理方程求解的计算任务的流程组装。
为了能够有机地结合高性能计算服务化和计算任务流程化集成,使高性能计算资源运营方能够提供流程化集成各类型数值模拟计算任务的服务,本文研发了适用于超算环境下数值模拟计算任务流程化集成的连贯计算平台——HSWAP(HPC Simulation Workflow Application Platform)。相比于其他解决方案,HSWAP主要针对高性能计算资源上求解数值模拟工作流中面对的两个关键性问题进行设计:1)各类计算任务基于不同的物理模型,求解过程相对独立,但不同的计算任务在尺度上、生命周期上具有自然的参数依赖关系,各个计算任务需要明晰自身在整体问题求解过程中的语义,以确定输入输出映射关系及物理意义。2)物理模型不同、数值算法不同的各类计算任务对于计算资源的需求特征具有极大差异。该平台目前已在超算中心实际生产环境部署应用,支持了材料、光学、力学等领域的若干应用。
1 相关技术介绍与技术路线
HSWAP平台是为了解决科学与工程计算中,在超算资源上使用系列建模/模拟/分析软件工具解决复杂应用问题时,由于软件应用领域差异或计算方法差异导致各个环节脱节,需要人工干预,造成整体工作流程不连贯,导致整体求解效率低下的问题。为了解决以上问题,HSWAP平台需要针对以下问题进行设计:
1)适用于多领域数值模拟软件的普适封装技术;
2)面向数值模拟计算任务集成的灵活流程定制;
3)无缝对接异构超算环境,屏蔽资源使用细节;
4)提供适用于超算服务模式的易用交互界面。
围绕以上技术特征,高性能计算服务化、科学工作流、集成业务平台等都从不同的侧面为HSWAP平台提供了技术解决的途径,以下先讨论相关技术的发展情况,再介绍HSWAP平台的技术路线。
1.1 高性能计算服务化
高性能计算服务化包含多方面的研究内容,这里主要关注两方面:1)管理异构计算资源的服务中间件;2)推送数值模拟应用到用户浏览器的Web Portal。第1)个方面从2004年开始,在美国Tera-Grid科学网关[6]规划项目资助下产生了如Globus工具箱[7]等许多中间件工具,我国的中国科学院计算机网络信息中心也为国家网格的建设开发了SCE中间件[3]。从以上工作可以看出,管理异构计算资源的重點在于提供统一的访问代理实现对用户透明的资源调度和数据访问。第2)个方面则着重于应用程序的封装,比如基于Portlet的相关技术,如中国科学院计算机网络信息中心提出的高性能计算应用集成组件(High-Performance Computing Applications Integration Toolkits, HPC-AIT)技术[1],完成了面向领域应用的基于Web表单的任务投递,简化了用户交互接口。
1.2 集成业务平台
集成业务平台是数值模拟软件提供商通过流程化定制模式解决复杂问题、提升软件应用效率的解决方案。索为公司IDE归纳分析过程中的规则并将其封装为模板,用户可通过模板进行设计和分析工作,实现知识驱动的模块化设计;并在模板间建立数据流以及控制流,使设计方案中的各种模板有机地关联耦合在一起;ANSYS Workbench实现基于其产品线的计算机辅助设计(Computer Aided Design, CAD)到计算机辅助工程(Computer Aided Engineering, CAE)参数的双向传递,实现CAD-CAE之间设计与仿真协同,并为进一步执行参数化设计、仿真及优化奠定了很好的基础。同时,Workbench发展了Workbench SDK开发包技术,可以非常便捷地实现诸如专用程序开发、流程自动化和简化、专家经验的保存和固化、分析规范的保存和固化、自由程序的包装、其他程序的集成等众多的用户化开发功能;安世亚太PARA实现了工作流管理、仿真流程管理、工具组件定义和研发过程数据管理,将任务、数据、知识等设计师工作相关的内容有机地结合起来,为设计师提供集成的工作环境。支撑平台模式强调知识/数据管理,通过组件化、业务流程化更灵活、方便地支撑工程应用人员进行软件的高效应用。
1.3 科学工作流
科学工作流的概念起源于业务工作流,相对于BWF(Business WorkFlow),其特征在于数据驱动,在不同的场合科学工作流(Scientific Workflow)又被称为数据驱动工作流(Data-driven Workflow)或数据密集工作流(Data-intensive Workflow),科学工作流的重点在于对数据流的有效管理,其面向的问题领域是管理分析大科学工程中产生的海量数据而产生的复杂科研流程。在十几年的发展历史中,虽然科学工作流并没有权威的定义,但人们对于科学工作流的描述重点,以及科学工作流管理系统的业务范围都非常清楚[8]。
科学工作流从建模、引擎、调度、界面等方面有众多研究,并面向生物、天文、材料等领域发展出Kepler、Pegasus、Taverna、Triana等科学工作流管理系统[9-11]。
1.4 HSWAP平台技术路线
以上相关工作为解决在超算资源上使用系列建模/模拟/分析软件工具解决复杂应用问题这一需求提供了很好的基础,但并没有完整地解决所有的问题。表1总结了各项技术的技术特征。面对HSWAP平台设计时所针对的4大问题,高性能计算服务化技术中“服务中间件”实现了资源的屏蔽,Portlet技术实现了数值模拟软件的封装并提供了易用的交互界面,然而封装后形成的服务并不能进一步进行流程化集成;集成业务平台技术能够很好地实现数值模拟软件的封装,并利用封装后形成的组件进行计算任务的流程化集成,然而由数值模拟软件供应商开发的集成业务平台并不能实现异构计算资源的屏蔽,并且传统强交互客户端的应用模式并不适用于超算服务;科学工作流技术在实践中在资源层往往是基于网格中间件开发,所以能够实现异构高性能计算资源的屏蔽,并且具备流程化能力,部分科学工作流管理系统也提供基于Web的交互界面,但科学工作流管理系统(如Pegasus)主要针对大规模科学数据处理问题进行设计,任务粒度一般为数据处理算子,所以并不适用于集成系列数值模拟软件快速形成数值模拟工作流解决复杂科学工程中的复杂数值模拟问题。
HSWAP设计时综合了以上相关技术的特征,解决了表1所示的所有4个问题。根据表1可知,在架构层面基于网格中间件实现的科学工作流管理系统已經提供了良好的范例,对于HSWAP平台而言,需要重点考虑如下几个问题:
1)HSWAP平台一般应用于高性能计算环境,但考虑到使用系列模拟软件解决复杂应用问题这一需求的广泛性,同时兼容工作站环境。为此在异构资源屏蔽方面,HSWAP的资源代理中间件对工作站和超算的访问进行了统一,同时集成了对商业软件许可证资源的管理。
2)数值模拟软件的交互模式多样,比如建模和可视化分析软件需要图形化的交互,求解器则更适用于使用Web表单提交作业,所以对数值模拟软件的服务封装需要支持Web表单、命令行界面(Command-Line Interface, CLI)、图形用户界面(Graphical User Interface, GUI)多种交互模式在Web Portal上的实现。
3)实现适用于高性能计算环境的数值模拟工作流引擎。相比于面向数据分析的科学工作流,数值模拟的求解过程面临两个挑战性问题:①各类计算任务基于不同的物理模型,求解过程相对独立,但不同的计算任务在尺度上、生命周期上具有自然的数据依赖关系,各个计算任务需要明晰自身在整体科学工程问题求解过程中的语义,以确定输入输出映射关系及物理意义;②物理模型不同、数值算法不同的各类计算任务对于计算资源的需求特征具有极大差异,高效地执行数值模拟工作流需要基于资源需求特征实现批量关联任务的高效调度。
图1展示了HSWAP平台的技术路线。HSWAP的技术实现可分为组件封装、数值模拟工作流创建、数值模拟工作流执行、计算任务执行四大部分,其中:组件封装含义为使用软件运行特征建模的方式形成流程中可复用的组件;流程创建为使用复用组件构建工作流;流程执行则解析数值模拟工作流并形成批量关联计算任务队列,形成的计算任务被提交,并根据具体的资源需求特征执行并将交互信息推送至Web Portal。
2 数值模拟工作流模型
HSWAP的数值模拟工作流模型包括流程模型、组件模型和数据链接模型,如图2所示。其中:组件模型用于描述以数值模拟软件为核心的计算任务的执行过程;数据链接模型用于描述两个关联计算任务之间的数据依赖关系;而流程模型则是在整体上定义系列关联计算任务间的依赖拓扑关系。以下分别对流程模型、组件模型和数据链接模型进行介绍。
2.1 流程模型
如图3所示,HSWAP中的数值模拟工作流使用有向图G(A,D)来抽象使用系列软件求解复杂模拟问题过程。其中:A为模拟活动(Activity),表示一个基于数值模拟软件进行的计算任务,包括输入端口和输出端口,代表模拟活动的输入输出,以ID标记。模拟活动具体由组件模型描述,其端口继承于组件模型的输入输出端口。D为依赖关系(Dependency),以ID标记,包括数据依赖和控制依赖;数据依赖由数据端口间的匹配关系表示(虚线),具体由数据链接模型描述;控制依赖边(实线)上定义了控制依赖函数C(A1,A2),在执行期通过控制依赖边两端的模拟活动属性计算控制依赖边的激活状态,只有当控制依赖边为激活状态时,由数据依赖边表示的数据链接过程才会在执行期被执行,从而灵活地支持了数值模拟流程中条件分支、循环等控制逻辑的表达。
2.2 组件模型
HSWAP中的组件模型用于描述以数值模拟软件为核心的模拟活动的执行过程,封装数值模拟应用软件、程序和工具并形成业务组件,业务组件可在工作流在满足输入输出条件下任意嵌入。其设计思想为以软件运行特征建模为基础构建集成接口,使用组件模型描述软件的调用流程,包含“输入执行输出”的全周期。以此为框架,可以构建出如图4所示的组件模型,其中:描述层供交互工具使用,主要提供组件的功能与使用方法简介;工具层描述软件模块的资源需求、交互模式等运行特征,为数值模拟工作流中计算任务的自动执行提供基础;定制层描述该软件模块在特定数值模拟工作流中的应用模式,用以提供组件在整体数值模拟工作流中的语义信息;状态层描述软件模块的执行状态;输入输出端口定义该软件模块在流程中的输入和输出,在数据链接模型中进行进一步定义。
在上述模型层次中,工具层为数值模拟软件封装的核心部分,封装了数值模拟软件的通用运行特征,在组件模型中具有最强的可复用性。为了实现支持不同特征模拟软件在不同结构高性能计算资源上的流程化集成,工具层可进一步细化,从交互模式、资源需求、执行方式等多方面进行数值模拟软件运行特征的刻画,以支持多层次的柔性可配置。图4右下部分展示了工具层子模型的分层结构,使用(R,E,I)描述工具执行信息,其中:R为资源需求,E描述执行环境,I定义工具的交互方式。进一步的计算资源模型除了包含资源的访问接口定义外,还包含其系统(操作系统、软件环境)的定义模型,而系统又被拆分为存储模型和作业投递模型,这种树型耦合结构增强了组件的柔性可配置能力。
2.3 数据链接模型
HSWAP中的数据链接模型面向模拟活动间数据自动传递的需求进行设计,如图5所示,实现了基于文件的自动松耦合过程。数据链接模型可由三元组(D,O,L)表达,描述从一个模拟活动的输出到另一个模拟活动的输入的数据转换与传输。其中:D(Data)为数值模拟数据文件的元数据,用(A_id,Path,Port)三元组表示,分别表示数据文件的活动编号、文件存储路径和数据端口,数据端口用于将模拟活动的多个输入输出文件以格式特征标识划分为多个文件集合,用(ID,Format,Files)表示,分别表示端口ID、格式描述和对应文件名;O(Operater)为实现数据传输所需的数据操作,包括格式转换、数据迁移等;L(DataLink)表示数据传输的源和目的,用(S_id,SP_id,T_id,TP_id),分别表示源活动的ID,源输出端口ID,目的活动ID和目的输入端口ID。
3 数值模拟工作流的自动执行过程
HSWAP通过基于软件运行特征建模的数值模拟软件封装、基于文件松耦合的数据链接封装实现了数值模拟工作流模型,完成了使用系列软件求解复杂模拟问题的过程定义。本章将继续介绍HSWAP平台的工作流执行引擎,并重点介绍数值模拟工作流的自动高效执行的相关技术。
3.1 数值模拟工作流的解析
工作流执行引擎负责工作流的解析和执行,包括:1)解析数值模拟工作流,决定模拟活动的执行顺序;2)根据模拟活动的组件模型生成、投递计算任务;3)当计算任务正确完成时,根据数据链接模型进行数据文件的转换和传递,完成后续计算任务的准备工作。
图6显示了工作流执行引擎的运行架构,在工作流解析阶段,最基本的策略是将数值模拟工作流中的模拟活动按照依赖关系进行拓扑排序。为了充分利用数值模拟工作流中模拟活动的依赖关系信息,HSWAP中引入了资源预约机制,根据计算任务执行时间预测,提前获取后续计算任务所需的计算资源,从而有效地减少了数值模拟工作流执行过程中计算任务的调度等待时间,提高了数值模拟工作流的整体执行效率[12]。
3.2 计算任务执行过程
工作流执行引擎通过对数值模拟工作流的解析获得了模拟活动的执行顺序,下一步需要利用基于组件模型表达的模拟活动生成目标计算资源上的计算任务。为了能够柔性适应包括SLURM、PBS、LSF等常见调度系统,以及Linux、Windows工作站等不同计算环境,HSWAP中提供了資源代理用于封装计算环境应用接口,如图7所示,实现工作流运行与具体执行环境的解耦。在可配置的计算环境中为工作流的执行提供资源层的描述和资源管理,对接实际的高性能计算资源环境。资源代理在封装的过程中配置了资源的架构特征(CPU/GPU、I/O性能等)、投递方法等基础信息,在此基础上,提供了如下的接口:
1)资源选择接口。基于当前资源的负载、资源的架构特征匹配模拟活动组件模型中的资源需求特征,选择合适的计算资源。
2)任务投递接口。根据模拟活动组件模型以及所提供计算资源的任务投递模板(所封装调度系统的投递脚本模板,或者所封装工作站的操作系统执行脚本模板)生成可实际执行的计算任务,并在目标计算资源上执行。
解析、生成计算任务,并通过资源代理发送到实际的作业管理系统中执行的投递过程完全对用户透明,并且能够实时监控作业的状态向客户端反馈。
3.3 计算任务外的模拟活动执行过程
如图8所示,模拟活动组件模型的解析执行过程除了形成计算任务外,还根据模型的定义层次进行了其他工作。首先HSWAP平台中模拟活动组件在定制层中定义了计算任务前后的定制脚本,这类脚本在科学工作流领域中一般被称为shim[13],用于映射前后两个流程组件间的异构输入输出。在HSWAP中,数据链接提供了大部分shim的功能,包括不同格式数据文件间的转换、常用数值模拟格式的解析与参数映射等。组件模型的定制层主要为用户提供更灵活的定制方法,用户可在其中嵌入非标准、自制格式的解析与参数提取功能,实现自制软件同商业、开源软件的流程集成,也可以在后置定制脚本中定义领域相关的数据容错方法,通过对计算数据的解析判断判别计算任务成功与否,从而为流程集成提供了更高的灵活性。
其次HSWAP平台提供了基于HTML5的Web Portal,以支持交互式流程编辑、任务监控,数值模拟软件的界面推送等功能。为了使计算任务能够同Web Portal相配合,在计算任务开始执行的同时,HSWAP平台便通知Web Portal根据所封装数值模拟软件的交互特征进行准备,如为Windows、Linux图形程序以及命令行交互程序提供不同的界面推送容器并接收应用推送结果。
3.4 数据链接执行过程
HSWAP平台使用流程化的方式集成数值模拟活动,在计算任务执行过程中需要依赖于模拟活动的数据与控制依赖关系,自动进行工作区准备、输入文件传递、输出文件拾取等工作,在HSWAP中这一过程可通过对数据链接模型的解析自动实现。
在数据链接的解析过程中可自然地得到图5所示的数据匹配算法,在这一过程中关键的数据操作为CONV数据转换和TRANSFER数据迁移,如图9所示。在HSWAP平台中,TRANSFER数据操作被用于封装计算任务工作区间的数据迁移过程,目前在HSWAP平台中对数据文件的迁移考虑了三种情况:
1)源、目标工作目录在同一文件系统;
2)源、目标工作目录在不同文件系统,但计算服务器间可直接连接;
3)源、目标工作目录在不同文件系统,且服务器间不可直接连接。
CONV数据操作则用于解决计算任务间数据格式存在不匹配的问题,在前述的数据链接模型的输入输出端口中包含计算数据的格式说明,CONV数据操作通过输入输出间的模型匹配选择数据格式转换工具,进行具体的转换工作。CONV数据操作可以有效地复用既有的数据转换工具,使其可以适应HSWAP平台中的数值模拟工作流自动执行过程。
4 平台应用情况介绍
第3章介绍了HSWAP平台中数值模拟工作流的建模与自动执行过程,HSWAP平台的其他组成部分均围绕这些核心概念和核心模块构建,本章节简介HSWAP平台的整体架构、功能以及示范应用情况。
4.1 整体架构与功能简介
HSWAP平台架构整体上可分为如图10所示的三个层次:其核心是数值模拟工作流管理,提供了基于上述数值模拟工作流模型的建模与执行功能;而在资源层面上,资源代理和组件模型从软硬件两个方面提供了对高性能计算资源的封装,为数值模拟工作流的柔性可配置提供了基础;在高性能应用服务方面Web Portal实现了拖拽式的流程编辑器以及应用程序推送容器,为用户提供了便捷使用高性能计算资源和数值模拟工作流的功能。
图11是HSWAP平台实地部署的架构,其中,Backend为数值模拟工作流管理服务器,Application Gateway用于处理应用程序界面推送,Front-end Server用于对外提供满足RESTful规范的应用程序接口(Application Program Interface, API)。图12展示了HSWAP平台的Web Portal界面。
4.2 HSWAP平台应用示范
HSWAP平台目前在材料、结构等数值模拟领域得到了实际应用。图13所示为含能材料分子的筛选流程,该流程需要集成分子生成、结构计算、性能预测、分子结构可视化等数值模拟软件,用于预测遍历生成的批量分子结构的性能参数,并从中筛选获得满足预定设计条件的材料分子结构。
表2中展示了该筛选流程中所集成的数值模拟软件。从表2中可以看出,该系统所集成软件涵盖了自研、商业、开源等不同来源的软件工具,并且各软件的交互模式各异,执行时的并发特征也各异。但利用HSWAP平台,在2人月内就可以完成整个数值模拟流程的集成与调试,所获得的流程可以自动连贯执行,生成数百至上千批量并发作业,并自动在高性能计算资源上执行监控,从而支持用户高产出地获取数值模拟结果。
同时,从图13中可以看出,在分子筛选流程中需要进行高通量[14]的并发计算,也就是实现大量批量作业的并发生成、投递、状态监视、管理与结果收集。为了测试HSWAP平台的任务调度开销,使用了文献[15]中介绍的“no-op”测试方法,即并发执行空作业,记录完成时间,计算作业平均用時。
表3中比较了利用HSWAP平台批量生成、投递、监视、收集空作业的总用时,以及直接将批量空作业投递至测试计算资源所用调度系统的计算总用时。由于HSWAP生成的计算任务最终会使用计算资源调度系统进行投递,所以两者的比较可以很好地获得HSWAP平台生成、管理计算任务所产生的额外开销,其中用于对比的调度系统为OpenLava。
从测试结果中可以看出,HSWAP平台所产生的作业管理额外开销时间在并发作业数50以上时保证了平均单作业小于0.1s,并且在并发作业数达到500~1000时取得了最优效率,单作业平均额外开销时间小于0.05s。对于计算时间一般为数分钟、数小时甚至数天的数值模拟计算任务而言,HSWAP的自动计算流程管理没有带来可感知的额外开销,可以充分发挥调度系统的并发调度能力。
在数值模拟工作流的基础上,进一步可以通过HSWAP平台所提供的定制界面开发工具实现领域用户使用习惯的专用定制界面,从而形成含能材料分子高通量筛选的专用平台,如图14所示。目前该平台已经应用于含能分子筛选高通量计算,一键获得分子结构及对应爆轰性能,面向单质炸药设计,为变化分子骨架或基团与分子骨架连接方式后的大批量分子进行高通量的性能评估提供了有力支撑。
5 结语
HSWAP平台面向不同来源、不同交互模式、不同使用习惯、不同数据结构的系列数值模拟软件的快速集成,总结了数值模拟活动的共性特征,构建了统一组件模型,并在基于任务兼文件松耦合的前提下实现可自动执行的数值模拟工作流,实现流程的交互定义与在高性能计算资源上的自动执行。经过应用实践可知,HSWAP平台可在2人月内完成包含10个以下数值模拟软件、20个以内计算任务节点的数值模拟工作流的集成,形成领域专用的模拟应用系统,单任务平均管理额外开销小于0.1s,从而很好地解决了在高性能计算资源上快速构建“建模、计算、分析、优化”一体化应用的问题,为开发高性能领域专用计算服务提供了良好的基础。但HSWAP平台仍然存在以下问题:1)目前HSWAP平台仍只支持基于文件的松耦合流程,对其他数据耦合方式尚未进行分析总结,无法集成原位分析等应用模式;2)在高性能计算资源的适配上,由于自身应用环境的限制,目前尚没有针对网格计算环境开展适配性研究;3)批量用户并发压力测试不足,平台的可扩展性尚需验证。这些问题均需要进一步的研究以完善平台的应用基础。
参考文献 (References)
[1] 曹荣强,王小宁,卢莎莎,等.基于Portlet的高性能计算应用集成组件[J].科研信息化技术与应用,2017,8(2):18-30.(CAO R Q, WANG X N, LU S S, et al. High performance computing application integration toolkits based on Portlet [J]. e-Science Technology & Application, 2017, 8(2): 18-30.)
[2] TOWNS J, COCKERILL T, DAHAN M, et al. XSEDE: accelerating scientific discovery [J]. Computing in Science & Engineering, 2014, 16(5): 62-74.
[3] 迟学斌,肖海力,王小宁,等.国家重点研发计划助力国家高性能计算环境服务化建设迈上新台阶[J].科研信息化技术与应用,2016,7(4):84-88.(CHI X B, XIAO H L, WANG X N, et al. A further promoting toward building China national grid supported by the national key research and development program of China [J]. e-Science Technology & Application, 2016, 7(4): 84-88.)
[4] TAYLOR I J, DEELMAN E, GANNON D B, et al. Workflows for e-Science: Scientific Workflows for Grids [M]. Berlin: Springer, 2007: 9-16.
[5] DEELMAN E, SINGH G, SU M, et al. Pegasus: a framework for mapping complex scientific workflows onto distributed systems [J]. Scientific Programming, 2005, 13(3): 219-237.
[6] BERMAN F. From TeraGrid to knowledge grid [J]. Communications of the ACM, 2001, 44(11): 27-28.
[7] FOSTER I, KESSELMAN C. Globus: a metacomputing infrastructure toolkit [J]. The International Journal of Supercomputer Applications and High Performance Computing, 1997, 11(2): 115-128.
[8] 吳响,邓笋根,陆忠华.国内外科学工作流综述研究[J].科研信息化技术与应用,2014,5(5):86-95.(WU X, DENG S G, LU Z H. A review of the study on the scientific workflow [J]. e-Science Technology & Application, 2014, 5(5): 86-95.)
[9] ATKINSON M, GESING S, MONTAGNAT J, et al. Scientific workflows: past, present and future [J]. Future Generation Computer Systems, 2017, 75: 216-227.
[10] YU J, BUYYA R. A taxonomy of scientific workflow systems for grid computing[J]. ACM SIGMOD Record, 2005, 34(3): 44-49.
[11] DEELMAN E, PETERKA T, ALTINTAS I, et al. The future of scientific workflows [J]. The International Journal of High Performance Computing Applications, 2018, 32(1): 159-175.
[12] 李于锋,莫则尧,肖永浩,等.超算环境科学工作流应用平台的引擎设计和资源调度[J].计算机应用研究,2019,36(7):1-7.(LI Y F, MO Z Y, XIAO Y H,et al. Engine design and resource scheduling of scientific workflow application platform in supercomputing[J]. Application Research of Computers, 2019, 36(7): 1-7.)
[13] LU S, PAI D, HUA J, et al. A task abstraction and mapping approach to the shimming problem in scientific workflows [C]// Proceedings of the 2009 IEEE International Conference on Services Computing. Piscataway, NJ: IEEE, 2009: 284-291.
[14] HUERTA E A, HAAS R, JHA S, et al. Supporting high-performance and high-throughput computing for experimental science [J]. Computing and Software for Big Science, 2019, 3(1): 5.
[15] JAIN A, ONG S P, CHEN W, et al. FireWorks: a dynamic workflow system designed for high-throughput applications [J]. Concurrency and Computation: Practice and Experience, 2015, 27(17): 5037-5059.