首页 > 范文大全 > 正文

集群并行作业管理系统自动生成器的原理与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇集群并行作业管理系统自动生成器的原理与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【 摘 要 】 集群提供了基于命令行、Web界面或图形用户界面的多种作业管理方式,但各有缺点,要么要求用户会编写命令脚本,要么占用过多的计算资源。文章在此提出一种全新并行作业管理方式,并开发出集群并行作业管理系统自动生成器,可根据用户集群环境自动生成常见有限元分析软件接口源程序,经编译后可运行在大多数集群上。

【 关键词 】 集群系统;作业管理;并行计算

Mechanism and Implementation of Automatic Parallel Job Management System Generator

Zhang Chun-ming Yang Tian-hong Wang Qing Jia Peng

(Northeastern University LiaoningShenyang 110819)

【 Abstract 】 A cluster system provides a number of ways of job management based on command line, Web or graphical user interfaces which either require users to be able to write scripts or take up a large capacity of computing resources. Therefore, it is presented in this paper a new parallel job management approach, and an automatic script generator is developed as such to help users generate corresponding finite element analysis software user interface source code which can be run on most cluster systems after compilation.

【 Keywords 】 cluster system; job management; parallel computation

1 引言

集群系统作为当前高性能并行计算机发展的主流,由一组完全独立的计算机结点,通过高性能网络连接而成,具有单一系统映像、高可用性、高性价比和高可扩展性的特点。

中心实验室的SGI高性能集群系统采用SMP:对称多处理并行计算机体系结构,由拥有多个处理器的SMP 节点和连接各节点间的快速网络构成多级体系结构,具有共享存储和分布存储两级存储结构。该系统采用混合并行模式,即节点内采用多线程化、节点间采用消息传递。每个结点配备主频为2.6GHz的64核CPU(AMD Opteron (TM) 6282),512 GB主存和2 x 2TB RAID1 + 8TB RAID0硬盘阵列。双精度浮点运算速度理论峰值为每秒13312亿次。其管理网络采用千兆Ethernet以太网结构,高速计算网络采用基于开放标准的Infiniband高速网络,具有高带宽、低延迟的特点,带宽最高达120Gbps,延迟低于100 ns,特别适合大规模并行计算。为满足岩土力学数值计算的要求,实验室还配备了多种有限元计算软件,如 Comsol Multiphysics多物理场耦合分析有限元软件、ABAQUS工程模拟有限元软件和ANSYS有限元分析软件等。

众所周知,大多数集群采用的是Linux操作系统,虽然这些系统也提供图形用户界面,但出于性能和用途(高性能计算)等因素考虑,大部分情况下使用命令行方式操作更为方便和高效,而这对于习惯了图形操作界面的普通用户来说不是十分方便,不但要熟悉各种Linux命令,而且还要弄清不同厂家不同版本Linux命令之间的细微差别。其实,对于只使用集群做大规模科学计算的用户来说,完全没有必要掌握这些命令。然而,问题还不止这些。由于集群在运算时会在每个结点上创建一个有限元分析软件的运行实例,因此若全部采用图形界面,势必会浪费更多的计算资源,影响计算效率,甚至可能因自身占用资源过多而导致超负荷的情况。这一点我们深有体会,当初在联想深腾1800集群上测试以图形方式使用COMSOL软件进行并行计算时就因遇到过这种情况而最终放弃这种计算模式。

另一方面,从集群设计的初衷来看,集群制造厂商不推荐、也不希望用户以图形用户界面方式使用集群。其实,这一点从集群结点通常只配备中低档图形显卡就可以看出来。当需要对计算结果进行分析时,一般都是下载到配备高档图形显卡的图形工作站进行后处理。

值得一提的是,有些集群配备了基于Web的集群作业管理系统,只需根据不同的有限元并行软件制作好相应的脚本和执行命令即可。但由于运行不同的算例时,需要修改脚本或命令,因此使用起来仍然很不方便。换句话说,使用集群进行大规模计算最好使用命令行方式,而且为了方便普通用户使用,最好能提供像菜单一样的功能列表供用户选择,这样一来,用户就不必跟生硬的命令行打交道,还能取得事半功倍的效果。

有鉴于此,我们需要针对每一种有限元计算软件研制一套独立的接口程序,姑且称之为与该软件配套的集群并行作业管理系统。不过,如果每个接口程序(即专门针对该有限元软件开发的集群并行作业管理系统)的界面和用法都不统一的话,势必会增加熟悉时间和学习难度。为简化学习曲线,我们通过对不同有限元计算软件的参数进行抽象和封装,为不同的有限元计算软件提供统一的界面和操作方式,以增强其通用性。但让用户编写接口程序有一定难度,为此,我们研制了基于文本界面(TUI)的集群并行作业管理系统自动生成器,可根据用户实际集群环境自动生成常见大型有限元分析软件接口源程序,经编译后可运行在大多数集群上。

2 实现原理及方法

集群并行作业管理系统自动生成器的实现机理。首先,针对每种有限元分析软件,分析与并行作业管理相关的命令,并将可变参数提取出来作为变量,由用户在交互阶段进行赋值;然后编写相应的并行作业管理系统代码生成程序,即集群并行作业管理系统自动生成器,它可以根据用户输入的参数动态生成该有限元分析软件的并行作业管理接口程序(因其自成体系,故亦称并行作业管理系统),包括作业提交、作业取消和作业列表等基本功能;最后,将自动生成器生成的程序拷贝到相关用户(如Ansys_User1)的主目录下,并设置好自启动脚本,以便在该用户登录系统时自动执行该程序,即显示出相应的文本功能菜单供用户选择。由该并行作业管理系统自动生成器所生成的并行作业管理系统程序流程图如图1所示。由于该自动生成器生成的并行作业管理系统是基于文本方式,因此也称之为基于TUI界面的集群并行作业管理系统生成器。

