李虎成,於益軍,李峰,馮樹海
(1.國網(wǎng)電力科學(xué)研究院,江蘇南京 210003;2.中國電力科學(xué)研究院,江蘇南京 210003)
隨著跨區(qū)互聯(lián)大電網(wǎng)的形成以及多級調(diào)度一體化對發(fā)電計劃編制的要求,面向發(fā)電計劃的96時段靜態(tài)安全校核的計算量越來越大,需要進一步提高計算速度以滿足相關(guān)應(yīng)用的實用化需求。對三華互聯(lián)大電網(wǎng)而言,計算節(jié)點達到一萬多,帶掃描的N-1預(yù)想故障也在一萬以上。采用常規(guī)的單機校核方法所消耗的時間將十分可觀,極大地影響了調(diào)度計劃編制的整體進程。96時段靜態(tài)安全校核作為安全校核應(yīng)用的核心內(nèi)容之一,充分地利用多機多核的計算資源來提高計算效率,對提升調(diào)度計劃應(yīng)用的可用性有重要意義[1-3]。
針對如何有效地利用多機多核資源來提高電力系統(tǒng)的計算速度,已有許多研究從不同角度提出了改進方法。文獻[4]提出了適用于電力系統(tǒng)分析計算的多核并行技術(shù),并以短路電流計算中求解阻抗矩陣為例給出了相應(yīng)的并行計算算法,采用共享存儲編程模式實現(xiàn),在多核計算機上應(yīng)用提高了計算速度;文獻[5]通過分析面向服務(wù)系統(tǒng)架構(gòu)的松耦合信息集成特點和并行化編程思想,提出了智能電網(wǎng)調(diào)度安全校核網(wǎng)格計算模型;文獻[6]提出一種基于MPI的實時并行計算平臺,引入了硬實時操作系統(tǒng)RTlinux,來解決大規(guī)模電力系統(tǒng)電磁暫態(tài)分網(wǎng)并行仿真實時性的問題;文獻[7]提出了一種基于圖形處理器(GPU),并采用隱形梯度法的機電暫態(tài)仿真細粒度并行算法。以上方法基于多機多核的資源實現(xiàn)了在電力系統(tǒng)某些應(yīng)用中的快速并行計算。
日前調(diào)度計劃安全校核涉及96個時段斷面的分析計算,每個時段斷面分析都是一個獨立的靜態(tài)安全分析過程,任務(wù)計算量大,而且不同時段的分析任務(wù)間沒有相互制約關(guān)系,任務(wù)分解簡單?;诖颂攸c,采用基于消息傳遞編程模型的多進程并行計算方法,將不同時段的分析任務(wù)分配給不同的計算節(jié)點,可以實現(xiàn)多時段任務(wù)的并行計算,充分發(fā)揮計算機集群的計算能力。
96時段靜態(tài)安全校核涉及的斷面較多,各個斷面任務(wù)可以相互獨立,適合于采用多機或者計算機集群進行分布式并行計算。在多機情況下,每臺機器可以按配置或資源多少設(shè)定可并行的進程數(shù)。通過對多時段斷面的并行安全校核,能夠極大地提高安全校核的計算速度,以滿足相關(guān)應(yīng)用的需求。MPI標準是已被廣泛認可的基于消息傳遞的并行編程標準。本文選用了應(yīng)用最為廣泛的開源MPICH庫來實現(xiàn)多時段靜態(tài)安全分析時多進程的并行計算[8-9]。多時段斷面安全校核并行時由分配在多機上的多個進程協(xié)同完成計算,按照功能把并行進程分為兩類:1)管理進程或協(xié)調(diào)進程。該進程主要負責(zé)并行計算任務(wù)的分配、管理、計算結(jié)果匯集等。2)計算進程。該進程主要負責(zé)各時段斷面的安全校核計算。管理進程通常配置在數(shù)據(jù)服務(wù)器,多時段斷面數(shù)據(jù)就存儲在數(shù)據(jù)服務(wù)器的本地存儲空間,有利于管理進程讀取任務(wù)數(shù)據(jù),只需要一個管理進程就可以滿足使用要求了。而計算進程是實施計算的主體,分布在參與計算的多臺機器或集群上,根據(jù)每臺機器的具體配置情況部署計算進程數(shù)量。
從圖1可以看到,管理進程與多個計算進程相互通信,計算進程間不需要相互通信,計算進程可以分配在不同的機器上。管理進程與計算進程相互通信借助于MPI提供的通信接口。
多時段斷面的安全校核計算過程由管理進程協(xié)調(diào)控制,任務(wù)分配主要分為2個階段:第一階段由管理進程為所有計算進程分配初始任務(wù);第二階段由計算進程請求,管理進程響應(yīng)請求再進行任務(wù)的分配。
基本流程如下(假設(shè)并行的計算進程有m個,即可以同時并行計算的時段數(shù)為m個):
1)初始時,管理進程從96斷面中選取與計算進程數(shù)目相同的m個時段斷面,給每個計算進程分配一個時段的安全校核任務(wù),即把任務(wù)分配消息和相關(guān)計算任務(wù)所需數(shù)據(jù)發(fā)送給每個計算進程。管理進程進入步驟2),等待計算進程的消息。同時各節(jié)點計算進程啟動,進入步驟5)。
2)管理進程等待計算進程的任務(wù)請求。如果管理進程接到計算進程Cn返回的消息,進入步驟3)。
3)管理進程從消息中獲得了某個時段的安全校核結(jié)果數(shù)據(jù)。然后檢查尚未分派的計算任務(wù)Tn,并將Tn發(fā)送給該計算進程Cn。如果沒有尚未分派的計算任務(wù),發(fā)送結(jié)束消息給計算進程Cn,通知Cn結(jié)束計算。進入步驟4)。
4)管理進程檢查是否所有時段的安全校核任務(wù)都已完成計算。如果是,則所有計算任務(wù)已經(jīng)完成,管理進程退出;否則返回2),繼續(xù)執(zhí)行。
5)計算進程等待管理進程的任務(wù)分配。如果接收到下一次計算任務(wù)和數(shù)據(jù)的消息,啟動計算,進入步驟6)。如果接收到退出計算的消息,退出計算進程。
6)計算進程完成計算,匯總計算結(jié)果,提交給管理進程,即返回步驟5),等待管理進程下一次任務(wù)。詳細的管理進程、計算進程的流程圖和相互協(xié)作的消息傳遞如圖2所示。
選用3個實際電網(wǎng)case1、case2、case3進行測試,具體規(guī)模見表1。
表1 測試算例信息表Tab.1 The information table of test cases
本文提出的基于多進程并行方法對96時段斷面安全校核在計算速度上的提升效果可以從計算執(zhí)行時間方面進行評估。執(zhí)行時間定義為程序從開始執(zhí)行到執(zhí)行結(jié)束所花費的時間。
針對表1中的3個電網(wǎng)算例,測試96時段靜態(tài)安全校核的并行計算性能。測試選用機器為3臺配置相同的服務(wù)器,每臺服務(wù)器有4顆Intel Xeon(2.40 GHz)四核處理器,16 G內(nèi)存,操作系統(tǒng)為凝思Linux,編譯器為gcc4.1。
測試信息表1中的每個算例都包含在同一電網(wǎng)模型下的96時段方式斷面。96時段靜態(tài)安全校核采用多機多進程并行計算模式來進行測試,每個進程均可獨立完成單時段的靜態(tài)安全分析,并采用帶直流潮流篩選的故障掃描算法,依次用4個、8個、12個并行線程來分析開斷故障。
從測試結(jié)果表2可以看出,并行進程數(shù)由4增加為8時,計算時間減少1/2;并行進程數(shù)由4變?yōu)?2時,計算時間減少近乎2/3??梢姡嬎銜r間與并行計算的進程數(shù)成反比。這說明每個計算進程之間相互獨立,沒有任何依賴關(guān)系。即使進程數(shù)增加,也不會導(dǎo)致進程間因相互協(xié)同、通信量增大而消耗更長的計算時間。因此,對于96時段的靜態(tài)安全校核,非常適合采用多機多進程并行計算。如果在現(xiàn)有測試環(huán)境基礎(chǔ)上通過適當(dāng)增加硬件配置來增加并行計算進程數(shù),將使得96斷面的安全校核計算總時間進一步減少。
表2 多進程并行計算性能測試結(jié)果Tab.2 The test table of cases based on multi-process parallel computation
大電網(wǎng)日前調(diào)度計劃的96時段靜態(tài)安全校核計算量比較大,本文充分利用計算機集群的計算資源引入了多進程并行計算技術(shù)。通過對3種不同規(guī)模電網(wǎng)算例的測試,表明多進程并行計算在96時段斷面安全校核中有很好的應(yīng)用,能夠顯著提高其計算性能,將為互聯(lián)大電網(wǎng)下一體化調(diào)度計劃的編制提供有力的支撐。
[1] 陳之栩,謝開.電網(wǎng)安全節(jié)能發(fā)電日前調(diào)度優(yōu)化模型及算法[J].電力系統(tǒng)自動,2009,33(1):10-13.CHEN Zhi-xu,XIE Kai.Optimal model and algorithm for day-ahead generation scheduling of transmission grid security constrained convention dispatch[J].Automation of Electrical Power System,2009,33(1):10-13(in Chinese).
[2] 梁志飛,夏清.精細化日發(fā)電計劃模型與方法[J].電力系統(tǒng)自動化,2008,32(17):26-29.LIANG Zhi-fei,XIA Qing.An accurate daily generation scheduling.model and application algorithm[J].Automation of Electrical Power System,2008,32(17):26-29 (in Chinese).
[3] 葛朝強,汪德星.華東網(wǎng)調(diào)日計劃安全校核系統(tǒng)及其擴展[J].電力系統(tǒng)自動化,2008,32(10):45-48.GE Zhao-qiang,WANG De-xin.Security checking system for daily generation scheduling of East China Power Grid and its expansion[J].Automation of Electrical Power System,2008,32(17):45-48(in Chinese).
[4] 熊瑋,夏文龍,余曉鴻,等.多核并行計算技術(shù)在電力系統(tǒng)短路計算中的應(yīng)用[J].電力系統(tǒng)自動化,2011,35(8):49-52.XIONG Wei,XIA Wen-long,XU Xiao-hong,et al.Multicore parallel computation technique for power system shortcircuit faults analysis[J].Automation of Electric Power Systems,2003,23(1):41-44(in Chinese).
[5] 王興志,嚴正,沈沉,等.基于面向服務(wù)架構(gòu)的調(diào)度計劃安全校核網(wǎng)格計算[J].電力系統(tǒng)保護與控制,2011,39(24):90-95.WANG Xing-zhi,YAN Zheng,SHEN Chen,et al.Grid computing of operation scheduling with security constraint based on SOA[J].Power System Protection and Control,2011,39(24):90-95(in Chinese).
[6] 陳勇,李亞樓,田芳,等.基于MPI的電網(wǎng)仿真實時并行計算平臺[J].計算機工程,2011,37(17):265-269.CHEN Yong,LI Ya-lou,Tian Fang,et al.Real-time parallel computing platform of power grid simulation based on MPI[J].Computer Engineering,2011,37(17):265-269(in Chinese).
[7] 張寧宇,高山,趙欣.基于GPU的機電暫態(tài)仿真細粒度并行算法[J].電力系統(tǒng)自動化,2012,36(9):54-60.ZHANG Ning-yu,GAO Shan,ZHAO Xin.A fine granularity parallel algorithm for electromechanical transient stability simulation based on graphic processing unit[J].Automation of Electric Power Systems, 2012, 36(9):54-60 (in Chinese).
[8]CALVIN LIN,LAWRENCE Snyder.并行程序設(shè)計原理[M].北京:機械工業(yè)出版社,2009.
[9] 都志輝.高性能計算并行編程技術(shù)(MPI并行程序設(shè)計)[M].北京:清華大學(xué)出版社,2002.