專利名稱:基于網(wǎng)格計算的電力系統(tǒng)分析并行計算方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于電カ系統(tǒng)分析的計算系統(tǒng),尤其是涉及基于網(wǎng)格計算的電カ系統(tǒng)分析并行計算方法和系統(tǒng)。
背景技術(shù):
目前的電カ系統(tǒng)計算程序主要分為以下四種傳統(tǒng)串行的計算程序、在多計算機(jī)執(zhí)行串行程序以實現(xiàn)并行處理多任務(wù)的并行程序;使用分散內(nèi)存并行系統(tǒng)實現(xiàn)的單任務(wù)并行算法;以及使用共享內(nèi)存并行系統(tǒng)實現(xiàn)的單任務(wù)并行算法。下面詳細(xì)介紹各種實現(xiàn)。方案一, 即傳統(tǒng)串行程序最為常見。得到廣泛應(yīng)用的BPA、出自EPRI的EMTSP、出自Simens PTI的PSS/E、非商業(yè)軟件InterPSS以及基于Matlab的工具箱MatPower等皆米用這種方式。串行程序是以串行的方式運用計算機(jī)ー步步地解決求解電カ系統(tǒng)計算的數(shù)學(xué)問題,此種程序在多處理器計算機(jī)上只能使用ー個核心的資源。這類程序的性能提升方法主要可以采用兩種方法,其ー是使用單線程計算能力更強(qiáng)勁的計算機(jī),其ニ是通過下面提到的并行執(zhí)行多任務(wù)的方法(即方案ニ)。方案ニ,也是第一種并行方案,即在多臺計算機(jī)或者多個處理器上各自獨立執(zhí)行串行程序以實現(xiàn)并行化處理多任務(wù)的方法,其很大程度上是建立在方案一的基礎(chǔ)之上。該方案的思路是將待計算任務(wù)分配到多臺裝有串行計算軟件的計算機(jī)上,遠(yuǎn)程執(zhí)行并回收結(jié)果,在處理大量數(shù)目的同類型任務(wù)時有明顯的性能提升。但是這方面沒有可獲得的商業(yè)軟件實現(xiàn),但存在這方面的研究,華南理工大學(xué)基于InterPSS實現(xiàn)了類似的方案(參見參考文獻(xiàn)[1]),上海交通大學(xué)基于PSS/E也實現(xiàn)了類似的方案(參見參考文獻(xiàn)[2]),美國電カ科學(xué)研究院實現(xiàn)了基于ETMSP的類似方法(參見參考文獻(xiàn)[3])。方案三,也是第二種并行方案,即使用分散內(nèi)存并行系統(tǒng)(如集群機(jī)、以及常見網(wǎng)格計算系統(tǒng)采用的Beowulf結(jié)構(gòu)的網(wǎng)格計算結(jié)構(gòu))實現(xiàn)的單任務(wù)并行算法,是目前可見的最優(yōu)最復(fù)雜解決方案,存在大量的研究論文,唯一的商業(yè)軟件實現(xiàn)是電力科學(xué)研究院的PSASP。此種方案通過算法研究和程序?qū)崿F(xiàn),可以將計算程序的部分計算過程擴(kuò)展為可使用多顆處理器并行運算,其中每顆處理器使用獨立的內(nèi)存空間,處理器與處理器之間通過網(wǎng)絡(luò)連接進(jìn)行通信以同步刷新各自內(nèi)存空間中的數(shù)據(jù)。就研究論文而言,香港大學(xué)洪潮在IBM Cluster上實現(xiàn)過基于BBDF格式的并行潮流、暫態(tài)程序(參見參考文獻(xiàn)[4]),華中科技大學(xué)也有類似的研究(參見參考文獻(xiàn)[5]),上海交通大學(xué)也有類似的研究(參見參考文獻(xiàn)[6])。方案四,也是第三種并行方案,即使用共享內(nèi)存并行系統(tǒng)(以往的方案都是通過對稱多處理器(SMP)實現(xiàn))實現(xiàn)的單任務(wù)并行算法,存在一些理論研究,如美國電科院曾實現(xiàn)基于ETMSP在SGI多核心工作站上的共享內(nèi)存并行程序(參見參考文獻(xiàn)[7]),吳俊強(qiáng)的研究得到了此種方法下最優(yōu)性能(參見參考文獻(xiàn)[8])。此種方案與方案三原理類似,但方案三中CPU與CPU的通信通過以太網(wǎng)或者高速總線連接,每顆CPU使用ー份獨立的內(nèi)存空間計算,為協(xié)調(diào)每顆CPU使用的內(nèi)存空間中的內(nèi)容需要通過通信解決;而此種方案中所有的CPU核心共享ー套內(nèi)存空間。以上提到的四種技術(shù)存在的缺點是方案一,即串行程序方案,在面對現(xiàn)今電カ系統(tǒng)中在線式計算的海量任務(wù)時存在性能不足的問題;根據(jù)摩爾定律,計算機(jī)的性能每隔18個月翻一倍,但這仍不足以滿足電力系統(tǒng)中的計算要求。方案ニ的基礎(chǔ)是方案一中的串行程序,是通過在多臺計算機(jī)上部署串行軟件并同時計算來實現(xiàn)的多任務(wù)并行處理,然而因為現(xiàn)有商業(yè)軟件的授權(quán)皆采用單計算機(jī)硬件加密的方式,在多臺計算機(jī)上部署時成本呈線性上升趨勢,代價很高,受眾有限。同時在計算單一的大計算量任務(wù)時,方案ニ與方案一均實際采用串行執(zhí)行的方法,計算性能相同,沒有任何改善。方案三,以PSASP軟件為例,存在的問題可能表現(xiàn)在三方面1、按網(wǎng)絡(luò)分割的并行算法基于分散內(nèi)存并行方案,仍然屬于粗顆粒調(diào)度的并行方法。此種方法下的加速比計算公式為
權(quán)利要求
1.一種基于網(wǎng)格計算的電力系統(tǒng)分析并行計算方法,用于在包含一服務(wù)器以及多個客戶機(jī)的聯(lián)網(wǎng)計算機(jī)環(huán)境中執(zhí)行電力系統(tǒng)分析的并行計算任務(wù),所述方法包括以下步驟獲取計算任務(wù),該計算任務(wù)包括待計算的數(shù)據(jù)文件;獲取包含于各客戶機(jī)的可用計算資源;將該計算任務(wù)加入到一待計算任務(wù)隊列中;根據(jù)該待計算任務(wù)隊列和該可用計算資源將計算任務(wù)及計算模式發(fā)送到一個或多個可用客戶機(jī)中,其中當(dāng)確定該可用計算資源寬裕時,設(shè)置該計算模式為并行,當(dāng)確定該可用計算資源緊張時,設(shè)置該計算模式為串行;在該一個或多個可用客戶機(jī)中根據(jù)計算模式選擇計算程序以執(zhí)行該計算任務(wù),并返回計算結(jié)果輸出文件,其中當(dāng)該計算模式為串行時,在客戶機(jī)上運行等于處理器核心數(shù)目的串行程序;當(dāng)該計算模式為并行時,該客戶機(jī)根據(jù)具體硬件以自適應(yīng)的方式運行基于共享內(nèi)存并行方法的并行程序;以及處理該計算結(jié)果輸出文件,并標(biāo)記該計算任務(wù)“已完成”。
2.如權(quán)利要求1所述的方法,其特征在于,所述計算任務(wù)還包括任務(wù)優(yōu)先級和任務(wù)類型。
3.如權(quán)利要求1所述的方法,其特征在于,在將該計算任務(wù)加入到一待計算任務(wù)隊列中之前還包括將該計算任務(wù)中的一個網(wǎng)絡(luò)數(shù)據(jù)文件劃分為按電力網(wǎng)絡(luò)劃分的網(wǎng)絡(luò)劃分?jǐn)?shù)據(jù)文件。
4.如權(quán)利要求1所述的方法,其特征在于,在該待計算任務(wù)隊列中按照先入先出規(guī)則排列計算任務(wù)。
5.如權(quán)利要求1所述的方法,其特征在于,在該待計算任務(wù)隊列中按照先入先出規(guī)則和優(yōu)先級排列計算任務(wù)。
6.如權(quán)利要求1所述的方法,其特征在于,該計算任務(wù)包括計算數(shù)據(jù)文件和任務(wù)類型。
7.如權(quán)利要求1所述的方法,其特征在于,當(dāng)該待計算任務(wù)隊列中的計算任務(wù)數(shù)目小于可用客戶機(jī)的總處理核心數(shù)目時,確定該可用計算資源為寬裕;該待計算任務(wù)隊列中的計算任務(wù)數(shù)目大于等于可用客戶機(jī)的總處理核心數(shù)目時,確定該可用計算資源為緊張。
8.如權(quán)利要求1所述的方法,其特征在于,在發(fā)送該計算任務(wù)后還包括標(biāo)記該計算任務(wù)為“執(zhí)行中”且附帶一超時時限,若該計算任務(wù)無法在超時時限前被標(biāo)記為“已完成”,則將該計算任務(wù)置最高優(yōu)先級并重新列入該待計算任務(wù)隊列。
9.如權(quán)利要求1所述的方法,其特征在于,在該一個或多個客戶機(jī)返回該計算結(jié)果輸出文件后,還包括報告本客戶機(jī)為可用狀態(tài)。
10.如權(quán)利要求1所述的方法,其特征在于,在該客戶機(jī)執(zhí)行的計算程序是由該服務(wù)器向該客戶機(jī)分發(fā)。
11.一種基于網(wǎng)格計算的電力系統(tǒng)分析并行計算方法,用于在包含一服務(wù)器以及多個客戶機(jī)的聯(lián)網(wǎng)計算機(jī)環(huán)境中執(zhí)行電力系統(tǒng)分析的并行計算任務(wù),所述方法包括以下步驟獲取計算任務(wù),該計算任務(wù)包括待計算的數(shù)據(jù)文件;獲取包含于各客戶機(jī)的可用計算資源;將該計算任務(wù)加入到一待計算任務(wù)隊列中;根據(jù)該待計算任務(wù)隊列和該可用計算資源將計算任務(wù)及計算模式發(fā)送到一個或多個可用客戶機(jī)中,以促使該一個或多個可用客戶機(jī)執(zhí)行該計算任務(wù)并返回計算結(jié)果輸出文件,其中當(dāng)確定該可用計算資源寬裕時,設(shè)置該計算模式為并行,當(dāng)確定該可用計算資源緊張時,設(shè)置該計算模式為串行;且當(dāng)該計算模式為串行時,促使客戶機(jī)上運行等于處理器核心數(shù)目的串行程序;當(dāng)該計算模式為并行時,促使該客戶機(jī)根據(jù)具體硬件以自適應(yīng)的方式運行基于共享內(nèi)存并行方法的并行程序;以及處理返回的計算結(jié)果輸出文件,并標(biāo)記該計算任務(wù)“已完成”。
12.一種基于網(wǎng)格計算的電力系統(tǒng)分析并行計算系統(tǒng),用于在包含一服務(wù)器以及多個客戶機(jī)的聯(lián)網(wǎng)計算機(jī)環(huán)境中執(zhí)行電力系統(tǒng)分析的并行計算任務(wù),所述系統(tǒng)包括任務(wù)數(shù)據(jù)獲取模塊,用于獲取計算任務(wù),該計算任務(wù)包括待計算的數(shù)據(jù)文件;計算資源管理模塊,用于獲取包含于各客戶機(jī)的可用計算資源;隊列管理模塊,用于將該計算任務(wù)加入到一待計算任務(wù)隊列中;任務(wù)調(diào)度模塊,根據(jù)該待計算任務(wù)隊列和該可用計算資源將計算任務(wù)及計算模式發(fā)送到一個或多個可用客戶機(jī)中,以促使該一個或多個可用客戶機(jī)執(zhí)行該計算任務(wù)并返回計算結(jié)果輸出文件,其中當(dāng)確定該可用計算資源寬裕時,設(shè)置該計算模式為并行,當(dāng)確定該可用計算資源緊張時,設(shè)置該計算模式為串行;且當(dāng)該計算模式為串行時,促使客戶機(jī)上運行等于處理器核心數(shù)目的串行程序;當(dāng)該計算模式為并行時,促使該客戶機(jī)根據(jù)具體硬件以自適應(yīng)的方式運行基于共享內(nèi)存并行方法的并行程序;以及結(jié)果數(shù)據(jù)處理模塊,處理返回的計算結(jié)果輸出文件,并標(biāo)記該計算任務(wù)“已完成”。
全文摘要
本發(fā)明涉及一種基于網(wǎng)格計算的電力系統(tǒng)分析并行計算方法和系統(tǒng),是在包含一服務(wù)器以及多個客戶機(jī)的聯(lián)網(wǎng)計算機(jī)環(huán)境中執(zhí)行電力系統(tǒng)分析的并行計算任務(wù)。在該服務(wù)器中獲取計算任務(wù)和各客戶機(jī)的可用計算資源,并構(gòu)建一待計算任務(wù)隊列。然后待計算任務(wù)隊列和可用計算資源將計算任務(wù)及計算模式發(fā)送到一個或多個可用客戶機(jī)中進(jìn)行計算。計算模式配置為在較少計算任務(wù)時,令客戶機(jī)的多個處理器執(zhí)行基于共享內(nèi)存并行方法的并行程序,在較多計算任務(wù)時,令客戶機(jī)的多個處理器分別執(zhí)行串行程序,能以盡可能少的計算時間完成所有待計算任務(wù)。
文檔編號G06F9/38GK103034534SQ20111030871
公開日2013年4月10日 申請日期2011年9月29日 優(yōu)先權(quán)日2011年9月29日
發(fā)明者唐聰, 周挺輝, 杜浩, 嚴(yán)正, 李乃湖, 景雷 申請人:阿爾斯通電網(wǎng)公司