集群并行作业管理系统生成器的用法十分简单。启动主程序后,根据需要点击相应的自动生成器按钮分别进入Ansys、Comsol、Abaqus和LSDyna作业管理系统自动生成界面。

以“基于TUI界面的Comsol作业管理系统自动生成器”为例,说明如何生成COMSOL并行作业管理系统源程序。首先在弹出的窗口中依次输入Comsol软件主程序名(若系统未设置相应的环境变量,则必须指定全程路径)和集群分配给Comsol软件使用的最大计算结点数,然后单击“生成源代码”按钮自动生成相应的作业管理系统源代码。将生成的源代码上传到集群上对应账户的主目录下,并用相应的C编译器编译成可执行代码,再加入自启动脚本当中。用户下次使用SSH Secure Shell Client等客户端程序以该帐户登录到远程集群时,系统会自动显示功能菜单供用户选择,其中数字1-4分别对应提交作业、显示作业列表及当前状态、取消作业和退出系统四项基本功能(仍以Comsol软件为例)。

(1) 选择数字1,提交用户作业。切记在提交作业之前,一定要使用SSH Secure File Transfer Client等FTP程序,把需要进行计算的COMSOL算例,即扩展名为mph的文件,上传到集群该用户主目录下。

按照屏幕提示,依次输入算例文件名(不要包含路径名)和计算所需的CPU核数(例如,若要用16个核进行运算,那么请输入16,但不能超过购买的许可数),最后按回车键提交作业。屏幕会显示出系统自动生成的作业号,如90.cae1.site。后续的显示作业状态以及取消作业都需要用到这个作业号。如果忘记了作业号,请使用“显示作业状态”菜单项查询作业号。用户提交作业后,可以随时退出客户端程序,而不会影响正在集群上进行运算的程序。

(2) 选择数字2,显示作业列表及每个作业的运行状态。如R表示运行状态等。如果状态一列显示为空,则表示作业已完成。

(3) 选择数字3,取消作业。可以取消或中断已提交的作业,只需输入要取消的作业号即可,如90或90.cae1。状态一列显示C,表示正在取消作业。取消作业可能需要一段时间,请耐心等候。若想查看作业状态,请选择“显示作业状态”菜单项。

(4) 选择数字4,退出相应的并行作业管理系统,即退出客户端程序(如SSH),但不是退出计算,因此不会影响正在集群系统上运算的程序,而且以后可以随时登录到集群系统查询作业状态,计算结束后可将运算结果下载到本地电脑上做进一步分析处理。。

其他并行作业管理系统的操作方法与此类似,不再赘述。系统会自动根据不同的登录账号进入事先约定的并行软件用户接口程序,并显示对应的文本功能菜单供用户选择。

3 结束语

集群系统一般提供了多种并行作业管理方式,除了命令行之外,还包括基于Web界面和图形界面的作业管理方式。基于Web界面的作业管理方式要求用户根据不同的有限元软件制作好相应的脚本命令,但由于在运行不同的算例时需要修改脚本命令,因此使用起来仍然很不方便。另一方面,在集群控制台启动图形界面的有限元分析软件进行并行计算,不仅浪费宝贵的计算资源,影响集群的运行效率,而且也不符合集群用于后台计算的设计宗旨。此外,采用VNC之类的远程控制软件可以实现远程图形用户界面登陆,但网络通讯消耗了更多的集群计算资源。为克服上述缺点,我们探索出基于文本菜单界面的新型并行作业管理方式,既便于操作,又不浪费计算资源,还可防止误操作(容错处理功能)。具体地说,就是针对用户要用到的每种并行应用软件编写相应的接口程序,并为其分配相应的账户。用户只需将要计算的算例上载到集群,并以该账户登录到集群系统,系统自动将事先定制好的功能列表以文本菜单形式显示出来供用户选择,而不再显示任何Linux命令提示符。但让用户编写接口程序有一定难度,为此,我们研制了通用性很强的集群并行作业管理系统自动生成器,可根据用户实际集群环境自动生成常见大型有限元分析软件接口源程序,经编译后可运行在大多数集群上。这样用户就可以专注于科学计算任务本身,而不是这些技术细节。

参考文献

[1] 张汝清.并行计算结构力学的发展和展望[J].力学进展,1994, 24 (4): 511-517.

[2] 张永彬.岩石破裂过程分析并行计算方法研究[D].沈阳: 东北大学,2007.

[3] 金君,乔楠. SMP集群上的混合并行计算[J].计算机教育, 2007, (4) : 49-52.

基金项目:

国家重点基础研究发展计划项目(2013CB227902);国家自然科学基金资助项目(51174045)。

作者简介:

张春明 (1968-), 男, 工学硕士, 高级实验师;主要研究内容和关注领域:虚拟现实、并行计算和地理信息系统等方面。

杨天鸿(1968-),男,东北大学,博士,教授,博士生导师;主要研究方向和关注领域:岩石力学及渗流力学的教学和研究。

王青(1962-),男,东北大学,博士,教授,博士生导师;主要研究方向和关注领域:矿山优化开采和资源经济学。

顾晓薇(1971-),女,东北大学,博士,教授,博士生导师;主要研究方向和关注领域:矿山资源与生态经济及露天矿床开采优化。

贾蓬(1973-),女,东北大学,博士,教授;主要研究方向和关注领域:地铁、隧道工程施工稳定性、深部高应力围岩损伤破坏机理及分区破裂等。