基于云计算的电磁问题并行计算方法

2016-12-12 06:26邱运涛杨庆新牛萍娟祝丽花
电工技术学报 2016年22期
关键词:剖分计算资源电工

金 亮 邱运涛 杨庆新 牛萍娟 祝丽花



基于云计算的电磁问题并行计算方法

金 亮 邱运涛 杨庆新 牛萍娟 祝丽花

(天津工业大学天津市电工电能新技术重点实验室 天津 300387)

针对电工装备性能分析与优化所需的易用高性能计算问题,使用云计算技术搭建了弹性集群,实现了典型电磁问题在弹性集群中的并行计算。使用虚拟化技术将计算机资源整合为资源池,搭建并部署了可实现弹性计算的云平台及并行计算所需的弹性集群。计算节点通过千兆路由器相连,节点之间使用SSH通信协议。选取感应电机和变压器作为计算案例,使用Fortran编写静磁场计算程序。对云计算的并行架构OpenMpi与MapReduce进行了分析研究,使用OpenMpi并行化方法实现了数百万计算节点的并行计算。并通过与商业软件计算结果的对比验证了计算的正确性。研究结果表明,可在云计算的弹性集群上使用OpenMpi实现大规模并行计算。相比超级计算机提供的并行计算方案,本文使用云计算建立的弹性机群具有便捷、按需、可配置的优点,这为高性能计算提供了一种更易获取、易用的解决方法,为开展复杂真实机构的集成计算提供了高性能计算的理论和实践依据。

云计算 并行计算 电磁场数值计算 有限元法

0 引言

《国家自然科学基金“十二五”发展规划纲要》明确提出重视新技术与新工艺、新器件与新结构等应用方面的前沿研究,开展复杂真实机构的集成计算理论与方法研究。《中国制造2025》对新型高性能电工材料的发展与电工装备的研发制造提出新的要求,需要考虑其磁性材料的磁特性和磁致伸缩特性[1,2]及装备的制造工艺与性能优化,因而具有计算规模大、计算复杂程度高的特点。因此电工材料发展与电工装备研发制造所需的数值计算方法、大规模科学计算和智能设计方法,成为国内外的研究热点。

传统的电工装备设计与性能分析常采用的电磁场解析法、场路结合法的计算精度无法满足设计要求,可实现高精度计算的电磁场有限元分析法存在所需计算资源多的现实需求[3,4]。针对有限元分析法的大规模计算,不少国内外学者进行了相关的探索研究,主要采取的方法有并行计算和分布式计算[5]。2006年管建和等对有限元电磁法勘探研究使用分布式并行计算(Distributed Parallel Computing, DPC),利用局域网上闲置CPU资源协同实现高性能计算[6]。2009年叶茂等提出基于Beowulf集群模型,利用普通物理PC和以太网,通过Linux系统搭建基于MPICH2的并行计算集群[7]。2010年王海涛等综合分析了基于Linux集群的并行计算方法,并对其进行了性能测试[8]。传统超级计算机并行计算和分布式计算仍存在难扩展、不易移植、信息集成和共享困难、成本高和计算资源不易获得等问题。

为了应对复杂电磁数值模拟带来的诸多挑战,高速公有云和万兆私有云的弹性计算成为一种可行的解决方案。2010年G. Mateescu等提出了面向高性能计算的混合云计算体系[9]。2012年I. Ari等设计并实现了云计算平台下针对有限元分析的计算服务体系,重点关注了在多核和多节点计算资源上的线性、非线性结构分析计算负载下的性能特点[10]。华中科技大学建立了稀疏矩阵向量乘法、共轭梯度法等数值计算的MapReduce编程模型并实现了相关的验证计算[11]。2015年中科院陈国良院士团队提出的高性能云计算新思想[12],是解决大规模科学计算问题的新方法。

基于云计算的并行计算或高性能计算研究方兴未艾[13],在电磁计算领域中并行计算环境的效能分析、并行设计方法的研究尚不多见,如何应用电工装备的电磁数值模拟成为急需解决和研究的问题。本文使用云计算的虚拟化技术将工作站资源整合为虚拟资源池形成小型私有云[14]。将虚拟资源池划分为两部分,两台Win7操作系统;9台Linux系统,搭建并行计算集群[15]。经测试表明在云计算的虚拟资源环境中,可同时正常运行Windows、Linux操作系统,并获得隔离的计算环境。对比分析并行编程模型OpenMpi与MapReduce的并行实现原理,经过研究发现MapReduce适于编写大规模数据集型应用程序[16],而OpenMpi更适合编写大规模计算集型应用程序[17]。选取感应电机、变压器等作为对比的典型计算案例,采用OpenMpi并行模式编写了并行程序,并在并行计算集群中实现对两者的电磁场计算。通过两个案例不同计算规模的电磁场计算,验证了云计算平台可实现典型电工装备的数百万级计算节点的并行计算。

