APP下载

基于超级计算的CAE集成平台架构设计

2013-04-29邓子云章兢白树仁刘朝华陈磊张伟

湖南大学学报·自然科学版 2013年7期
关键词:架构设计

邓子云 章兢 白树仁 刘朝华 陈磊 张伟

摘 要:“基于超级计算的CAE集成平台”可解决工业领域的产品设计中的CAE软件集成问题、计算速度问题及并行计算机使用的问题.为研发出这个平台,提出了该平台的总体构成和总体架构设计.该平台由5层7个子系统构成,前端系统采用SSH架构,ESB总线和中间件系统采用Spring,Hibernate,Tuscany的组合来实现,集群端系统则主要是对“天河1号”超级计算机的调度系统进行改进.根据总体架构设计研发出了平台的第1个原型.

关键词:超级计算;CAE集成平台;架构设计;第1个原型

中图分类号:TP311.52 文献标识码:A

Architectural Design of CAE Integration

Platform Based on Super Computation

DENG Ziyun1,2 , ZHANG Jing1,BAI Shuren2,LIU Zhaohua2,CHEN Lei2,ZHANG Wei2

(1.College of Electrical and Information Engineering, Hunan Univ, Changsha, Hunan 410082, China;

2.National Supercomputing Center in Changsha, Changsha, Hunan 410082, China)

Abstract:CAE Integration Platform based on Super Computation can solve some problems in industrial products design, such as CAE software integration, calculation speed and parallel computer using. This paper proposed the overall structure and the overall architecture of the platform for development. The platform consists of 5 layers and 7 subsystems. The front end system adopts SSH architecture, ESB bus and middleware uses Spring, Hibernate and Tuscany combination. Cluster system is mainly on the “Tianhe No.1” super computer scheduling system improvements. According to the overall architecture design, the prototype platform was developed.

Key words: super computation; CAE integration platform; architectural design; first prototype

1 问题提出

企业在应用CAE(Computer Aided Engineering,计算机辅助工程)软件进行工业领域产品设计的过程中普遍发现存在以下问题:

1)CAE软件集成问题

CAE软件的品种有许多种,如CATIA,ABAQUS,ANSYS,LSDYNA,Fluent,SINOVATION等,行业应用、软件功能各有侧重,相互孤立,需要将这些软件通过接口统一集成起来,从而可以共同工作[1-2],如能以云计算形式供企业共享使用则更为节约资源和成本.

2)计算速度问题

一个模型从初始建模、计算到优化处理,最终成型,要进行各种环境条件、材质、载荷下的仿真与计算,往往需要反复调整参数、计算、评估许多次,而CAE仿真需要进行大量的计算,现有计算机单机性能仍然存在瓶颈[3],需要使用超级计算机来支持大规模的并行计算来缩短工业设计仿真的计算时间.

3)并行计算机使用问题

使用超级计算机的技术门槛较高,需要操作人员掌握的专业技术知识较多,比如Unix或Linux操作系统、应用行业专业知识、并行计算,甚至系统分析设计及程序开发[3].超级计算机的计算资源如能以Web的方式提供给公众用户使用则更为便利.

解决这些问题的根本办法就是研发出一个“基于超级计算的CAE集成平台”(以下简称“超算CAE平台”).要研发出“超算CAE平台”首先要考虑的问题就是根据业务需求来理清平台的构成,搭建起先进而又稳定的平台总体架构,再进行下一步的设计和编码.

2 研究现状与趋势

“超算CAE平台”是工业设计领域的新兴发展趋势,国内国际的研究水平差距较小,但我国在超级计算机系统和CAE软件的无缝集成技术方面,尚缺乏研究基础和工程应用经验[4-5].

大型工程和复杂产品,例如盾构机、火星着陆器、飞机、轮船等,结构及其仿真都很复杂,依靠PC机、普通工作站无法完成其结构、功能与可靠性一体化的优化设计,这就必须依靠超级计算机技术来解决问题[6-8].

以第三方软件为平台集成CAD(Computer Aided Design,计算机辅助设计)/CAE软件是构建集成设计系统平台的一种趋势.适应于超级并行计算机和机群的高性能CAE求解技术,多种专业领域的CAE计算分析软件的集成化及其联合仿真,建立多物理场、多场耦合、不确定性的大型工程和复杂产品的计算模型,实现对大型工程和复杂产品的全面仿真分析和优化设计,是解决其多目标优化设计问题的必然途径[4-5].

3 主要业务过程描述

“超算CAE平台”的主要用户是工业设计中的设计人员,其目的是利用该平台实现工业设计中各类产品的设计、分析、计算、仿真和试验,并且让用户可以通过互联网环境使用该平台.“超算CAE平台”中的主要业务流程有三种:

