金 亮 邱運濤 楊慶新 牛萍娟 祝麗花
?
基于云計算的電磁問題并行計算方法
金 亮 邱運濤 楊慶新 牛萍娟 祝麗花
(天津工業大學天津市電工電能新技術重點實驗室 天津 300387)
針對電工裝備性能分析與優化所需的易用高性能計算問題,使用云計算技術搭建了彈性集群,實現了典型電磁問題在彈性集群中的并行計算。使用虛擬化技術將計算機資源整合為資源池,搭建并部署了可實現彈性計算的云平臺及并行計算所需的彈性集群。計算節點通過千兆路由器相連,節點之間使用SSH通信協議。選取感應電機和變壓器作為計算案例,使用Fortran編寫靜磁場計算程序。對云計算的并行架構OpenMpi與MapReduce進行了分析研究,使用OpenMpi并行化方法實現了數百萬計算節點的并行計算。并通過與商業軟件計算結果的對比驗證了計算的正確性。研究結果表明,可在云計算的彈性集群上使用OpenMpi實現大規模并行計算。相比超級計算機提供的并行計算方案,本文使用云計算建立的彈性機群具有便捷、按需、可配置的優點,這為高性能計算提供了一種更易獲取、易用的解決方法,為開展復雜真實機構的集成計算提供了高性能計算的理論和實踐依據。
云計算 并行計算 電磁場數值計算 有限元法
《國家自然科學基金“十二五”發展規劃綱要》明確提出重視新技術與新工藝、新器件與新結構等應用方面的前沿研究,開展復雜真實機構的集成計算理論與方法研究。《中國制造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并行模式編寫了并行程序,并在并行計算集群中實現對兩者的電磁場計算。通過兩個案例不同計算規模的電磁場計算,驗證了云計算平臺可實現典型電工裝備的數百萬級計算節點的并行計算。
云計算是隨著互聯網發展的新型商業化計算服務模式,主要包括三個層次的服務:基礎設施即服務IaaS,平臺即服務PaaS和軟件即服務SaaS[18,19],如圖1所示。用戶可以隨時隨地通過互聯網,以即付即用的形式,按照自己的計算需求從云資源池中獲得抽象的、虛擬的、動態易擴展的與可管理的計算資源、存儲資源、平臺及相關服務[20,21]。云計算降低了傳統集群計算的前期復雜配置與運行維護專業技術門檻。科研人員可以低成本的投入,獲得高效的、按需配置的且易獲取的計算資源。

圖1 云計算的有限元并行計算原理
本文選用9臺Linux系統搭建、部署了并行計算集群如圖2所示。其中一臺作為主節點(Master),負責整體計算任務的分配、調度與存儲,其余8臺作為從節點(Slave)實現計算與存儲。集群之間通過一臺千兆路由器相連,各主機在同一個局域網內。節點之間采用SSH通信協議機制,實現節點間免密登錄,提高節點間的通信效率。

圖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的容錯系統解決隨計算集群規模擴大、進程出錯、節點失效等易造成計算過程失敗的問題。容錯系統使用并行檢查點協議,實現并行程序的檢查點設置/回卷恢復功能。采用檢查點文件鏡像技術解決計算節點失效問題。通過均衡存儲策略,將檢查點文件均衡存儲到多節點存儲器上,進程信息可有效保存。當計算節點宕機時,宕機節點信息可在其他節點上獲得,并從最近的檢查點處重新加載程序運行。
選取的案例為感應電機的靜磁場計算。計算模型包括四個區域:定子和轉子、流入紙面的載流線圈、流出紙面的載流線圈、定子和轉子之間的氣隙。感應電機的磁勢等值線(磁力線)分布如圖5和圖6所示。

圖5 自編程序的感應電機磁勢等值線分布

圖6 COMSOL中感應電機的磁勢等值線分布
對比圖5和圖6,云計算集群中自編程序的感應電機計算結果與商業有限元軟件Comsol計算的結果,其誤差僅為0.2%,說明自編軟件的計算結果是準確的。
改變剖分單元尺寸,在云計算集群中不同節點數的計算速率如圖7所示。通過案例的剖分單元計算速率曲線圖顯示,計算任務的單臺節點數的計算速率隨參與計算的節點數增加。可見通過彈性調節云計算集群中參與計算的節點,并行計算效能可得到有效提高。

圖7 不同計算規模在不同節點數的剖分單元計算速率
一般變壓器結構為軸對稱,故只取右半側進行分析;對右半側來講,雖然變壓器油箱外殼是矩形的,但決定磁場分布的鐵心以及線圈都是圓柱形狀的,故可以用二維模型來計算。
二維磁場的時諧微分方程為

(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 不同計算規模在不同節點數的單元計算速率
本文在云計算的彈性集群中,實現了一種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(通信作者)