1 云计算的弹性集群搭建

1.1 云计算与弹性集群

云计算是随着互联网发展的新型商业化计算服务模式,主要包括三个层次的服务:基础设施即服务IaaS,平台即服务PaaS和软件即服务SaaS[18,19],如图1所示。用户可以随时随地通过互联网,以即付即用的形式,按照自己的计算需求从云资源池中获得抽象的、虚拟的、动态易扩展的与可管理的计算资源、存储资源、平台及相关服务[20,21]。云计算降低了传统集群计算的前期复杂配置与运行维护专业技术门槛。科研人员可以低成本的投入,获得高效的、按需配置的且易获取的计算资源。

图1 云计算的有限元并行计算原理

1.2 云计算弹性集群系统架构

本文选用9台Linux系统搭建、部署了并行计算集群如图2所示。其中一台作为主节点(Master),负责整体计算任务的分配、调度与存储,其余8台作为从节点(Slave)实现计算与存储。集群之间通过一台千兆路由器相连,各主机在同一个局域网内。节点之间采用SSH通信协议机制,实现节点间免密登录,提高节点间的通信效率。

图2 集群的系统框架

2 云计算并行编程算法对比

OpenMpi是一种基于消息传递机制的并行程序标准设计方法,可为程序设计者提供一个高效的、可扩展的、统一的并行编程环境。相对于MapReduce来说,OpenMpi更专注应用于计算密集型的并行程序,提供给用户功能强大的通信函数,也有MapReduce的标志性处理,即归约(Reduce)相应的函数调用。图3为OpenMpi的工作机制。OpenMpi能提供强大的并行计算能力,计算与数据存储为分离方式,主要应用在科学计算领域中的各种大型的并行处理机上。

图3 OpenMpi工作机制

MapReduce并行算法主要分为Map阶段与Reduce阶段。Map函数首先将输入的计算任务文件进行分块,分配到不同机器上执行计算,映射形成一系列中间结果键值对(key1, key2, key3,…),Reduce函数通过将相同的中间结果键值对进行规约形成最终的输出结果文件。MapReduce工作机制如图4所示。

图4 MapReduce工作机制

MapReduce是云计算时代的关键核心技术,是谷歌提出的一个并行软件编程架构,但主要应用于大规模数据集的并行计算处理。基于MapReduce写出来的并行应用程序能够运行在由上千个普通机器组成的大型集群上,并以一种可靠容错的方式并行处理上太(T)级别的数据集。MapReduce通过分布式文件系统的底层支持组成了主、从结构,其显著特点是计算与存储节点为同一个节点,满足无需数据交互的情况,适合于数据密集型计算应用程序。

OpenMpi则是通过主节点统一将需要计算的各子区域的数据分配给只负责计算的从节点,整体计算过程需要数据交互。适合于计算密集型的科学计算应用程序。在云计算资源框架的平台层采用OpenMpi消息传递标准并行程序设计方法,可打破传统的并行计算集群的相对固化,充分使用云计算资源池中虚拟的、抽象的、动态可扩展的与可管理的、即付即用的计算资源与存储资源,可实现处理科学计算领域中的高性能计算(High Performance Computer, HPC)资源处理的大规模计算问题。

本文基于OpenMpi的容错系统解决随计算集群规模扩大、进程出错、节点失效等易造成计算过程失败的问题。容错系统使用并行检查点协议,实现并行程序的检查点设置/回卷恢复功能。采用检查点文件镜像技术解决计算节点失效问题。通过均衡存储策略,将检查点文件均衡存储到多节点存储器上,进程信息可有效保存。当计算节点宕机时,宕机节点信息可在其他节点上获得,并从最近的检查点处重新加载程序运行。

3 云计算并行集群中计算案例的实现

3.1 感应电机