1)针对各种CAE商业软件的求解器应用.

这种应用的主要过程要经历用户作业生成、作业提交、作业监控、结果运用4个阶段[9].

2)针对各种CAE商业软件的前后处理的应用.

该流程有前处理和后处理.前处理流程包括CAD模型的导入、相关参数的设置、前处理结果的导出、网格的划分、载荷的施加等.在拥有超级计算机的情形下,可将网格划分较细以得到更加优质和精确的计算结果[10].后处理流程包括计算结果的导入和计算结果的展示,即将求解的结果导入到CAE软件中,查看并进一步分析计算结果,计算结果可以图形化的方式来展现.

3)多种CAE软件的综合应用.

这种应用主要是复杂业务流程的组合,例如机电液一体化联合仿真、流固耦合、CAE参数的迭代优化等复杂过程.

4 平台总体构成

“超算CAE平台”由5层7个子系统构成,如图1所示.

表现层为“超算CAE平台”门户网站;应用层为作业提交与监控系统、计算资源管控系统;表现层和应用层合为平台的前端系统部分.

ESB(Enterprise Service Bus,企业服务总线)层为服务构件装配与复杂业务流程组合系统;中间件层为“超算CAE平台”中间件系统;ESB层和中间件层合为平台的ESB总线与中间件系统部分.

HPC(Hign Performance Computing,高性能计算)层则分别在Linux集群(“天河1号”超级计算机)和Windows集群中驻留研发的软件,比如完成作业调度的功能、资源监控的功能,以供中间件层进一步整合资源,形成共同和相对独立且机制灵活的任务调度;HPC的两个集群驻留软件系统合为平台的集群端系统部分.

安全管控系统贯穿于其它系统之中,但各个系统中有关安全的部分又能组合形成一个综合的解决方案.

5 平台总体架构设计

5.1 平台总体架构

“超算CAE平台”的总体架构设计如图2所示.下面针对该平台的总体架构各层分别描述如下.

1)门户层

可针对不同的用户类型和用户对界面进行个性化配置;可对集成的应用系统,包括作业提交与监控系统、计算资源管控系统进行界面集成、信息集成,形成统一的Portalets;可对不同的用户类型做出不同的权限配置;子系统集成可实现单点登录,用户登录时应当使用USB Key进行身份认证.

2)应用层

应用层的系统主要包括作业提交与监控系统和计算资源管控系统.用户在使用作业提交与监控系统时可生成作业、提交作业、监控作业、监控作业的执行过程、获取作业结果、进行作业的前处理和后处理,展现计算结果和查看作业的计费情况;计算资源管控系统可查看执行的作业的情况,进行能耗管理,生成资源热图和资源统计报表,进行必要的账务处理,如针对不同的用户设置账户预留资金、对账户进行充值等,可查看平台生成的各种日志,可查看Linux集群(“天河1号”超级计算机)和Windows集群的网络状况,可对用户的作业进行必要的干预,可对用户的类型、信息、账户数据进行适当的审批和调整.

3)ESB总线

ESB总线即服务构件装配与复杂业务流程处理系统,利用开源的Tuscany SOA(ServiceOriented Architecture,面向服务的架构)软件对各种服务构件在协议解藕的基础上进行统一的封装,形成与其它系统集成与通信的接口[11-12];在通信上统一采用XML(Extensible Markup Language,可扩展标记语言)报文,支持使用XML Schema进行数据校验;可将XML报文利用路由配置接收来自其它系统的报文,再根据报文处理的需求和情况发送到目标系统;采用Spring开源软件对各种构件使用AOP(AspectOriented Programming,面向切面的

程序设计)编程技术进行前置、后置等增强处理,形成不同业务的处理流程,支持复杂业务流程的处理.

4)中间件

中间件主要功能是屏蔽Windows集群和Linux集群(“天河1号”超级计算机)之间的差异,根据目标集群来生成不同的指令或脚本,提交目标集群执行,并获取到中间结果和最终结果;可获取集群的结点状态,CPU/GPU、License等资源的分配情况和使用情况;作业执行的情况,以及对作业可进行干预;支持在一个作业中执行多个任务或作业步,从而可在一个作业中进行协同作业.

5)HPC层

在Windows集群和Linux集群(“天河1号”超级计算机)中会装有各种CAE大型商业行业应用软件,可执行结构力學、流体力学、电磁学等学科的有限元分析与计算,通过集群内的调度软件来进行大规模分布式计算作业;改进集群端的调度软件,以支持优先级调度、CAE行业应用软件License管理等功能.

5.2 前端系统架构

