金 亮 邱運濤 楊慶新 牛萍娟 祝麗花
?
基于云計算的電磁問題并行計算方法
金 亮 邱運濤 楊慶新 牛萍娟 祝麗花
(天津工業(yè)大學(xué)天津市電工電能新技術(shù)重點實驗室 天津 300387)
針對電工裝備性能分析與優(yōu)化所需的易用高性能計算問題,使用云計算技術(shù)搭建了彈性集群,實現(xiàn)了典型電磁問題在彈性集群中的并行計算。使用虛擬化技術(shù)將計算機資源整合為資源池,搭建并部署了可實現(xiàn)彈性計算的云平臺及并行計算所需的彈性集群。計算節(jié)點通過千兆路由器相連,節(jié)點之間使用SSH通信協(xié)議。選取感應(yīng)電機和變壓器作為計算案例,使用Fortran編寫靜磁場計算程序。對云計算的并行架構(gòu)OpenMpi與MapReduce進(jìn)行了分析研究,使用OpenMpi并行化方法實現(xiàn)了數(shù)百萬計算節(jié)點的并行計算。并通過與商業(yè)軟件計算結(jié)果的對比驗證了計算的正確性。研究結(jié)果表明,可在云計算的彈性集群上使用OpenMpi實現(xiàn)大規(guī)模并行計算。相比超級計算機提供的并行計算方案,本文使用云計算建立的彈性機群具有便捷、按需、可配置的優(yōu)點,這為高性能計算提供了一種更易獲取、易用的解決方法,為開展復(fù)雜真實機構(gòu)的集成計算提供了高性能計算的理論和實踐依據(jù)。
云計算 并行計算 電磁場數(shù)值計算 有限元法
《國家自然科學(xué)基金“十二五”發(fā)展規(guī)劃綱要》明確提出重視新技術(shù)與新工藝、新器件與新結(jié)構(gòu)等應(yīng)用方面的前沿研究,開展復(fù)雜真實機構(gòu)的集成計算理論與方法研究?!吨袊圃?025》對新型高性能電工材料的發(fā)展與電工裝備的研發(fā)制造提出新的要求,需要考慮其磁性材料的磁特性和磁致伸縮特性[1,2]及裝備的制造工藝與性能優(yōu)化,因而具有計算規(guī)模大、計算復(fù)雜程度高的特點。因此電工材料發(fā)展與電工裝備研發(fā)制造所需的數(shù)值計算方法、大規(guī)模科學(xué)計算和智能設(shè)計方法,成為國內(nèi)外的研究熱點。
傳統(tǒng)的電工裝備設(shè)計與性能分析常采用的電磁場解析法、場路結(jié)合法的計算精度無法滿足設(shè)計要求,可實現(xiàn)高精度計算的電磁場有限元分析法存在所需計算資源多的現(xiàn)實需求[3,4]。針對有限元分析法的大規(guī)模計算,不少國內(nèi)外學(xué)者進(jìn)行了相關(guān)的探索研究,主要采取的方法有并行計算和分布式計算[5]。2006年管建和等對有限元電磁法勘探研究使用分布式并行計算(Distributed Parallel Computing, DPC),利用局域網(wǎng)上閑置CPU資源協(xié)同實現(xiàn)高性能計算[6]。2009年葉茂等提出基于Beowulf集群模型,利用普通物理PC和以太網(wǎng),通過Linux系統(tǒng)搭建基于MPICH2的并行計算集群[7]。2010年王海濤等綜合分析了基于Linux集群的并行計算方法,并對其進(jìn)行了性能測試[8]。傳統(tǒng)超級計算機并行計算和分布式計算仍存在難擴展、不易移植、信息集成和共享困難、成本高和計算資源不易獲得等問題。
為了應(yīng)對復(fù)雜電磁數(shù)值模擬帶來的諸多挑戰(zhàn),高速公有云和萬兆私有云的彈性計算成為一種可行的解決方案。2010年G. Mateescu等提出了面向高性能計算的混合云計算體系[9]。2012年I. Ari等設(shè)計并實現(xiàn)了云計算平臺下針對有限元分析的計算服務(wù)體系,重點關(guān)注了在多核和多節(jié)點計算資源上的線性、非線性結(jié)構(gòu)分析計算負(fù)載下的性能特點[10]。華中科技大學(xué)建立了稀疏矩陣向量乘法、共軛梯度法等數(shù)值計算的MapReduce編程模型并實現(xiàn)了相關(guān)的驗證計算[11]。2015年中科院陳國良院士團隊提出的高性能云計算新思想[12],是解決大規(guī)模科學(xué)計算問題的新方法。
基于云計算的并行計算或高性能計算研究方興未艾[13],在電磁計算領(lǐng)域中并行計算環(huán)境的效能分析、并行設(shè)計方法的研究尚不多見,如何應(yīng)用電工裝備的電磁數(shù)值模擬成為急需解決和研究的問題。本文使用云計算的虛擬化技術(shù)將工作站資源整合為虛擬資源池形成小型私有云[14]。將虛擬資源池劃分為兩部分,兩臺Win7操作系統(tǒng);9臺Linux系統(tǒng),搭建并行計算集群[15]。經(jīng)測試表明在云計算的虛擬資源環(huán)境中,可同時正常運行Windows、Linux操作系統(tǒng),并獲得隔離的計算環(huán)境。對比分析并行編程模型OpenMpi與MapReduce的并行實現(xiàn)原理,經(jīng)過研究發(fā)現(xiàn)MapReduce適于編寫大規(guī)模數(shù)據(jù)集型應(yīng)用程序[16],而OpenMpi更適合編寫大規(guī)模計算集型應(yīng)用程序[17]。選取感應(yīng)電機、變壓器等作為對比的典型計算案例,采用OpenMpi并行模式編寫了并行程序,并在并行計算集群中實現(xiàn)對兩者的電磁場計算。通過兩個案例不同計算規(guī)模的電磁場計算,驗證了云計算平臺可實現(xiàn)典型電工裝備的數(shù)百萬級計算節(jié)點的并行計算。
云計算是隨著互聯(lián)網(wǎng)發(fā)展的新型商業(yè)化計算服務(wù)模式,主要包括三個層次的服務(wù):基礎(chǔ)設(shè)施即服務(wù)IaaS,平臺即服務(wù)PaaS和軟件即服務(wù)SaaS[18,19],如圖1所示。用戶可以隨時隨地通過互聯(lián)網(wǎng),以即付即用的形式,按照自己的計算需求從云資源池中獲得抽象的、虛擬的、動態(tài)易擴展的與可管理的計算資源、存儲資源、平臺及相關(guān)服務(wù)[20,21]。云計算降低了傳統(tǒng)集群計算的前期復(fù)雜配置與運行維護專業(yè)技術(shù)門檻??蒲腥藛T可以低成本的投入,獲得高效的、按需配置的且易獲取的計算資源。
圖1 云計算的有限元并行計算原理
本文選用9臺Linux系統(tǒng)搭建、部署了并行計算集群如圖2所示。其中一臺作為主節(jié)點(Master),負(fù)責(zé)整體計算任務(wù)的分配、調(diào)度與存儲,其余8臺作為從節(jié)點(Slave)實現(xiàn)計算與存儲。集群之間通過一臺千兆路由器相連,各主機在同一個局域網(wǎng)內(nèi)。節(jié)點之間采用SSH通信協(xié)議機制,實現(xiàn)節(jié)點間免密登錄,提高節(jié)點間的通信效率。
圖2 集群的系統(tǒng)框架
OpenMpi是一種基于消息傳遞機制的并行程序標(biāo)準(zhǔn)設(shè)計方法,可為程序設(shè)計者提供一個高效的、可擴展的、統(tǒng)一的并行編程環(huán)境。相對于MapReduce來說,OpenMpi更專注應(yīng)用于計算密集型的并行程序,提供給用戶功能強大的通信函數(shù),也有MapReduce的標(biāo)志性處理,即歸約(Reduce)相應(yīng)的函數(shù)調(diào)用。圖3為OpenMpi的工作機制。OpenMpi能提供強大的并行計算能力,計算與數(shù)據(jù)存儲為分離方式,主要應(yīng)用在科學(xué)計算領(lǐng)域中的各種大型的并行處理機上。
圖3 OpenMpi工作機制
MapReduce并行算法主要分為Map階段與Reduce階段。Map函數(shù)首先將輸入的計算任務(wù)文件進(jìn)行分塊,分配到不同機器上執(zhí)行計算,映射形成一系列中間結(jié)果鍵值對(key1, key2, key3,…),Reduce函數(shù)通過將相同的中間結(jié)果鍵值對進(jìn)行規(guī)約形成最終的輸出結(jié)果文件。MapReduce工作機制如圖4所示。
圖4 MapReduce工作機制
MapReduce是云計算時代的關(guān)鍵核心技術(shù),是谷歌提出的一個并行軟件編程架構(gòu),但主要應(yīng)用于大規(guī)模數(shù)據(jù)集的并行計算處理?;贛apReduce寫出來的并行應(yīng)用程序能夠運行在由上千個普通機器組成的大型集群上,并以一種可靠容錯的方式并行處理上太(T)級別的數(shù)據(jù)集。MapReduce通過分布式文件系統(tǒng)的底層支持組成了主、從結(jié)構(gòu),其顯著特點是計算與存儲節(jié)點為同一個節(jié)點,滿足無需數(shù)據(jù)交互的情況,適合于數(shù)據(jù)密集型計算應(yīng)用程序。
OpenMpi則是通過主節(jié)點統(tǒng)一將需要計算的各子區(qū)域的數(shù)據(jù)分配給只負(fù)責(zé)計算的從節(jié)點,整體計算過程需要數(shù)據(jù)交互。適合于計算密集型的科學(xué)計算應(yīng)用程序。在云計算資源框架的平臺層采用OpenMpi消息傳遞標(biāo)準(zhǔn)并行程序設(shè)計方法,可打破傳統(tǒng)的并行計算集群的相對固化,充分使用云計算資源池中虛擬的、抽象的、動態(tài)可擴展的與可管理的、即付即用的計算資源與存儲資源,可實現(xiàn)處理科學(xué)計算領(lǐng)域中的高性能計算(High Performance Computer, HPC)資源處理的大規(guī)模計算問題。
本文基于OpenMpi的容錯系統(tǒng)解決隨計算集群規(guī)模擴大、進(jìn)程出錯、節(jié)點失效等易造成計算過程失敗的問題。容錯系統(tǒng)使用并行檢查點協(xié)議,實現(xiàn)并行程序的檢查點設(shè)置/回卷恢復(fù)功能。采用檢查點文件鏡像技術(shù)解決計算節(jié)點失效問題。通過均衡存儲策略,將檢查點文件均衡存儲到多節(jié)點存儲器上,進(jìn)程信息可有效保存。當(dāng)計算節(jié)點宕機時,宕機節(jié)點信息可在其他節(jié)點上獲得,并從最近的檢查點處重新加載程序運行。
選取的案例為感應(yīng)電機的靜磁場計算。計算模型包括四個區(qū)域:定子和轉(zhuǎn)子、流入紙面的載流線圈、流出紙面的載流線圈、定子和轉(zhuǎn)子之間的氣隙。感應(yīng)電機的磁勢等值線(磁力線)分布如圖5和圖6所示。
圖5 自編程序的感應(yīng)電機磁勢等值線分布
圖6 COMSOL中感應(yīng)電機的磁勢等值線分布
對比圖5和圖6,云計算集群中自編程序的感應(yīng)電機計算結(jié)果與商業(yè)有限元軟件Comsol計算的結(jié)果,其誤差僅為0.2%,說明自編軟件的計算結(jié)果是準(zhǔn)確的。
改變剖分單元尺寸,在云計算集群中不同節(jié)點數(shù)的計算速率如圖7所示。通過案例的剖分單元計算速率曲線圖顯示,計算任務(wù)的單臺節(jié)點數(shù)的計算速率隨參與計算的節(jié)點數(shù)增加。可見通過彈性調(diào)節(jié)云計算集群中參與計算的節(jié)點,并行計算效能可得到有效提高。
圖7 不同計算規(guī)模在不同節(jié)點數(shù)的剖分單元計算速率
一般變壓器結(jié)構(gòu)為軸對稱,故只取右半側(cè)進(jìn)行分析;對右半側(cè)來講,雖然變壓器油箱外殼是矩形的,但決定磁場分布的鐵心以及線圈都是圓柱形狀的,故可以用二維模型來計算。
二維磁場的時諧微分方程為
(2)
式中,e為各剖分單元的磁通密度;e為剖分單元的面積;e為平面剖分單元中心到鐵心柱軸線的距離。已知電感和短路電壓分別為
(4)
式中,1為變壓器繞組1相電流。故短路阻抗
(6)
式中,e為一次側(cè)相電壓;1為繞組1匝數(shù);t為匝電壓。
通過式(2)的電場強度、式(1)的磁場強度及式(6),可求解短路阻抗。
案例計算模型如圖8所示,變壓器計算模型包括5個區(qū)域:0為鐵心柱及油箱壁;1為電流流入紙面的線圈;2為電流流出紙面的線圈;3為變壓器油;4為空氣罩。
圖8 案例計算模型
外圍電位邊界條件為=0,鐵心柱及油箱壁相對磁導(dǎo)率r=100,其余區(qū)域相對磁導(dǎo)率r=1。線圈1匝數(shù)1=82,電流1=688.5A,匝電壓t=15.842 8V,線圈2和線圈3匝數(shù)分別為2=3=789。經(jīng)計算得線圈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等。其剖分的網(wǎng)格單元數(shù)及節(jié)點數(shù)見表1。
圖9 Comsol計算變壓器的磁勢等值線分布
表1 網(wǎng)格剖分
Tab.1 Mesh generation
不同剖分尺寸,在云計算集群中不同節(jié)點數(shù)對應(yīng)的剖分單元計算速率,如圖10所示。計算規(guī)模較小時,數(shù)據(jù)通信、程序啟動等占據(jù)的時間影響加速效果的正確驗證。隨計算規(guī)模的增大,并行計算中時間計算趨于準(zhǔn)確,加速效果增強且趨于穩(wěn)定。由于計算節(jié)點之間存在計算數(shù)據(jù)交換的時間消耗,最大計算速度為7臺節(jié)點機。通過研究發(fā)現(xiàn)節(jié)點之間由于存在計算數(shù)據(jù)交換的時間消耗,云平臺的并行計算效能主要受制于計算節(jié)點的通信速度。相對于單機的百萬級的單元計算速率,千兆網(wǎng)云計算的彈性集群仍可實現(xiàn)千萬單元級的單元計算速率。隨著高性能計算的需求提升,云計算的通信寬帶從早期的百兆發(fā)展到現(xiàn)在的千兆,隨著亞馬遜云平臺3 600MHz通信寬帶的實現(xiàn)以及私有云萬兆網(wǎng)的部署,云計算平臺實現(xiàn)并行計算的效率可進(jìn)一步提升。
圖10 不同計算規(guī)模在不同節(jié)點數(shù)的單元計算速率
本文在云計算的彈性集群中,實現(xiàn)了一種OpenMpi編程框架的電磁場并行計算方法。使用云計算方法解決實際工程中電機、變壓器等典型的電工裝備性能優(yōu)化設(shè)計所面臨的大規(guī)模計算問題,基于OpenMpi實現(xiàn)了千萬單元級的計算速率,滿足科學(xué)計算的計算資源需求。云計算和OpenMpi開源特性使其內(nèi)核和實現(xiàn)方法易于修改和重復(fù)調(diào)用,這為電工裝備性能分析和優(yōu)化所需的大規(guī)模計算提供了一種自主、可控、高效能的解決方案,為大型電工裝備真實模型的計算仿真分析奠定了理論和實踐基礎(chǔ)。
[1] 侯淑萍, 楊慶新, 陳海燕, 等. 新型高性能電工材料應(yīng)用特性建模的模塊化設(shè)計[J]. 電工技術(shù)學(xué)報, 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] 謝德馨, 程志光, 楊仕友, 等. 對當(dāng)前計算電磁學(xué)發(fā)展的觀察與思考-參加COMPUMAG2011會議有感[J]. 電工技術(shù)學(xué)報, 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] 袁中勝. 新能源汽車驅(qū)動用永磁同步電機的設(shè)計[D]. 哈爾濱: 哈爾濱工業(yè)大學(xué), 2013.
[4] 楊亮. 云計算與電磁仿真結(jié)合的可行性分析[J]. 電子技術(shù)與軟件工程, 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] 唐任遠(yuǎn), 吳東陽, 謝德馨. 單元級別并行有限元法求解工程渦流場的關(guān)鍵問題研究[J]. 電工技術(shù)學(xué)報, 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]. 北京: 中國地質(zhì)大學(xué), 2006.
[7] 葉茂, 繆綸, 王志璋, 等. 基于LINUX和MPICH2的高性能科學(xué)計算集群搭建及其性能評測[J]. 中國水利水電科學(xué)研究院學(xué)報, 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] 符偉. 云計算環(huán)境下的線性有限元方法研究[D]. 武漢: 華中科技大學(xué), 2013.
[12] 陳國良, 毛睿, 蔡曄. 高性能計算及其相關(guān)新興技術(shù)[J]. 深圳大學(xué)學(xué)報(理工版), 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] 張少敏, 趙碩, 王保義. 基于云計算和量子粒子群算法的電力負(fù)荷曲線聚類算法研究[J]. 電力系統(tǒng)保護與控制, 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] 王意潔, 孫偉東, 周松, 等. 云計算環(huán)境下的分布存儲關(guān)鍵技術(shù)[J]. 軟件學(xué)報, 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]. 計算機工程與科學(xué), 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] 趙俊華, 文福拴, 薛禹勝, 等. 云計算:構(gòu)建未來電力系統(tǒng)的核心計算平臺[J]. 電力系統(tǒng)自動化, 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] 孫超. 高性能計算平臺的設(shè)計與應(yīng)用[D]. 天津: 天津大學(xué), 2013.
[20] 丁凡. 云環(huán)境中高性能計算應(yīng)用的關(guān)鍵問題研究[D]. 蘭州: 蘭州大學(xué), 2014.
[21] 宋亞奇, 周國亮, 朱永利, 等. 云平臺下并行總體經(jīng)驗?zāi)B(tài)分解局部放電信號去噪方法[J]. 電工技術(shù)學(xué)報, 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
國家自然科學(xué)基金青年項目(51207105、51507110),國家自然科學(xué)基金面上項目(51577132)和國家火炬計劃(2015GH611592)資助項目。
2016-03-01 改稿日期 2016-05-17
金 亮 男,1982年生,博士,副教授,研究方向為工程電磁場與磁技術(shù)、電磁場云計算和電磁無損檢測等。E-mail: jinliang@tjpu.edu.cn
牛萍娟 女,1973年生,教授,研究方向為高性能計算、第三代半導(dǎo)體器件、半導(dǎo)體光源與照明系統(tǒng)等。E-mail: niupingjuan@tjpu.edu.cn(通信作者)