选取的案例为感应电机的静磁场计算。计算模型包括四个区域:定子和转子、流入纸面的载流线圈、流出纸面的载流线圈、定子和转子之间的气隙。感应电机的磁势等值线(磁力线)分布如图5和图6所示。

图5 自编程序的感应电机磁势等值线分布

图6 COMSOL中感应电机的磁势等值线分布

对比图5和图6,云计算集群中自编程序的感应电机计算结果与商业有限元软件Comsol计算的结果,其误差仅为0.2%,说明自编软件的计算结果是准确的。

改变剖分单元尺寸,在云计算集群中不同节点数的计算速率如图7所示。通过案例的剖分单元计算速率曲线图显示,计算任务的单台节点数的计算速率随参与计算的节点数增加。可见通过弹性调节云计算集群中参与计算的节点,并行计算效能可得到有效提高。

图7 不同计算规模在不同节点数的剖分单元计算速率

3.2 变压器计算案例描述

一般变压器结构为轴对称,故只取右半侧进行分析;对右半侧来讲,虽然变压器油箱外壳是矩形的,但决定磁场分布的铁心以及线圈都是圆柱形状的,故可以用二维模型来计算。

二维磁场的时谐微分方程为

(2)

式中,e为各剖分单元的磁通密度;e为剖分单元的面积;e为平面剖分单元中心到铁心柱轴线的距离。已知电感和短路电压分别为

(4)

式中,1为变压器绕组1相电流。故短路阻抗

(6)

式中,e为一次侧相电压;1为绕组1匝数;t为匝电压。

通过式(2)的电场强度、式(1)的磁场强度及式(6),可求解短路阻抗。

案例计算模型如图8所示,变压器计算模型包括5个区域:0为铁心柱及油箱壁;1为电流流入纸面的线圈;2为电流流出纸面的线圈;3为变压器油;4为空气罩。

图8 案例计算模型

外围电位边界条件为=0,铁心柱及油箱壁相对磁导率r=100,其余区域相对磁导率r=1。线圈1匝数1=82,电流1=688.5A,匝电压t=15.842 8V,线圈2和线圈3匝数分别为2=3=789。经计算得线圈1电流密度为-3.136 5´106A/m2,线圈2和线圈3电流密度为2.281 1´106A/m2。

式(2)的虚功率方程形式为

通过式(8)求解出电场强度,然后通过最小二乘法求解磁场强度及阻抗。图9为Comsol计算的变压器磁势等值线分布。

对于云计算中的并行计算,本文选取剖分尺寸为0.82mm、0.66mm、0.60mm、0.55mm等。其剖分的网格单元数及节点数见表1。

图9 Comsol计算变压器的磁势等值线分布

表1 网格剖分

Tab.1 Mesh generation

不同剖分尺寸,在云计算集群中不同节点数对应的剖分单元计算速率,如图10所示。计算规模较小时,数据通信、程序启动等占据的时间影响加速效果的正确验证。随计算规模的增大,并行计算中时间计算趋于准确,加速效果增强且趋于稳定。由于计算节点之间存在计算数据交换的时间消耗,最大计算速度为7台节点机。通过研究发现节点之间由于存在计算数据交换的时间消耗,云平台的并行计算效能主要受制于计算节点的通信速度。相对于单机的百万级的单元计算速率,千兆网云计算的弹性集群仍可实现千万单元级的单元计算速率。随着高性能计算的需求提升,云计算的通信宽带从早期的百兆发展到现在的千兆,随着亚马逊云平台3 600MHz通信宽带的实现以及私有云万兆网的部署,云计算平台实现并行计算的效率可进一步提升。

图10 不同计算规模在不同节点数的单元计算速率

4 结论

本文在云计算的弹性集群中,实现了一种OpenMpi编程框架的电磁场并行计算方法。使用云计算方法解决实际工程中电机、变压器等典型的电工装备性能优化设计所面临的大规模计算问题,基于OpenMpi实现了千万单元级的计算速率,满足科学计算的计算资源需求。云计算和OpenMpi开源特性使其内核和实现方法易于修改和重复调用,这为电工装备性能分析和优化所需的大规模计算提供了一种自主、可控、高效能的解决方案,为大型电工装备真实模型的计算仿真分析奠定了理论和实践基础。

参考文献:

[1] 侯淑萍, 杨庆新, 陈海燕, 等. 新型高性能电工材料应用特性建模的模块化设计[J]. 电工技术学报, 2008, 23(10): 1-5.