前端系统主要包括门户、作业提交与监控系统、计算资源管控系统,各层次划分及功能描述如图3所示.

1)展示层

展示层负责处理与操作者的交互,收集操作数据提供给应用服务者,并根据应用服务者的反馈将返回的数据通过一定的形式在界面上展示.展示层包括客户端界面逻辑和应用服务端数据表示逻辑.

2)业务层

业务接口层对上层传递来的数据进行解析并分别送入不同的逻辑处理,向用户返回底层逻辑处理结果.

由于数据和命令的不同,处理方式也不同.规则层负责将不同的处理方式归类,并将接口层传入的数据及命令流入对应处理流程.

不同的处理流程分析数据和命令产生出对应的一个实体,这个实体根据其本身的属性和方法以及上层传入的命令,将数据处理为数据访问层需要的接口参数,并向数据访问层提交访问数据库的请求,最终向业务接口层返回访问结果.

数据访问层将数据转化为数据库可识别的SQL(Structured Query Language,结构化查询语言)语句,并访问数据库层,访问结果会返回给实体层.

3)数据存储层

处理上层传入的SQL,读写数据库内置对象,并根据其内置对象本身的关系对数据做进一步校验和处理.主要由数据库表及相关支撑软件组成,提供对数据的存储、业务信息的数据库模式表示以及数据存储逻辑的维护和管理.

前端系统采用开源的SSH(Struts+Spring+Hibernate,Struts、Spring、Hibernate)这3种开源框架技术的组合架构组合形成技术框架,如图4所示.

Struts的优点在于实现了MVC(ModelViewController,模型-视图-控制器)模式,将Web系统各组件进行了良好的分工合作;Spring的特性在于IoC(Inversion of Control,控制反转)机制;Hibernate的长处在于数据持久化.将三者集成应用的平台将具有良好的可扩展架构.

在前端系统中将Struts中的Action交由Spring容器来管理,将数据逻辑层的数据操作Bean交由Spring容器来管理,而不必再在Action中声明业务逻辑操作的组件.

5.3 ESB总线架构

ESB总线(服务构件装配与复杂业务流程处理系统)的技术架构如图5所示.

中间件系统、作业提交与监控系统、计算资源管控系统、集群端系统都通过系统接口以可插拔的方式挂接在ESB总线上,它们主要通过Web Service进行交互式处理,有同步和异步两种数据交换方式,通信采用XML报文,并支持大尺寸XML报文的传送.

各种系统接入ESB总线后,在SOA集成层面上,采用开源的Tuscany作为SOA集成系统,完成协议解藕功能,将异种构件通过SCA(Service Component Architecture,服务组件架构)装配成统一的Web Service构件,再根据XML报文中指出的目标系统、结合业务的需求将报文分发到其它系统,也可在ESB总线上作出一些业务处理,如日志记录、报文加解密、数据检验等,在处理完之后再行分发.

ESB总线还具有总线管理模块,支持对业务报文的定义、源和目标系统的配置、处理流程的配置等功能;总线监控模块可监控到总线的所有报文处理和构件调用的情况;报表与数据查询可以报表的方式查询到业务处理的情况,为各种作业、计费、运维管理提供可视化界面.

5.4 中间件系统架构

中间件系统的架构如图6所示.中间件系统一方面要对ESB总线提供应用系统接口,接口的形成可双方商定,但通过ESB总线进一步的协议解藕和封装均会成为Web Service.

中间件系统对Windows集群和Linux集群(“天河1号”超级计算机)主要是要构建两条传输通道,一为指令传输通道,将可执行的指令传送,再取回中间和最终结果;二是文件传输通道,文件主要是有限元计算的模型文件、脚本文件、计算结果文件、批处理脚本文件等,需要构建基于FTP的上传和下载通道,并支持大型文件的处理;传送指令和文件的任务是通过Spring构造的调度器在时间片触发的基础上来执行任务的,任务队列通过Hibernate持久化在平台数据库中.

5.5 Linux集群端调度与资源管理系统

“天河1号”超级计算机使用的调度软件是在开源slurm基础上进行改进的,在“超算CAE平台”中要做的改进主要是以下2点:

1)针对slurm的改进,比如让其可以管控到核一级的计算资源,slurm与FLEXlm的集成.

2)构建License管理器.根据各种CAE的接口情况将它们的License集中管理起来.

6 研发进展与应用情况

依据前文所述的“超算CAE平台”体系架构,已经成功地基于“天河1号”研发出了该平台,形成了第1个整体原型,前端系统的操作界面如图7所示.运用这个平台已经进行了火星探测气囊的仿真并行计算,有限元模型如图8所示.

7 结 语

