趙士操 肖永浩 段博文 李于鋒
摘 要:針對高性能計(jì)算(HPC)環(huán)境中的“建模、計(jì)算、分析、優(yōu)化”一體化應(yīng)用構(gòu)建的問題,設(shè)計(jì)了支持?jǐn)?shù)值模擬軟件封裝和數(shù)值模擬工作流交互設(shè)計(jì)的數(shù)值模擬工作流管理平臺(tái)——HSWAP。首先,基于對數(shù)值模擬活動(dòng)的運(yùn)行特征共性建模構(gòu)建組件模型;然后,利用工作流表達(dá)數(shù)值模擬活動(dòng)間的控制、數(shù)據(jù)依賴關(guān)系,建立形式化的數(shù)值模擬工作流模型,所形成的工作流模型可在平臺(tái)中自動(dòng)解析并適配高性能計(jì)算資源,從而實(shí)現(xiàn)批量關(guān)聯(lián)數(shù)值模擬任務(wù)的自動(dòng)生成與調(diào)度,為領(lǐng)域用戶屏蔽高性能計(jì)算資源的使用細(xì)節(jié)。平臺(tái)提供Web Portal服務(wù),支持圖形數(shù)值模擬程序的交互界面推送。目前該平臺(tái)已在超算中心實(shí)際生產(chǎn)環(huán)境得到部署應(yīng)用,可在2人月內(nèi)完成包含10個(gè)以下數(shù)值模擬軟件、20個(gè)以內(nèi)計(jì)算任務(wù)節(jié)點(diǎn)的數(shù)值模擬工作流的集成。
關(guān)鍵詞:科學(xué)工作流;數(shù)值模擬;軟件集成;高性能計(jì)算;Web服務(wù)
中圖分類號(hào): TP391.9(計(jì)算機(jī)仿真)
文獻(xiàn)標(biāo)志碼: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 引言
在科學(xué)研究和工程實(shí)際中,數(shù)值模擬發(fā)揮著越來越重要的作用,并且數(shù)值模擬的地位正在由單純的驗(yàn)證走向“設(shè)計(jì)優(yōu)化制造運(yùn)維”的全生命周期管理,對于模擬的精度要求也越來越趨向于部件級(jí)的精確。在這一趨勢下,高性能計(jì)算機(jī)的用戶正在由具有專業(yè)知識(shí)的計(jì)算團(tuán)隊(duì)普及到一般工業(yè)用戶,對高性能計(jì)算(High Performance Computing, HPC)的需求正在由解決關(guān)鍵瓶頸計(jì)算問題走向從建模到分析的各階段日常模擬,對高性能計(jì)算機(jī)的應(yīng)用模式正在由單一問題的大規(guī)模并行計(jì)算走向由不同領(lǐng)域計(jì)算任務(wù)協(xié)作集成形成一體化應(yīng)用,比如復(fù)雜產(chǎn)品研發(fā)的“建模、計(jì)算、分析、優(yōu)化”過程,需要集成使用不同領(lǐng)域的相關(guān)軟件,由具有數(shù)據(jù)關(guān)聯(lián)的系列計(jì)算任務(wù)協(xié)作完成。
為了適應(yīng)這些新的變化,業(yè)界從不同的角度給出了一些解決方案。首先針對用戶群體普及化這一問題,高性能計(jì)算服務(wù)化方面的研究極大地簡化了高性能計(jì)算資源使用的成本,許多高性能計(jì)算資源運(yùn)營方提供了基于Web的應(yīng)用服務(wù)封裝(Web Portal)[1],用戶可以通過在線提交表單的方式便捷實(shí)現(xiàn)對高性能計(jì)算資源的利用,而無需了解系統(tǒng)本身的知識(shí);而如XSEDE(eXtreme Science and Engineering Discovery Environment)[2]、超級(jí)計(jì)算環(huán)境(Super Computing Environment, SCE)[3]這樣的高性能計(jì)算環(huán)境和中間件的建立則進(jìn)一步屏蔽了異構(gòu)計(jì)算資源的使用差異,為用戶提供了統(tǒng)一的資源入口,應(yīng)該說在軟硬件資源的封裝和服務(wù)化方面,目前已經(jīng)具有了很好的應(yīng)用示范。其次在計(jì)算任務(wù)集成協(xié)作方面,一方面各大數(shù)值模擬軟件供應(yīng)商都正在發(fā)展自身的集成業(yè)務(wù)平臺(tái),試圖整合自身所擁有的軟件資源,提供流程化的軟件集成功能,比如ANSYS Workbench、COMSOL、BIOVIA Pipeline Pilot、安世亞太PARA等;另一方面在材料、生物、醫(yī)學(xué)、高能物理等領(lǐng)域,國外學(xué)術(shù)界流行的科學(xué)工作流(Scientific Workflow)管理系統(tǒng)[4],提供了可將復(fù)雜科研過程中的數(shù)據(jù)收集、處理、分析和可視化等步驟進(jìn)行按需組合,形成可在分布式異構(gòu)資源環(huán)境下按照自定義邏輯關(guān)系順序進(jìn)行自動(dòng)執(zhí)行的流程的能力,在實(shí)際的應(yīng)用中科學(xué)工作流這種模式也取得了比較好的應(yīng)用效果,比如Pegasus系統(tǒng)[5]在激光干涉引力波天文臺(tái)(Laser Interferometer Gravitational-Wave Observatory, LIGO)項(xiàng)目中輔助引力波探測分析,取得了很好的應(yīng)用效果。
從當(dāng)前業(yè)界的相關(guān)工作和產(chǎn)品中可以看出,簡化高性能計(jì)算資源的使用接口、屏蔽計(jì)算資源的異構(gòu)特征能夠有效地降低高性能計(jì)算資源的使用瓶頸;流程化集成計(jì)算任務(wù)是解決全生命周期、多階段、多領(lǐng)域復(fù)雜科學(xué)工程模擬的有效手段。但這兩者的有機(jī)結(jié)合,即實(shí)現(xiàn)高性能計(jì)算資源上流程化集成計(jì)算任務(wù)的高效執(zhí)行在目前的解決方案中都存在著一些缺陷。高性能計(jì)算資源運(yùn)營方充分了解硬件資源的特點(diǎn)和軟件資源的資源需求特征,所提供的Web Portal和高性能計(jì)算環(huán)境中間件能夠有效地利用高性能計(jì)算資源,但所形成的應(yīng)用服務(wù)僅能滿足單一軟件的在線應(yīng)用,缺乏流程化的計(jì)算任務(wù)集成能力,從而無法通過簡單的方式組織全生命周期復(fù)雜科學(xué)工程模擬。數(shù)值模擬軟件供應(yīng)商發(fā)展的集成業(yè)務(wù)平臺(tái),打通了數(shù)值模擬程序間的數(shù)據(jù)接口,具有良好的流程化集成能力,能夠形成包含多階段計(jì)算過程的一體化集成應(yīng)用,但受限于商業(yè)壁壘,這些集成業(yè)務(wù)平臺(tái)往往基于自身已有的產(chǎn)品鏈進(jìn)行設(shè)計(jì),缺乏開放的擴(kuò)充能力,其形成的計(jì)算流程也只是調(diào)用高性能計(jì)算資源而不是在高性能計(jì)算資源上執(zhí)行;同高性能計(jì)算資源的接口也只是簡單地封裝了作業(yè)投遞接口,高性能計(jì)算資源無從知曉計(jì)算流程的全貌,從而無法在調(diào)度上根據(jù)流程特征進(jìn)行優(yōu)化,并且其強(qiáng)交互桌面程序的產(chǎn)品形態(tài)并不適于逐漸走向服務(wù)化的高性能計(jì)算資源??茖W(xué)工作流管理系統(tǒng)具有成功的應(yīng)用范例,能夠?qū)崿F(xiàn)計(jì)算流程的柔性組裝,并且能夠在網(wǎng)格計(jì)算資源進(jìn)行流程優(yōu)化調(diào)度,但科學(xué)工作流主要面向科學(xué)數(shù)據(jù)處理進(jìn)行設(shè)計(jì),任務(wù)粒度一般為數(shù)據(jù)處理算子,難以實(shí)現(xiàn)基于數(shù)理方程求解的計(jì)算任務(wù)的流程組裝。
為了能夠有機(jī)地結(jié)合高性能計(jì)算服務(wù)化和計(jì)算任務(wù)流程化集成,使高性能計(jì)算資源運(yùn)營方能夠提供流程化集成各類型數(shù)值模擬計(jì)算任務(wù)的服務(wù),本文研發(fā)了適用于超算環(huán)境下數(shù)值模擬計(jì)算任務(wù)流程化集成的連貫計(jì)算平臺(tái)——HSWAP(HPC Simulation Workflow Application Platform)。相比于其他解決方案,HSWAP主要針對高性能計(jì)算資源上求解數(shù)值模擬工作流中面對的兩個(gè)關(guān)鍵性問題進(jìn)行設(shè)計(jì):1)各類計(jì)算任務(wù)基于不同的物理模型,求解過程相對獨(dú)立,但不同的計(jì)算任務(wù)在尺度上、生命周期上具有自然的參數(shù)依賴關(guān)系,各個(gè)計(jì)算任務(wù)需要明晰自身在整體問題求解過程中的語義,以確定輸入輸出映射關(guān)系及物理意義。2)物理模型不同、數(shù)值算法不同的各類計(jì)算任務(wù)對于計(jì)算資源的需求特征具有極大差異。該平臺(tái)目前已在超算中心實(shí)際生產(chǎn)環(huán)境部署應(yīng)用,支持了材料、光學(xué)、力學(xué)等領(lǐng)域的若干應(yīng)用。
1 相關(guān)技術(shù)介紹與技術(shù)路線
HSWAP平臺(tái)是為了解決科學(xué)與工程計(jì)算中,在超算資源上使用系列建模/模擬/分析軟件工具解決復(fù)雜應(yīng)用問題時(shí),由于軟件應(yīng)用領(lǐng)域差異或計(jì)算方法差異導(dǎo)致各個(gè)環(huán)節(jié)脫節(jié),需要人工干預(yù),造成整體工作流程不連貫,導(dǎo)致整體求解效率低下的問題。為了解決以上問題,HSWAP平臺(tái)需要針對以下問題進(jìn)行設(shè)計(jì):
1)適用于多領(lǐng)域數(shù)值模擬軟件的普適封裝技術(shù);
2)面向數(shù)值模擬計(jì)算任務(wù)集成的靈活流程定制;
3)無縫對接異構(gòu)超算環(huán)境,屏蔽資源使用細(xì)節(jié);
4)提供適用于超算服務(wù)模式的易用交互界面。
圍繞以上技術(shù)特征,高性能計(jì)算服務(wù)化、科學(xué)工作流、集成業(yè)務(wù)平臺(tái)等都從不同的側(cè)面為HSWAP平臺(tái)提供了技術(shù)解決的途徑,以下先討論相關(guān)技術(shù)的發(fā)展情況,再介紹HSWAP平臺(tái)的技術(shù)路線。
1.1 高性能計(jì)算服務(wù)化
高性能計(jì)算服務(wù)化包含多方面的研究內(nèi)容,這里主要關(guān)注兩方面:1)管理異構(gòu)計(jì)算資源的服務(wù)中間件;2)推送數(shù)值模擬應(yīng)用到用戶瀏覽器的Web Portal。第1)個(gè)方面從2004年開始,在美國Tera-Grid科學(xué)網(wǎng)關(guān)[6]規(guī)劃項(xiàng)目資助下產(chǎn)生了如Globus工具箱[7]等許多中間件工具,我國的中國科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心也為國家網(wǎng)格的建設(shè)開發(fā)了SCE中間件[3]。從以上工作可以看出,管理異構(gòu)計(jì)算資源的重點(diǎn)在于提供統(tǒng)一的訪問代理實(shí)現(xiàn)對用戶透明的資源調(diào)度和數(shù)據(jù)訪問。第2)個(gè)方面則著重于應(yīng)用程序的封裝,比如基于Portlet的相關(guān)技術(shù),如中國科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心提出的高性能計(jì)算應(yīng)用集成組件(High-Performance Computing Applications Integration Toolkits, HPC-AIT)技術(shù)[1],完成了面向領(lǐng)域應(yīng)用的基于Web表單的任務(wù)投遞,簡化了用戶交互接口。
1.2 集成業(yè)務(wù)平臺(tái)
集成業(yè)務(wù)平臺(tái)是數(shù)值模擬軟件提供商通過流程化定制模式解決復(fù)雜問題、提升軟件應(yīng)用效率的解決方案。索為公司IDE歸納分析過程中的規(guī)則并將其封裝為模板,用戶可通過模板進(jìn)行設(shè)計(jì)和分析工作,實(shí)現(xiàn)知識(shí)驅(qū)動(dòng)的模塊化設(shè)計(jì);并在模板間建立數(shù)據(jù)流以及控制流,使設(shè)計(jì)方案中的各種模板有機(jī)地關(guān)聯(lián)耦合在一起;ANSYS Workbench實(shí)現(xiàn)基于其產(chǎn)品線的計(jì)算機(jī)輔助設(shè)計(jì)(Computer Aided Design, CAD)到計(jì)算機(jī)輔助工程(Computer Aided Engineering, CAE)參數(shù)的雙向傳遞,實(shí)現(xiàn)CAD-CAE之間設(shè)計(jì)與仿真協(xié)同,并為進(jìn)一步執(zhí)行參數(shù)化設(shè)計(jì)、仿真及優(yōu)化奠定了很好的基礎(chǔ)。同時(shí),Workbench發(fā)展了Workbench SDK開發(fā)包技術(shù),可以非常便捷地實(shí)現(xiàn)諸如專用程序開發(fā)、流程自動(dòng)化和簡化、專家經(jīng)驗(yàn)的保存和固化、分析規(guī)范的保存和固化、自由程序的包裝、其他程序的集成等眾多的用戶化開發(fā)功能;安世亞太PARA實(shí)現(xiàn)了工作流管理、仿真流程管理、工具組件定義和研發(fā)過程數(shù)據(jù)管理,將任務(wù)、數(shù)據(jù)、知識(shí)等設(shè)計(jì)師工作相關(guān)的內(nèi)容有機(jī)地結(jié)合起來,為設(shè)計(jì)師提供集成的工作環(huán)境。支撐平臺(tái)模式強(qiáng)調(diào)知識(shí)/數(shù)據(jù)管理,通過組件化、業(yè)務(wù)流程化更靈活、方便地支撐工程應(yīng)用人員進(jìn)行軟件的高效應(yīng)用。
1.3 科學(xué)工作流
科學(xué)工作流的概念起源于業(yè)務(wù)工作流,相對于BWF(Business WorkFlow),其特征在于數(shù)據(jù)驅(qū)動(dòng),在不同的場合科學(xué)工作流(Scientific Workflow)又被稱為數(shù)據(jù)驅(qū)動(dòng)工作流(Data-driven Workflow)或數(shù)據(jù)密集工作流(Data-intensive Workflow),科學(xué)工作流的重點(diǎn)在于對數(shù)據(jù)流的有效管理,其面向的問題領(lǐng)域是管理分析大科學(xué)工程中產(chǎn)生的海量數(shù)據(jù)而產(chǎn)生的復(fù)雜科研流程。在十幾年的發(fā)展歷史中,雖然科學(xué)工作流并沒有權(quán)威的定義,但人們對于科學(xué)工作流的描述重點(diǎn),以及科學(xué)工作流管理系統(tǒng)的業(yè)務(wù)范圍都非常清楚[8]。
科學(xué)工作流從建模、引擎、調(diào)度、界面等方面有眾多研究,并面向生物、天文、材料等領(lǐng)域發(fā)展出Kepler、Pegasus、Taverna、Triana等科學(xué)工作流管理系統(tǒng)[9-11]。
1.4 HSWAP平臺(tái)技術(shù)路線
以上相關(guān)工作為解決在超算資源上使用系列建模/模擬/分析軟件工具解決復(fù)雜應(yīng)用問題這一需求提供了很好的基礎(chǔ),但并沒有完整地解決所有的問題。表1總結(jié)了各項(xiàng)技術(shù)的技術(shù)特征。面對HSWAP平臺(tái)設(shè)計(jì)時(shí)所針對的4大問題,高性能計(jì)算服務(wù)化技術(shù)中“服務(wù)中間件”實(shí)現(xiàn)了資源的屏蔽,Portlet技術(shù)實(shí)現(xiàn)了數(shù)值模擬軟件的封裝并提供了易用的交互界面,然而封裝后形成的服務(wù)并不能進(jìn)一步進(jìn)行流程化集成;集成業(yè)務(wù)平臺(tái)技術(shù)能夠很好地實(shí)現(xiàn)數(shù)值模擬軟件的封裝,并利用封裝后形成的組件進(jìn)行計(jì)算任務(wù)的流程化集成,然而由數(shù)值模擬軟件供應(yīng)商開發(fā)的集成業(yè)務(wù)平臺(tái)并不能實(shí)現(xiàn)異構(gòu)計(jì)算資源的屏蔽,并且傳統(tǒng)強(qiáng)交互客戶端的應(yīng)用模式并不適用于超算服務(wù);科學(xué)工作流技術(shù)在實(shí)踐中在資源層往往是基于網(wǎng)格中間件開發(fā),所以能夠?qū)崿F(xiàn)異構(gòu)高性能計(jì)算資源的屏蔽,并且具備流程化能力,部分科學(xué)工作流管理系統(tǒng)也提供基于Web的交互界面,但科學(xué)工作流管理系統(tǒng)(如Pegasus)主要針對大規(guī)模科學(xué)數(shù)據(jù)處理問題進(jìn)行設(shè)計(jì),任務(wù)粒度一般為數(shù)據(jù)處理算子,所以并不適用于集成系列數(shù)值模擬軟件快速形成數(shù)值模擬工作流解決復(fù)雜科學(xué)工程中的復(fù)雜數(shù)值模擬問題。
HSWAP設(shè)計(jì)時(shí)綜合了以上相關(guān)技術(shù)的特征,解決了表1所示的所有4個(gè)問題。根據(jù)表1可知,在架構(gòu)層面基于網(wǎng)格中間件實(shí)現(xiàn)的科學(xué)工作流管理系統(tǒng)已經(jīng)提供了良好的范例,對于HSWAP平臺(tái)而言,需要重點(diǎn)考慮如下幾個(gè)問題:
1)HSWAP平臺(tái)一般應(yīng)用于高性能計(jì)算環(huán)境,但考慮到使用系列模擬軟件解決復(fù)雜應(yīng)用問題這一需求的廣泛性,同時(shí)兼容工作站環(huán)境。為此在異構(gòu)資源屏蔽方面,HSWAP的資源代理中間件對工作站和超算的訪問進(jìn)行了統(tǒng)一,同時(shí)集成了對商業(yè)軟件許可證資源的管理。
2)數(shù)值模擬軟件的交互模式多樣,比如建模和可視化分析軟件需要圖形化的交互,求解器則更適用于使用Web表單提交作業(yè),所以對數(shù)值模擬軟件的服務(wù)封裝需要支持Web表單、命令行界面(Command-Line Interface, CLI)、圖形用戶界面(Graphical User Interface, GUI)多種交互模式在Web Portal上的實(shí)現(xiàn)。
3)實(shí)現(xiàn)適用于高性能計(jì)算環(huán)境的數(shù)值模擬工作流引擎。相比于面向數(shù)據(jù)分析的科學(xué)工作流,數(shù)值模擬的求解過程面臨兩個(gè)挑戰(zhàn)性問題:①各類計(jì)算任務(wù)基于不同的物理模型,求解過程相對獨(dú)立,但不同的計(jì)算任務(wù)在尺度上、生命周期上具有自然的數(shù)據(jù)依賴關(guān)系,各個(gè)計(jì)算任務(wù)需要明晰自身在整體科學(xué)工程問題求解過程中的語義,以確定輸入輸出映射關(guān)系及物理意義;②物理模型不同、數(shù)值算法不同的各類計(jì)算任務(wù)對于計(jì)算資源的需求特征具有極大差異,高效地執(zhí)行數(shù)值模擬工作流需要基于資源需求特征實(shí)現(xiàn)批量關(guān)聯(lián)任務(wù)的高效調(diào)度。
圖1展示了HSWAP平臺(tái)的技術(shù)路線。HSWAP的技術(shù)實(shí)現(xiàn)可分為組件封裝、數(shù)值模擬工作流創(chuàng)建、數(shù)值模擬工作流執(zhí)行、計(jì)算任務(wù)執(zhí)行四大部分,其中:組件封裝含義為使用軟件運(yùn)行特征建模的方式形成流程中可復(fù)用的組件;流程創(chuàng)建為使用復(fù)用組件構(gòu)建工作流;流程執(zhí)行則解析數(shù)值模擬工作流并形成批量關(guān)聯(lián)計(jì)算任務(wù)隊(duì)列,形成的計(jì)算任務(wù)被提交,并根據(jù)具體的資源需求特征執(zhí)行并將交互信息推送至Web Portal。
2 數(shù)值模擬工作流模型
HSWAP的數(shù)值模擬工作流模型包括流程模型、組件模型和數(shù)據(jù)鏈接模型,如圖2所示。其中:組件模型用于描述以數(shù)值模擬軟件為核心的計(jì)算任務(wù)的執(zhí)行過程;數(shù)據(jù)鏈接模型用于描述兩個(gè)關(guān)聯(lián)計(jì)算任務(wù)之間的數(shù)據(jù)依賴關(guān)系;而流程模型則是在整體上定義系列關(guān)聯(lián)計(jì)算任務(wù)間的依賴拓?fù)潢P(guān)系。以下分別對流程模型、組件模型和數(shù)據(jù)鏈接模型進(jìn)行介紹。
2.1 流程模型
如圖3所示,HSWAP中的數(shù)值模擬工作流使用有向圖G(A,D)來抽象使用系列軟件求解復(fù)雜模擬問題過程。其中:A為模擬活動(dòng)(Activity),表示一個(gè)基于數(shù)值模擬軟件進(jìn)行的計(jì)算任務(wù),包括輸入端口和輸出端口,代表模擬活動(dòng)的輸入輸出,以ID標(biāo)記。模擬活動(dòng)具體由組件模型描述,其端口繼承于組件模型的輸入輸出端口。D為依賴關(guān)系(Dependency),以ID標(biāo)記,包括數(shù)據(jù)依賴和控制依賴;數(shù)據(jù)依賴由數(shù)據(jù)端口間的匹配關(guān)系表示(虛線),具體由數(shù)據(jù)鏈接模型描述;控制依賴邊(實(shí)線)上定義了控制依賴函數(shù)C(A1,A2),在執(zhí)行期通過控制依賴邊兩端的模擬活動(dòng)屬性計(jì)算控制依賴邊的激活狀態(tài),只有當(dāng)控制依賴邊為激活狀態(tài)時(shí),由數(shù)據(jù)依賴邊表示的數(shù)據(jù)鏈接過程才會(huì)在執(zhí)行期被執(zhí)行,從而靈活地支持了數(shù)值模擬流程中條件分支、循環(huán)等控制邏輯的表達(dá)。
2.2 組件模型
HSWAP中的組件模型用于描述以數(shù)值模擬軟件為核心的模擬活動(dòng)的執(zhí)行過程,封裝數(shù)值模擬應(yīng)用軟件、程序和工具并形成業(yè)務(wù)組件,業(yè)務(wù)組件可在工作流在滿足輸入輸出條件下任意嵌入。其設(shè)計(jì)思想為以軟件運(yùn)行特征建模為基礎(chǔ)構(gòu)建集成接口,使用組件模型描述軟件的調(diào)用流程,包含“輸入執(zhí)行輸出”的全周期。以此為框架,可以構(gòu)建出如圖4所示的組件模型,其中:描述層供交互工具使用,主要提供組件的功能與使用方法簡介;工具層描述軟件模塊的資源需求、交互模式等運(yùn)行特征,為數(shù)值模擬工作流中計(jì)算任務(wù)的自動(dòng)執(zhí)行提供基礎(chǔ);定制層描述該軟件模塊在特定數(shù)值模擬工作流中的應(yīng)用模式,用以提供組件在整體數(shù)值模擬工作流中的語義信息;狀態(tài)層描述軟件模塊的執(zhí)行狀態(tài);輸入輸出端口定義該軟件模塊在流程中的輸入和輸出,在數(shù)據(jù)鏈接模型中進(jìn)行進(jìn)一步定義。
在上述模型層次中,工具層為數(shù)值模擬軟件封裝的核心部分,封裝了數(shù)值模擬軟件的通用運(yùn)行特征,在組件模型中具有最強(qiáng)的可復(fù)用性。為了實(shí)現(xiàn)支持不同特征模擬軟件在不同結(jié)構(gòu)高性能計(jì)算資源上的流程化集成,工具層可進(jìn)一步細(xì)化,從交互模式、資源需求、執(zhí)行方式等多方面進(jìn)行數(shù)值模擬軟件運(yùn)行特征的刻畫,以支持多層次的柔性可配置。圖4右下部分展示了工具層子模型的分層結(jié)構(gòu),使用(R,E,I)描述工具執(zhí)行信息,其中:R為資源需求,E描述執(zhí)行環(huán)境,I定義工具的交互方式。進(jìn)一步的計(jì)算資源模型除了包含資源的訪問接口定義外,還包含其系統(tǒng)(操作系統(tǒng)、軟件環(huán)境)的定義模型,而系統(tǒng)又被拆分為存儲(chǔ)模型和作業(yè)投遞模型,這種樹型耦合結(jié)構(gòu)增強(qiáng)了組件的柔性可配置能力。
2.3 數(shù)據(jù)鏈接模型
HSWAP中的數(shù)據(jù)鏈接模型面向模擬活動(dòng)間數(shù)據(jù)自動(dòng)傳遞的需求進(jìn)行設(shè)計(jì),如圖5所示,實(shí)現(xiàn)了基于文件的自動(dòng)松耦合過程。數(shù)據(jù)鏈接模型可由三元組(D,O,L)表達(dá),描述從一個(gè)模擬活動(dòng)的輸出到另一個(gè)模擬活動(dòng)的輸入的數(shù)據(jù)轉(zhuǎn)換與傳輸。其中:D(Data)為數(shù)值模擬數(shù)據(jù)文件的元數(shù)據(jù),用(A_id,Path,Port)三元組表示,分別表示數(shù)據(jù)文件的活動(dòng)編號(hào)、文件存儲(chǔ)路徑和數(shù)據(jù)端口,數(shù)據(jù)端口用于將模擬活動(dòng)的多個(gè)輸入輸出文件以格式特征標(biāo)識(shí)劃分為多個(gè)文件集合,用(ID,F(xiàn)ormat,F(xiàn)iles)表示,分別表示端口ID、格式描述和對應(yīng)文件名;O(Operater)為實(shí)現(xiàn)數(shù)據(jù)傳輸所需的數(shù)據(jù)操作,包括格式轉(zhuǎn)換、數(shù)據(jù)遷移等;L(DataLink)表示數(shù)據(jù)傳輸?shù)脑春湍康?,用(S_id,SP_id,T_id,TP_id),分別表示源活動(dòng)的ID,源輸出端口ID,目的活動(dòng)ID和目的輸入端口ID。
3 數(shù)值模擬工作流的自動(dòng)執(zhí)行過程
HSWAP通過基于軟件運(yùn)行特征建模的數(shù)值模擬軟件封裝、基于文件松耦合的數(shù)據(jù)鏈接封裝實(shí)現(xiàn)了數(shù)值模擬工作流模型,完成了使用系列軟件求解復(fù)雜模擬問題的過程定義。本章將繼續(xù)介紹HSWAP平臺(tái)的工作流執(zhí)行引擎,并重點(diǎn)介紹數(shù)值模擬工作流的自動(dòng)高效執(zhí)行的相關(guān)技術(shù)。
3.1 數(shù)值模擬工作流的解析
工作流執(zhí)行引擎負(fù)責(zé)工作流的解析和執(zhí)行,包括:1)解析數(shù)值模擬工作流,決定模擬活動(dòng)的執(zhí)行順序;2)根據(jù)模擬活動(dòng)的組件模型生成、投遞計(jì)算任務(wù);3)當(dāng)計(jì)算任務(wù)正確完成時(shí),根據(jù)數(shù)據(jù)鏈接模型進(jìn)行數(shù)據(jù)文件的轉(zhuǎn)換和傳遞,完成后續(xù)計(jì)算任務(wù)的準(zhǔn)備工作。
圖6顯示了工作流執(zhí)行引擎的運(yùn)行架構(gòu),在工作流解析階段,最基本的策略是將數(shù)值模擬工作流中的模擬活動(dòng)按照依賴關(guān)系進(jìn)行拓?fù)渑判颉榱顺浞掷脭?shù)值模擬工作流中模擬活動(dòng)的依賴關(guān)系信息,HSWAP中引入了資源預(yù)約機(jī)制,根據(jù)計(jì)算任務(wù)執(zhí)行時(shí)間預(yù)測,提前獲取后續(xù)計(jì)算任務(wù)所需的計(jì)算資源,從而有效地減少了數(shù)值模擬工作流執(zhí)行過程中計(jì)算任務(wù)的調(diào)度等待時(shí)間,提高了數(shù)值模擬工作流的整體執(zhí)行效率[12]。
3.2 計(jì)算任務(wù)執(zhí)行過程
工作流執(zhí)行引擎通過對數(shù)值模擬工作流的解析獲得了模擬活動(dòng)的執(zhí)行順序,下一步需要利用基于組件模型表達(dá)的模擬活動(dòng)生成目標(biāo)計(jì)算資源上的計(jì)算任務(wù)。為了能夠柔性適應(yīng)包括SLURM、PBS、LSF等常見調(diào)度系統(tǒng),以及Linux、Windows工作站等不同計(jì)算環(huán)境,HSWAP中提供了資源代理用于封裝計(jì)算環(huán)境應(yīng)用接口,如圖7所示,實(shí)現(xiàn)工作流運(yùn)行與具體執(zhí)行環(huán)境的解耦。在可配置的計(jì)算環(huán)境中為工作流的執(zhí)行提供資源層的描述和資源管理,對接實(shí)際的高性能計(jì)算資源環(huán)境。資源代理在封裝的過程中配置了資源的架構(gòu)特征(CPU/GPU、I/O性能等)、投遞方法等基礎(chǔ)信息,在此基礎(chǔ)上,提供了如下的接口:
1)資源選擇接口?;诋?dāng)前資源的負(fù)載、資源的架構(gòu)特征匹配模擬活動(dòng)組件模型中的資源需求特征,選擇合適的計(jì)算資源。
2)任務(wù)投遞接口。根據(jù)模擬活動(dòng)組件模型以及所提供計(jì)算資源的任務(wù)投遞模板(所封裝調(diào)度系統(tǒng)的投遞腳本模板,或者所封裝工作站的操作系統(tǒng)執(zhí)行腳本模板)生成可實(shí)際執(zhí)行的計(jì)算任務(wù),并在目標(biāo)計(jì)算資源上執(zhí)行。
解析、生成計(jì)算任務(wù),并通過資源代理發(fā)送到實(shí)際的作業(yè)管理系統(tǒng)中執(zhí)行的投遞過程完全對用戶透明,并且能夠?qū)崟r(shí)監(jiān)控作業(yè)的狀態(tài)向客戶端反饋。
3.3 計(jì)算任務(wù)外的模擬活動(dòng)執(zhí)行過程
如圖8所示,模擬活動(dòng)組件模型的解析執(zhí)行過程除了形成計(jì)算任務(wù)外,還根據(jù)模型的定義層次進(jìn)行了其他工作。首先HSWAP平臺(tái)中模擬活動(dòng)組件在定制層中定義了計(jì)算任務(wù)前后的定制腳本,這類腳本在科學(xué)工作流領(lǐng)域中一般被稱為shim[13],用于映射前后兩個(gè)流程組件間的異構(gòu)輸入輸出。在HSWAP中,數(shù)據(jù)鏈接提供了大部分shim的功能,包括不同格式數(shù)據(jù)文件間的轉(zhuǎn)換、常用數(shù)值模擬格式的解析與參數(shù)映射等。組件模型的定制層主要為用戶提供更靈活的定制方法,用戶可在其中嵌入非標(biāo)準(zhǔn)、自制格式的解析與參數(shù)提取功能,實(shí)現(xiàn)自制軟件同商業(yè)、開源軟件的流程集成,也可以在后置定制腳本中定義領(lǐng)域相關(guān)的數(shù)據(jù)容錯(cuò)方法,通過對計(jì)算數(shù)據(jù)的解析判斷判別計(jì)算任務(wù)成功與否,從而為流程集成提供了更高的靈活性。
其次HSWAP平臺(tái)提供了基于HTML5的Web Portal,以支持交互式流程編輯、任務(wù)監(jiān)控,數(shù)值模擬軟件的界面推送等功能。為了使計(jì)算任務(wù)能夠同Web Portal相配合,在計(jì)算任務(wù)開始執(zhí)行的同時(shí),HSWAP平臺(tái)便通知Web Portal根據(jù)所封裝數(shù)值模擬軟件的交互特征進(jìn)行準(zhǔn)備,如為Windows、Linux圖形程序以及命令行交互程序提供不同的界面推送容器并接收應(yīng)用推送結(jié)果。
3.4 數(shù)據(jù)鏈接執(zhí)行過程
HSWAP平臺(tái)使用流程化的方式集成數(shù)值模擬活動(dòng),在計(jì)算任務(wù)執(zhí)行過程中需要依賴于模擬活動(dòng)的數(shù)據(jù)與控制依賴關(guān)系,自動(dòng)進(jìn)行工作區(qū)準(zhǔn)備、輸入文件傳遞、輸出文件拾取等工作,在HSWAP中這一過程可通過對數(shù)據(jù)鏈接模型的解析自動(dòng)實(shí)現(xiàn)。
在數(shù)據(jù)鏈接的解析過程中可自然地得到圖5所示的數(shù)據(jù)匹配算法,在這一過程中關(guān)鍵的數(shù)據(jù)操作為CONV數(shù)據(jù)轉(zhuǎn)換和TRANSFER數(shù)據(jù)遷移,如圖9所示。在HSWAP平臺(tái)中,TRANSFER數(shù)據(jù)操作被用于封裝計(jì)算任務(wù)工作區(qū)間的數(shù)據(jù)遷移過程,目前在HSWAP平臺(tái)中對數(shù)據(jù)文件的遷移考慮了三種情況:
1)源、目標(biāo)工作目錄在同一文件系統(tǒng);
2)源、目標(biāo)工作目錄在不同文件系統(tǒng),但計(jì)算服務(wù)器間可直接連接;
3)源、目標(biāo)工作目錄在不同文件系統(tǒng),且服務(wù)器間不可直接連接。
CONV數(shù)據(jù)操作則用于解決計(jì)算任務(wù)間數(shù)據(jù)格式存在不匹配的問題,在前述的數(shù)據(jù)鏈接模型的輸入輸出端口中包含計(jì)算數(shù)據(jù)的格式說明,CONV數(shù)據(jù)操作通過輸入輸出間的模型匹配選擇數(shù)據(jù)格式轉(zhuǎn)換工具,進(jìn)行具體的轉(zhuǎn)換工作。CONV數(shù)據(jù)操作可以有效地復(fù)用既有的數(shù)據(jù)轉(zhuǎn)換工具,使其可以適應(yīng)HSWAP平臺(tái)中的數(shù)值模擬工作流自動(dòng)執(zhí)行過程。
4 平臺(tái)應(yīng)用情況介紹
第3章介紹了HSWAP平臺(tái)中數(shù)值模擬工作流的建模與自動(dòng)執(zhí)行過程,HSWAP平臺(tái)的其他組成部分均圍繞這些核心概念和核心模塊構(gòu)建,本章節(jié)簡介HSWAP平臺(tái)的整體架構(gòu)、功能以及示范應(yīng)用情況。
4.1 整體架構(gòu)與功能簡介
HSWAP平臺(tái)架構(gòu)整體上可分為如圖10所示的三個(gè)層次:其核心是數(shù)值模擬工作流管理,提供了基于上述數(shù)值模擬工作流模型的建模與執(zhí)行功能;而在資源層面上,資源代理和組件模型從軟硬件兩個(gè)方面提供了對高性能計(jì)算資源的封裝,為數(shù)值模擬工作流的柔性可配置提供了基礎(chǔ);在高性能應(yīng)用服務(wù)方面Web Portal實(shí)現(xiàn)了拖拽式的流程編輯器以及應(yīng)用程序推送容器,為用戶提供了便捷使用高性能計(jì)算資源和數(shù)值模擬工作流的功能。
圖11是HSWAP平臺(tái)實(shí)地部署的架構(gòu),其中,Backend為數(shù)值模擬工作流管理服務(wù)器,Application Gateway用于處理應(yīng)用程序界面推送,F(xiàn)ront-end Server用于對外提供滿足RESTful規(guī)范的應(yīng)用程序接口(Application Program Interface, API)。圖12展示了HSWAP平臺(tái)的Web Portal界面。
4.2 HSWAP平臺(tái)應(yīng)用示范
HSWAP平臺(tái)目前在材料、結(jié)構(gòu)等數(shù)值模擬領(lǐng)域得到了實(shí)際應(yīng)用。圖13所示為含能材料分子的篩選流程,該流程需要集成分子生成、結(jié)構(gòu)計(jì)算、性能預(yù)測、分子結(jié)構(gòu)可視化等數(shù)值模擬軟件,用于預(yù)測遍歷生成的批量分子結(jié)構(gòu)的性能參數(shù),并從中篩選獲得滿足預(yù)定設(shè)計(jì)條件的材料分子結(jié)構(gòu)。
表2中展示了該篩選流程中所集成的數(shù)值模擬軟件。從表2中可以看出,該系統(tǒng)所集成軟件涵蓋了自研、商業(yè)、開源等不同來源的軟件工具,并且各軟件的交互模式各異,執(zhí)行時(shí)的并發(fā)特征也各異。但利用HSWAP平臺(tái),在2人月內(nèi)就可以完成整個(gè)數(shù)值模擬流程的集成與調(diào)試,所獲得的流程可以自動(dòng)連貫執(zhí)行,生成數(shù)百至上千批量并發(fā)作業(yè),并自動(dòng)在高性能計(jì)算資源上執(zhí)行監(jiān)控,從而支持用戶高產(chǎn)出地獲取數(shù)值模擬結(jié)果。
同時(shí),從圖13中可以看出,在分子篩選流程中需要進(jìn)行高通量[14]的并發(fā)計(jì)算,也就是實(shí)現(xiàn)大量批量作業(yè)的并發(fā)生成、投遞、狀態(tài)監(jiān)視、管理與結(jié)果收集。為了測試HSWAP平臺(tái)的任務(wù)調(diào)度開銷,使用了文獻(xiàn)[15]中介紹的“no-op”測試方法,即并發(fā)執(zhí)行空作業(yè),記錄完成時(shí)間,計(jì)算作業(yè)平均用時(shí)。
表3中比較了利用HSWAP平臺(tái)批量生成、投遞、監(jiān)視、收集空作業(yè)的總用時(shí),以及直接將批量空作業(yè)投遞至測試計(jì)算資源所用調(diào)度系統(tǒng)的計(jì)算總用時(shí)。由于HSWAP生成的計(jì)算任務(wù)最終會(huì)使用計(jì)算資源調(diào)度系統(tǒng)進(jìn)行投遞,所以兩者的比較可以很好地獲得HSWAP平臺(tái)生成、管理計(jì)算任務(wù)所產(chǎn)生的額外開銷,其中用于對比的調(diào)度系統(tǒng)為OpenLava。
從測試結(jié)果中可以看出,HSWAP平臺(tái)所產(chǎn)生的作業(yè)管理額外開銷時(shí)間在并發(fā)作業(yè)數(shù)50以上時(shí)保證了平均單作業(yè)小于0.1s,并且在并發(fā)作業(yè)數(shù)達(dá)到500~1000時(shí)取得了最優(yōu)效率,單作業(yè)平均額外開銷時(shí)間小于0.05s。對于計(jì)算時(shí)間一般為數(shù)分鐘、數(shù)小時(shí)甚至數(shù)天的數(shù)值模擬計(jì)算任務(wù)而言,HSWAP的自動(dòng)計(jì)算流程管理沒有帶來可感知的額外開銷,可以充分發(fā)揮調(diào)度系統(tǒng)的并發(fā)調(diào)度能力。
在數(shù)值模擬工作流的基礎(chǔ)上,進(jìn)一步可以通過HSWAP平臺(tái)所提供的定制界面開發(fā)工具實(shí)現(xiàn)領(lǐng)域用戶使用習(xí)慣的專用定制界面,從而形成含能材料分子高通量篩選的專用平臺(tái),如圖14所示。目前該平臺(tái)已經(jīng)應(yīng)用于含能分子篩選高通量計(jì)算,一鍵獲得分子結(jié)構(gòu)及對應(yīng)爆轟性能,面向單質(zhì)炸藥設(shè)計(jì),為變化分子骨架或基團(tuán)與分子骨架連接方式后的大批量分子進(jìn)行高通量的性能評估提供了有力支撐。
5 結(jié)語
HSWAP平臺(tái)面向不同來源、不同交互模式、不同使用習(xí)慣、不同數(shù)據(jù)結(jié)構(gòu)的系列數(shù)值模擬軟件的快速集成,總結(jié)了數(shù)值模擬活動(dòng)的共性特征,構(gòu)建了統(tǒng)一組件模型,并在基于任務(wù)兼文件松耦合的前提下實(shí)現(xiàn)可自動(dòng)執(zhí)行的數(shù)值模擬工作流,實(shí)現(xiàn)流程的交互定義與在高性能計(jì)算資源上的自動(dòng)執(zhí)行。經(jīng)過應(yīng)用實(shí)踐可知,HSWAP平臺(tái)可在2人月內(nèi)完成包含10個(gè)以下數(shù)值模擬軟件、20個(gè)以內(nèi)計(jì)算任務(wù)節(jié)點(diǎn)的數(shù)值模擬工作流的集成,形成領(lǐng)域?qū)S玫哪M應(yīng)用系統(tǒng),單任務(wù)平均管理額外開銷小于0.1s,從而很好地解決了在高性能計(jì)算資源上快速構(gòu)建“建模、計(jì)算、分析、優(yōu)化”一體化應(yīng)用的問題,為開發(fā)高性能領(lǐng)域?qū)S糜?jì)算服務(wù)提供了良好的基礎(chǔ)。但HSWAP平臺(tái)仍然存在以下問題:1)目前HSWAP平臺(tái)仍只支持基于文件的松耦合流程,對其他數(shù)據(jù)耦合方式尚未進(jìn)行分析總結(jié),無法集成原位分析等應(yīng)用模式;2)在高性能計(jì)算資源的適配上,由于自身應(yīng)用環(huán)境的限制,目前尚沒有針對網(wǎng)格計(jì)算環(huán)境開展適配性研究;3)批量用戶并發(fā)壓力測試不足,平臺(tái)的可擴(kuò)展性尚需驗(yàn)證。這些問題均需要進(jìn)一步的研究以完善平臺(tái)的應(yīng)用基礎(chǔ)。
參考文獻(xiàn) (References)
[1] 曹榮強(qiáng),王小寧,盧莎莎,等.基于Portlet的高性能計(jì)算應(yīng)用集成組件[J].科研信息化技術(shù)與應(yīng)用,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] 遲學(xué)斌,肖海力,王小寧,等.國家重點(diǎn)研發(fā)計(jì)劃助力國家高性能計(jì)算環(huán)境服務(wù)化建設(shè)邁上新臺(tái)階[J].科研信息化技術(shù)與應(yīng)用,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] 吳響,鄧筍根,陸忠華.國內(nèi)外科學(xué)工作流綜述研究[J].科研信息化技術(shù)與應(yīng)用,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] 李于鋒,莫?jiǎng)t堯,肖永浩,等.超算環(huán)境科學(xué)工作流應(yīng)用平臺(tái)的引擎設(shè)計(jì)和資源調(diào)度[J].計(jì)算機(jī)應(yīng)用研究,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.