Hou Shuping, Yang Qingxin, Chen Haiyan, et al. Modularity design of modeling for new high performance materials applied to electrical engin- eering[J]. Transactions of China Electrotechnical Society, 2008, 23(10): 1-5.

[2] 谢德馨, 程志光, 杨仕友, 等. 对当前计算电磁学发展的观察与思考-参加COMPUMAG2011会议有感[J]. 电工技术学报, 2013, 28(1): 136-141.

Xie Dexin, Cheng Zhiguang, Yang Shiyou, et al. Observation and consideration on the current deve- lopment of computational electromagnetics-in perspec- tive of COMPUMAG2011[J]. Transactions of China Electrotechnical Society, 2013, 28(1): 136-141.

[3] 袁中胜. 新能源汽车驱动用永磁同步电机的设计[D]. 哈尔滨: 哈尔滨工业大学, 2013.

[4] 杨亮. 云计算与电磁仿真结合的可行性分析[J]. 电子技术与软件工程, 2014(2): 29-30.

Liang Yang. Feasibility analysis for the combination of cloud computing and electromagnetic simula- tion[J]. Electronic Technology & Software Engin- eering, 2014(2): 29-30.

[5] 唐任远, 吴东阳, 谢德馨. 单元级别并行有限元法求解工程涡流场的关键问题研究[J]. 电工技术学报, 2014, 29(5): 1-8.

Tang Renyuan, Wu Dongyang, Xie Dexin. Research on the key problem of element by element parallel FEM applied to engineering eddy current analysis[J]. Transactions of China Electrotechnical Society, 2014, 29(5): 1-8.

[6] 管建和. 电磁场有限元法解释分布式并行计算的研究[D]. 北京: 中国地质大学, 2006.

[7] 叶茂, 缪纶, 王志璋, 等. 基于LINUX和MPICH2的高性能科学计算集群搭建及其性能评测[J]. 中国水利水电科学研究院学报, 2009, 7(4): 302-306.

Ye Mao, Miao Lun, Wang Zhizhang, et al. The establishment and performance evaluation of high performance scientific computing cluster based on LINUX and MPICH2[J]. Journal of China Institute of Water Resources and Hydropower Research, 2009, 7(4): 302-306.

[8] 王海涛, 刘淑芬. 基于Linux集群的并行计算[J]. 计算机工程, 2010, 36(1): 64-66.

Wang Haitao, Liu Shufen. Parallel computing based on Linux cluster[J]. Computing Engineering, 2010, 36(1): 64-66.

[9] Mateescu Gabriel, Gentzsch Wolfgang, Ribbens Calvinj. Hybrid computing-where HPC meets grid and cloud computing[J]. Future Generation Computer Systems-The International Journal of Grid Com- puting and Escience, 2011, 27(5): 440-453.

[10] Ari Ismail, Muhtaroglu Nitel. Design and implement- ation of a cloud computing service for finite element analysis[J]. Advances in Engineering Software, 2013(60-61): 122-135.

[11] 符伟. 云计算环境下的线性有限元方法研究[D]. 武汉: 华中科技大学, 2013.

[12] 陈国良, 毛睿, 蔡晔. 高性能计算及其相关新兴技术[J]. 深圳大学学报(理工版), 2015, 32(1): 25-31.

Chen Guoliang, Mao Rui, Cai Ye. High performance computing and related new technologies[J]. Journal Shenzhen University Science and Engineering, 2015, 32(1): 25-31.

[13] 张少敏, 赵硕, 王保义. 基于云计算和量子粒子群算法的电力负荷曲线聚类算法研究[J]. 电力系统保护与控制, 2014, 42(21): 93-98.

Zhang Shaomin, Zhao Shuo, Wang Baoyi. Research of power load curve clustering algorithm based on cloud computing and quantum particle swarm optimization[J]. Power System Protection and Control, 2014, 42(21): 93-98.

[14] Peterson B, Baumgartner G, Qingyang Wang. A hybrid cloud framework for scientific computing[C]// IEEE 8th International Conference on Cloud Com- puting, 2015: 373-380.

[15] 王意洁, 孙伟东, 周松, 等. 云计算环境下的分布存储关键技术[J]. 软件学报, 2012, 23(4): 962-986.