“超算CAE平台”的建立,将有助于整合国内外工业设计技术资源,促进设备及技术资源开发共享,提升一些大型企业在国家重大工程建设及重大装备中的自主创新能力.

“超算CAE平台”的架构设计采用5层架构,这可在以后的研发以及二次开发过程中保持良好的可扩展性和可维护性,用户以Web方式使用超算中心的各种计算资源,从而支持云计算在工业领域CAE仿真应用.

目前该平台已研发出第1个原型,并还将继续改进形成更为强大的系列软件产品.

参考文献

[1] 李波,周恩卫,沈斌.分布式计算环境中的协同分配任务调度仿真系统[J].计算机工程与科学,2012,34(12):82-86.

LI Bo, ZHOU Enwei, SHEN Bin. A simulating system for scheduling coAllocation tasks in distributed computing environments [J]. Computer Simulation,2012,34(12):82-86.(In Chinese)

[2] CHANG Y S, ZOU G J, CHANG C I. RARS: a resource aware replica selection and coallocation schema for mobile grid[J].International Journal of Ad Hoc and Ubiquitous Computing, 2010, 6(2):99-113.

[3] 朱小谦, 孟祥飞, 菅晓东, 等.“天河一号”大规模并行应用程序测试[J].计算机科学,2012,39(3):265-267.

ZHU Xiaoqian, MENG Xiangfei, JIAN Xiaodong,et al. Performance test of massively parallel program on TH1 A [J]. Computer Science,2012,39(3):265-267. (In Chinese)

[4] 田荣.中国CAE软件发展的新契机[J].计算机辅助工程,2011,20(1):141-143,147.

TIAN Rong. New opportunity for CAE software development in China [J]. Computer Aided Engineering,2011,20(1):141-143,147. (In Chinese)

[5] SUN Ninghui,KAHANE D,CHEN D. Highperformance computing in China: research and applications[J]. Int J High Performance Computing Applications,2010,24(4): 363-409.

[6] 丁峻宏, 李根国, 金先龙, 等.基于高性能计算的CAE技术在大型盾构施工仿真中的应用[J].计算机辅助工程,2011,20(1):163-167.

DING Junhong, LI Genguo, JIN Xianlong,et al. Application of CAE technology based on high performance computing in largescale shield construction process [J]. Computer Aided Engineering,2011,20(1):163-167. (In Chinese)

[7] KASPER T, MESCHKE G. On the influence of face pressure, grouting pressure and TBM design in soft ground tunneling[J].Tunneling & Underground Space Technol,2006,21(2):160-171.

[8] SCHMITT J, FRITSCH M,GATTERMANN J,et al. Numerical investigations to the influence of rearrangement of ground pressure for shield tunneling[C]//Proc ICOSSAR 2005.Rotterdam: Mill Press,2005:1317-1323.

[9]王波 章巧芳 彭伟.基于广域网的CAE资源共享平台的开发及应用[J].机械设计与制造,2010(4):64-66.

WANG Bo, ZHANG Qiaofang, PENG Wei. The development and application of CAE resource sharing platform based on the WAN [J]. Machinery Design & Manufacture,2010(4):64-66.(In Chinese)

[10]刘德仿,李丽英,周临震,等.基于ANSYS的建模及分析方法研究[J].制造业自动化,2011,33(10):140-142,149.

LIU Defang, LI Liying, ZHOU Linzhen,et al. Research of modeling and analysis method based on ANSYS[J]. Manufacturing Automation,2011,33(10):140-142,149. (In Chinese)

[11]邓子云, 杨晓峰, 黄婧.基于ESB的SOABPM系统集成平台关键技术研究与实现[J].科学技术与工程,2010,10(3):798-802.

DENG Ziyun, YANG Xiaofeng, HUANG Jing. The key technology research and implementation of SOABPM system integration platform bBased on ESB[J]. Science Technology and Engineering, 2010,10(3):798-802. (In Chinese)

[12]王辉, 邵贝恩.用SOA和BPM组合架构实时企业[J].计算机应用研究,2007,24(6):220-223.

WANG Hui, SHAO Beien. Using SOABPM combination framework to build realime enterprise[J]. Application Research of Computers,2007,24(6):220-223. (In Chinese)

猜你喜欢

架构设计
浅析工业网络安全架构设计
基于安全性需求的高升力控制系统架构设计
虚拟收费站架构设计与高速公路自由流技术
智能无人集群任务规划系统架构设计
大数据时代计算机网络应用架构设计
贵州省气象大数据平台架构设计
一种面向应用的流量监测精简架构设计
图书馆管理信息系统的需求分析及系统架构设计
“云上贵州”智能交通云的架构设计
对称加密算法RC5的架构设计与电路实现