Wang Yijie, Sun Weidong, Zhou Song, et al. Key technologies of distributed storage for cloud com- puting[J]. Journal of Software, 2012, 23(4): 962-986.

[16] 李成华, 张新访, 金海, 等. MapReduce: 新型的分布式并行计算编程模型[J]. 计算机工程与科学, 2011(3): 129-135.

Li Chenghua, Zhang Xinfang, Jin Hai, et al. MapReduce: a new programming model for distri- buted parallel computing[J]. Computing Engineering & Science, 2011(3): 129-135.

[17] 郭本俊, 王鹏, 陈高云, 等. 基于MPI的云计算模型[J]. 计算机工程, 2009, 35(24): 84-86.

Guo Benjun, Wang Peng, Chen Gaoyun, et al. Cloud computing model based on MPI[J]. Computing Engineering, 2009, 35(24): 84-86.

[18] 赵俊华, 文福拴, 薛禹胜, 等. 云计算:构建未来电力系统的核心计算平台[J]. 电力系统自动化, 2010, 34(15): 1-8.

Zhao Junhua, Wen Fushuan, Xue Yusheng, et al. Cloud computing: build the core computing paltform for the future electric power system[J]. Automation of Electric Power Systems, 2010, 34(15): 1-8.

[19] 孙超. 高性能计算平台的设计与应用[D]. 天津: 天津大学, 2013.

[20] 丁凡. 云环境中高性能计算应用的关键问题研究[D]. 兰州: 兰州大学, 2014.

[21] 宋亚奇, 周国亮, 朱永利, 等. 云平台下并行总体经验模态分解局部放电信号去噪方法[J]. 电工技术学报, 2015, 30(18): 213-222.

Song Yaqi, Zhou Guoliang, Zhu Yongli, et al. Research on parallel ensemble empirical mode decomposition denoising method for partial discharge signals based on cloud platform[J]. Transactions of China Electrotechnical Society, 2015, 30(18): 213- 222.

A Parallel Computing Method to Electromagnetic Problems Based on Cloud Computing

(Key Laboratory of Advanced Electrical Engineering and Energy Technology Tianjin Polytechnic University Tianjin 300387 China)

High performance and easy calculation are required for the performance analysis and optimization of electrical equipment. For this reason, a kind of elastic cluster is built using cloud computing and parallel computing, which the typical electromagnetic problems can be achieved. The virtualization technology is used to integrate the computer resources into virtual resource pool. Thus, the cloud platform for elastic computing and a kind of elastic cluster for parallel computing can be built and implemented. Computing nodes are connected by Gigabit router, and SSH communication protocol is used between nodes. Induction motor and transformer are chosen as the calculation cases. The calculation programs of static magnetic field are written by Fortran. Cloud computing parallel architecture of OpenMpi and MapReduce are analyzed. The parallel calculation including millions of meshing scales are realized based on OpenMpi. The correctness of the calculation is verified by the result comparisons from a commercial software. It is shown that larger scale of parallel computing can be realized by using OpenMpi in the elastic cluster of cloud computing. Compared with the calculation schemes of parallel supercomputers, the built elastic cluster using cloud computing in this paper is more convenient and configurable, which provides a more accessible and easy-to-use solution for high performance computing. The proposed method also provides the theoretical and practical basis for the integrated calculation theory and method in complex real model.

Cloud computing, parallel computing, numerical calculation of electromagnetic fields, finite element method

TM153

国家自然科学基金青年项目(51207105、51507110),国家自然科学基金面上项目(51577132)和国家火炬计划(2015GH611592)资助项目。

2016-03-01 改稿日期 2016-05-17

金 亮 男,1982年生,博士,副教授,研究方向为工程电磁场与磁技术、电磁场云计算和电磁无损检测等。E-mail: jinliang@tjpu.edu.cn

牛萍娟 女,1973年生,教授,研究方向为高性能计算、第三代半导体器件、半导体光源与照明系统等。E-mail: niupingjuan@tjpu.edu.cn(通信作者)

猜你喜欢
剖分计算资源电工
基于模糊规划理论的云计算资源调度研究
关于二元三次样条函数空间的维数
基于重心剖分的间断有限体积元方法
特变电工
改进快速稀疏算法的云计算资源负载均衡
特变电工
特变电工
糊涂的维修工
基于Wi-Fi与Web的云计算资源调度算法研究
基于Delaunay三角剖分处理二维欧式空间MTSP的近似算法