專利名稱:面向服務(wù)異構(gòu)網(wǎng)格上的工作流驅(qū)動遺傳算法航空優(yōu)化系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是一種面向服務(wù)異構(gòu)網(wǎng)格上的工作流驅(qū)動遺傳算法航空優(yōu)化系統(tǒng),屬于設(shè)計優(yōu)化技術(shù)領(lǐng)域。
背景技術(shù):
飛行器的設(shè)計工作是一個復(fù)雜的系統(tǒng)工程,涉及到總體、動力、氣動、結(jié)構(gòu)、系統(tǒng)等多個相互交織和融合的領(lǐng)域和學(xué)科,時至今日簡單的優(yōu)化方法已經(jīng)無法滿足當(dāng)代飛行器越來越高的設(shè)計的需求。為了滿足飛行器各項性能的綜合要求,保證飛行器的最高安全、最佳性能、最低成本、最優(yōu)環(huán)保性,需要同時進行多個學(xué)科的綜合優(yōu)化,以達到理想的設(shè)計目標(biāo), 這也是近年來飛行器設(shè)計方法研究的主要發(fā)展方向之一。目前來說,在飛行器的優(yōu)化工作中主要面臨以下挑戰(zhàn) 飛行器的設(shè)計目標(biāo)與設(shè)計變量間存在一對多或多對多的復(fù)雜耦合影響,難以建立設(shè)計變量與目標(biāo)函數(shù)清晰的數(shù)學(xué)表達式,例如以翼面復(fù)合材料鋪層參數(shù)為設(shè)計變量與翼面結(jié)構(gòu)的顫振速度為目標(biāo)的優(yōu)化;或以襟翼位置和角度為設(shè)計變量與噪聲和升力為目標(biāo)的優(yōu)化等; 為了實現(xiàn)精確的優(yōu)化設(shè)計,飛行器優(yōu)化中選擇的設(shè)計變量數(shù)量很大(上千個設(shè)計變量),設(shè)計變量間的解耦問題十分復(fù)雜,大大增加了優(yōu)化難度; 飛行器設(shè)計模型越來越精確和龐大,并且因為在全局空間搜索最優(yōu)解,帶來計算工作量的成倍增加; 不同的學(xué)科計算模型交叉產(chǎn)生的聯(lián)合求解問題,如空氣動力學(xué)模型和有限元結(jié)構(gòu)模型的聯(lián)合求解,以及解決優(yōu)化過程中幾何位置變化產(chǎn)生的拓撲優(yōu)化問題。為了解決以上問題,目前在飛行器設(shè)計工程上采用的方法主要有利用少數(shù)設(shè)計變量,通過數(shù)學(xué)解析或變分方法分別分析求出各變量的敏度關(guān)系,進行多學(xué)科優(yōu)化。但由于設(shè)計變量與目標(biāo)之間關(guān)系的復(fù)雜性,通過數(shù)學(xué)分析很難建立解析關(guān)系和進行敏度分析;當(dāng)前的商用優(yōu)化軟件不能滿足航空器優(yōu)化設(shè)計中設(shè)計變量數(shù)量巨大的要求。采用多循環(huán)迭代方法可以解決大設(shè)計變量間的解耦問題。通常的優(yōu)化設(shè)計方法分為數(shù)學(xué)規(guī)劃法和優(yōu)化準(zhǔn)則法,但這兩種方法一般只能得到局部最優(yōu)解,而非全局最優(yōu)方案。而對飛行器設(shè)計中的一些復(fù)雜的優(yōu)化問題采用這些常規(guī)的優(yōu)化方法,很難取得滿意結(jié)果。遺傳算法的特點使得這種方法可以收斂到全局最優(yōu)解,效果較以往的方法由明顯優(yōu)勢。遺傳算法是一類可用于復(fù)雜優(yōu)化計算的魯棒搜索算法,具有與傳統(tǒng)的算法不同的特點,但采用遺傳算法其中一個主要的問題是產(chǎn)生較大的計算量,對所需的計算資源要求較高,包括大量的軟件和硬件資源,因此如何提高遺傳算法的運行速度顯得尤為突出。由于遺傳算法的內(nèi)在并行機制,采用并行處理是提高其計算速度自然的解決途徑。并行算法是將整個任務(wù)分解為若干子任務(wù),分配到一組處理器分別并行求解各個子任務(wù)。設(shè)計各種并行執(zhí)行策略、建立相應(yīng)的并行化算法數(shù)學(xué)基礎(chǔ),對提高進化算法的效率有著重要意義。
網(wǎng)格計算是專門針對高性能復(fù)雜科學(xué)計算,伴隨著網(wǎng)絡(luò)和通信技術(shù)的進步而迅速發(fā)展起來的新型計算模式。這種計算模式是利用網(wǎng)絡(luò)把分散在不同地理位置的計算資源按需要以服務(wù)的方式組織成一個“虛擬的超級計算機”,其中每一臺參與計算的計算機作為一個“節(jié)點”,而整個計算是由成千上萬個“節(jié)點”組成的一張“網(wǎng)格”,因此被稱為網(wǎng)格計算系統(tǒng)。這樣組織起來的“虛擬的超級計算機”有兩個優(yōu)勢,一個是數(shù)據(jù)處理能力十分強大;另一個是能充分利用聯(lián)網(wǎng)的以服務(wù)的形式提供的計算軟硬件資源,可以靈活地增減替換。
發(fā)明內(nèi)容
本發(fā)明正是針對上述現(xiàn)有技術(shù)狀況而設(shè)計提供了一種面向異構(gòu)環(huán)境服務(wù)網(wǎng)格上的工作流驅(qū)動遺傳算法航空優(yōu)化系統(tǒng),其目的是建立一個適應(yīng)航空多學(xué)科優(yōu)化的軟件平臺,滿足航空應(yīng)用遺傳算法流程復(fù)雜,并需要根據(jù)優(yōu)化對象和策略進行調(diào)整的特點,實現(xiàn)在航空設(shè)計中多學(xué)科優(yōu)化的應(yīng)用。本發(fā)明系統(tǒng)將遺傳算法計算過程切分成多個運行模塊,并采用工作流引擎來靈活地組織這些模塊的運行;同時針對遺傳算法的大計算量和個體獨立評估特點,工作流引擎可以將需要進行并行分布式計算的部分與本地計算部分分隔開來,將作業(yè)以服務(wù)請求形式通過多種網(wǎng)格平臺分發(fā)到其他具有相應(yīng)計算軟件的集群。通常提供服務(wù)的網(wǎng)格平臺和集群來自不同的單位,具有不同的來源,其配置一般是異構(gòu)的,因此有必要采用異構(gòu)網(wǎng)格系統(tǒng)以適應(yīng)和利用多種平臺和架構(gòu)的資源。此外,異構(gòu)網(wǎng)格系統(tǒng)也便于部署遠程計算服務(wù),實現(xiàn)知識產(chǎn)權(quán)保護,能夠方便地組織跨單位的多學(xué)科多機構(gòu)聯(lián)合的優(yōu)化系統(tǒng)。本發(fā)明的目的是通過以下技術(shù)方案來實現(xiàn)的該種面向服務(wù)異構(gòu)網(wǎng)格上的工作流驅(qū)動遺傳算法航空優(yōu)化系統(tǒng),其特征在于該系統(tǒng)包括控制模塊,作為系統(tǒng)的用戶接口,其功能是使用者可以有效地干預(yù)和監(jiān)控系統(tǒng)運行,通過該模塊設(shè)置和修訂優(yōu)化計算任務(wù)的運行參數(shù),管理系統(tǒng)中優(yōu)化計算任務(wù)的啟動和中止或在條件許可(中間文件齊備,保留中斷時的信息)時繼續(xù)未完成的任務(wù),監(jiān)控系統(tǒng)運行狀態(tài)、資源使用情況、運行的進程、任務(wù)執(zhí)行的結(jié)果等,對不同用戶的權(quán)限進行管理。該模塊和驅(qū)動模塊等一起部署,并通過遠程偵聽器部署到集群模塊來獲取集群模塊的運行情況數(shù)據(jù),通過命令行界面或Web界面與用戶交互;驅(qū)動模塊,與控制模塊和算法模塊連接,其功能是管理任務(wù)的輸入數(shù)據(jù)和參數(shù)、 輸出數(shù)據(jù),驅(qū)動算法模塊形成的工作流;驅(qū)動模塊采用NOESIS 0PTIMUS驅(qū)動工作流,可以靈活的操作輸入輸出參數(shù),組織和調(diào)用算法模塊形成的工作流,使得算法可以以模塊的方式運行,對各個本地和遠程計算模塊分別進行操作和管理;算法模塊,與驅(qū)動模塊和計算客戶端連接,其功能是執(zhí)行遺傳算法的邏輯過程, 對目標(biāo)問題進行遺傳算法優(yōu)化,并將計算量較大的任務(wù)提交到計算客戶端以進行并行計算;遺傳算法方案采用一個在先國防專利申請技術(shù)方案,其名稱是飛機翼面蒙皮亞音速顫振優(yōu)化方法,專利申請?zhí)柺?01110171379. 9,主要內(nèi)容是用翼面每個蒙皮單元作為優(yōu)化對象,同時將蒙皮的鋪層角度,鋪層厚度增量、鋪層位置等選作設(shè)計變量,保證遺傳算法的搜索是在包括了所有可能解的空間域內(nèi)進行,采用雙循環(huán)優(yōu)化流程,解決了大設(shè)計變量(> 1000)情況下的解耦問題,同時有效地避免了算法的震蕩,確保了算法的魯棒性。算法模塊是遺傳算法方案在本系統(tǒng)中的具體實現(xiàn),將遺傳算法的種群生成、種群評估、種群進化等操作分別實現(xiàn)為可執(zhí)行程序,其需要的參數(shù)以參數(shù)文件和命令行參數(shù)兩種方式提供。其中計算量較小的部分可以在客戶端計算機本地直接執(zhí)行,計算量較大的工作通過計算客戶端提交到遠程網(wǎng)格中調(diào)用所需的服務(wù)以提高計算速度,根據(jù)以上可執(zhí)行文件的運行順序和輸入輸出關(guān)系建立的工作流,即可由驅(qū)動模塊調(diào)用和驅(qū)動;計算客戶端連接算法模塊,并與一或多個NOVA任務(wù)分發(fā)器或GRIA網(wǎng)格系統(tǒng)連接, 其功能是接收算法模塊提交的作業(yè)包并轉(zhuǎn)存其中的數(shù)據(jù),向NOVA任務(wù)分發(fā)器或GRIA網(wǎng)格系統(tǒng)提交作業(yè)申請以將其分派給集群模塊進行運算,并查詢作業(yè)的狀態(tài),若超時則進行重新發(fā)送,而運算完成時則回收計算代理轉(zhuǎn)存的作業(yè)輸出數(shù)據(jù);計算客戶端具有多個接口可以適應(yīng)多種不同的網(wǎng)格管理平臺(如NOVA或GRIA等),從而滿足不同機構(gòu)所擁有的不同網(wǎng)格平臺的要求。NOVA任務(wù)分發(fā)器,與一個或多個由驅(qū)動模塊、算法模塊和計算客戶端的組成連接, 又與一個或多個NOVA計算代理連接,其功能是接收來自計算客戶端的作業(yè)請求,并依據(jù)不同的策略(順序,優(yōu)先級,加權(quán)等)進行調(diào)度,任務(wù)分發(fā)器向計算代理查詢空閑資源情況, 若計算代理反映具有空閑資源則將作業(yè)分發(fā)到各個計算代理并監(jiān)控計算代理返回的運行狀態(tài)和結(jié)果,在查詢得知作業(yè)完成時通知計算客戶端回收作業(yè)輸出數(shù)據(jù);NOVA計算代理,與一個NOVA任務(wù)分發(fā)器和一個集群模塊連接,在部署時集群模塊中作業(yè)管理系統(tǒng)可以提交作業(yè)的節(jié)點上,其功能是從任務(wù)分發(fā)器獲得作業(yè)信息及其輸入數(shù)據(jù)位置并獲取數(shù)據(jù),將作業(yè)轉(zhuǎn)發(fā)到集群模塊以獲取服務(wù),在作業(yè)運行完成時轉(zhuǎn)存作業(yè)輸出數(shù)據(jù)以供計算客戶端回收,計算代理能夠溝通任務(wù)分發(fā)器和集群模塊中的網(wǎng)格系統(tǒng)的作業(yè)管理系統(tǒng),可以利用不同的接口與Condor、0penPBS、B0INC、LMS Platform等多種不同的集群作業(yè)管理系統(tǒng)相聯(lián)接來提交作業(yè),從而調(diào)用不同來自不同機構(gòu)的、采用不同結(jié)構(gòu)和作業(yè)管理系統(tǒng)、提供不同服務(wù)的計算資源;GRIA網(wǎng)格系統(tǒng),與一個或多個計算客戶端和一個集群模塊連接,在部署時集群模塊中作業(yè)管理系統(tǒng)可以提交作業(yè)的節(jié)點上,其功能是從接收計算客戶端提交的作業(yè)并轉(zhuǎn)存作業(yè)數(shù)據(jù),通過多種不同的接口與集群模塊的多種將不同的集群作業(yè)管理系統(tǒng)相聯(lián),將作業(yè)包提交到集群模塊進行運算,監(jiān)控作業(yè)運行的情況,并在計算完成時從集群模塊回收計
算結(jié)果;集群模塊,與一個計算代理或GRIA網(wǎng)格系統(tǒng)連接,其功能是管理一個由通過網(wǎng)絡(luò)連接的多臺計算機組成的集群并在其上運行計算代理或GRIA網(wǎng)格系統(tǒng)轉(zhuǎn)發(fā)的、由算法模塊生成的作業(yè)。集群模塊由異構(gòu)服務(wù)集群組成,是本系統(tǒng)執(zhí)行任務(wù)中使用的主要計算資源,可以由通過網(wǎng)絡(luò)相連接的計算機集群組成,這個集群可以包含若干不同架構(gòu)、不同操作系統(tǒng)平臺的計算機,通過多種不同的集群作業(yè)管理系統(tǒng)進行管理,可以部署在不同的物理位置和網(wǎng)絡(luò)位置、隸屬于不同機構(gòu),網(wǎng)格中各個計算節(jié)點需要運行解題器服務(wù)程序,主要用于計算由算法模塊形成的、經(jīng)過計算客戶端、任務(wù)分發(fā)器和計算代理或者GRIA網(wǎng)格系統(tǒng)中轉(zhuǎn)分發(fā)的作業(yè),形成計算結(jié)果并逐級回傳。如此,遺傳算法中計算所需的應(yīng)用只需要部署在計算節(jié)點上以服務(wù)的方式遠程發(fā)布和分布式運行,而不用部署在本地機器中。
以下對本發(fā)明技術(shù)方案的特點及有益的效果進行說明一般的遺傳算法優(yōu)化系統(tǒng)將算法的所有流程固化在程序代碼中,一旦需要對特定的優(yōu)化目標(biāo)和策略進行調(diào)整必須對整個優(yōu)化系統(tǒng)進行調(diào)整,系統(tǒng)緊密耦合,難以靈活應(yīng)用不同的優(yōu)化目標(biāo)和策略和調(diào)用不同解題器。本系統(tǒng)中的算法模塊將算法步驟分割為不同的可執(zhí)行程序并組成工作流,通過驅(qū)動模塊的工作流引擎驅(qū)動計算流程,在進行調(diào)整時只需要替換對應(yīng)的算法步驟可執(zhí)行文件和相應(yīng)的參數(shù)文件,并且可以準(zhǔn)備若干個典型的備選可執(zhí)行程序用于替換;對于不同的算法步驟通過調(diào)整工作流引擎的調(diào)用參數(shù)也可以靈活地滿足其輸入輸出要求。與串行運行的遺傳算法相比,算法模塊的特點是,將并行計算的適應(yīng)度評估等步驟與計算量較小的運行步驟分隔開來,便于將并行內(nèi)容提交到網(wǎng)格系統(tǒng)進行并行計算。在對一個典型的、具有300個單元的有限元模型進行多循環(huán)迭代遺傳算法優(yōu)化時,一般將產(chǎn)生900個遺傳算法種群,每輪迭代優(yōu)化進行15代遺傳算法搜索以及一次300單元的排序作業(yè)計13800次適應(yīng)度評估計算;如果進行100輪迭代優(yōu)化,則總計需要進行 1380000萬次適應(yīng)度評估。假設(shè)每次評估耗時1分鐘,每一代生成遺傳算法作業(yè)文件需要5分鐘,總計算時間將達到((900+5)*15+300+5)*100 = 1388000分鐘,計958. 3天; 如果將每20個作業(yè)打包成一個作業(yè)分發(fā)到45個節(jié)點上并行計算,則理想情況下每代遺傳算法優(yōu)化只需要20分鐘,考慮到系統(tǒng)通信、作業(yè)分配和回收時間約10分鐘,計算需時 ((5+20+10) *15+ (5+20+10)) *100 = 56000分鐘,計38. 9天,計算效率得到了極大的提高。通過異構(gòu)網(wǎng)格平臺,本系統(tǒng)可以通過不同的計算代理接口方便地連接多種不同的網(wǎng)格資源,利用其中不同平臺和架構(gòu)的不同計算服務(wù),使優(yōu)化工作可以調(diào)用來自不同機構(gòu)和解題服務(wù)提供方的遠程資源(如計算顫振可使用Nastran或kro等工具),為多個機構(gòu)在保護各自產(chǎn)品、工具的知識產(chǎn)權(quán)的前提下的聯(lián)合優(yōu)化研究工作提供了一個解決方案。綜上所述,由以上算法工作流引擎和基于服務(wù)的異構(gòu)網(wǎng)格平臺系統(tǒng)有機結(jié)合而成的航空多學(xué)科遺傳算法優(yōu)化系統(tǒng)可以有效地提升航空優(yōu)化設(shè)計的工作效率,實現(xiàn)良好的飛行器設(shè)計效果。
圖1為本發(fā)明系統(tǒng)的結(jié)構(gòu)框2為控制模塊的軟件流程3為算法模塊的軟件流程4為實施例子BRIDGE項目中中期檢查網(wǎng)格優(yōu)化計算測試系統(tǒng)示意5為實施例子BRIDGE項目中噪聲-升力多學(xué)科聯(lián)合遺傳算法網(wǎng)格優(yōu)化系統(tǒng)示意圖本發(fā)明實施例的運算過程的軟件流程圖
具體實施例方式以下將結(jié)合附圖和實施例對本發(fā)明技術(shù)方案作進一步地詳述參見附圖1所示,本發(fā)明述的面向服務(wù)異構(gòu)網(wǎng)格上的工作流驅(qū)動遺傳算法航空優(yōu)化系統(tǒng),其特征在于該系統(tǒng)包括
控制模塊1,作為系統(tǒng)的用戶接口,其功能是使用者通過其管理系統(tǒng)中任務(wù)的啟動和中止,輸入運行參數(shù),監(jiān)控系統(tǒng)運行狀態(tài),該模塊是通過軟件編程來實現(xiàn)的,其軟件流程圖參見附圖2所示;首先任務(wù)啟動時需要檢查任務(wù)啟動的參數(shù),包括任務(wù)類型、輸入數(shù)據(jù)和參數(shù)文件、 作業(yè)包命名方法、超時設(shè)置、遺傳算法所需的參數(shù)等,之后選擇任務(wù)需要的工作流模型,啟動工作流驅(qū)動下層模塊工作。工作中定時檢察工作目錄中指定的文件列表以及接受部署在遠程機器上的偵聽器傳回的NOVA任務(wù)分發(fā)器5狀態(tài)和集群模塊8狀態(tài),判斷其是否發(fā)生變化,根據(jù)變化判斷任務(wù)的進展?fàn)顟B(tài),若任務(wù)進度達到要求則結(jié)束任務(wù),否則進行下一輪查詢。不論是否發(fā)生變化都更新保存的系統(tǒng)狀態(tài)。若超過一定時間系統(tǒng)狀態(tài)在指定方面(輸出結(jié)果等)沒有變化則判斷作業(yè)超時,向用戶發(fā)出告警。驅(qū)動模塊2,與控制模塊1和算法模塊3連接,其功能是管理任務(wù)的輸入數(shù)據(jù)和參數(shù)、輸出數(shù)據(jù),組織和調(diào)用算法模塊3形成的工作流;驅(qū)動模塊采用NOESIS 0PTIMUS軟件實現(xiàn)驅(qū)動功能。為實現(xiàn)該程序的功能,需要在安裝該軟件的計算機上建立工作目錄,將算法模塊3包含的各個可執(zhí)行程序及其需要的數(shù)據(jù)和參數(shù)文件以及基于這些程序和數(shù)據(jù)建立的工作流模型文件部署到該目錄下,如此, 啟動0PTIMUS軟件后載入工作流模型文件,配置驅(qū)動該工作流模型的參數(shù)后啟動工作流過程,即可實現(xiàn)工作流的自動運行;算法模塊3,與驅(qū)動模塊2和計算客戶端4連接,其功能是執(zhí)行遺傳算法的邏輯過程,對目標(biāo)問題進行遺傳算法優(yōu)化,并將計算量較大的任務(wù)提交到計算客戶端4以進行并行計算,該模塊是通過軟件編程來實現(xiàn)的,其主要邏輯參照前述在先專利“飛機翼面蒙皮亞音速顫振優(yōu)化方法”描述的技術(shù)方案,軟件流程圖參見附圖3所示;其中外循環(huán)負責(zé)對每一個遺傳算法設(shè)計單元增加一個微小增量(其他單元不變) 形成對應(yīng)的一個敏度排序個體,將所有敏度排序個體組成敏度排序種群,分別對每個個體進行敏度計算并對結(jié)果進行敏度排序;之后進入內(nèi)循環(huán)尋找一個增量的最優(yōu)增加方法。內(nèi)循環(huán)結(jié)束后判斷結(jié)果是否達到要求,否則進入下一輪排序和增量迭代。內(nèi)循環(huán)采用標(biāo)準(zhǔn)的遺傳算法流程,嘗試將指定的一個增量以能產(chǎn)生最優(yōu)良效果的方式增加到各個設(shè)計單元上,其中增加單元的位置由增加單元的數(shù)量取代,后者指出在敏度排序中的前若干個單元,則增加單元的位置即是這若干個單元的位置。首先采用隨機投點(第一次內(nèi)循環(huán))或者依據(jù)上次內(nèi)循環(huán)(其他內(nèi)循環(huán))形成的染色體生成種群,對這些種群并進行適應(yīng)度評估,最后進行選擇、交叉和變異等遺傳算法操作,然后生成下一步內(nèi)循環(huán)需要的染色體或在達到預(yù)設(shè)的最大內(nèi)循環(huán)代數(shù)時輸出內(nèi)循環(huán)結(jié)果返回外循環(huán)。為了便于驅(qū)動模塊2驅(qū)動算法模塊3的運行,應(yīng)以O(shè)PTMUS軟件建立工作流模型確定各個算法模塊3中的可執(zhí)行程序的執(zhí)行順序及其輸入數(shù)據(jù)的位置(文件名稱,如可能還需指定數(shù)據(jù)在文件中的位置)。計算客戶端4與多個NOVA任務(wù)分發(fā)器5和算法模塊3連接,由北京航空航天大學(xué)計算機學(xué)院中德聯(lián)合軟件研究所提供JobClient網(wǎng)格平臺應(yīng)用程序接口組件實現(xiàn),其功能是由算法模塊3調(diào)用,將計算數(shù)據(jù)上傳到NOVA服務(wù)計算機11中NOVA任務(wù)分發(fā)器5指定的數(shù)據(jù)目錄或GRIA網(wǎng)格系統(tǒng)的數(shù)據(jù)服務(wù),同時提交計算請求到NOVA任務(wù)分發(fā)器5或GRIA網(wǎng)格系統(tǒng)8的任務(wù)接口,進而通過定時查詢的方式獲取任務(wù)狀態(tài)。并在作業(yè)完成時回收作業(yè)輸出文件。計算客戶端4的部署需要JDK1. 5以上環(huán)境,部署時將軟件包復(fù)制到計算機中,在參數(shù)文件中設(shè)置與任務(wù)相關(guān)的超時參數(shù)、和NOVA任務(wù)分發(fā)器5的作業(yè)包命名約定等即可完成。NOVA任務(wù)分發(fā)器5與多個由驅(qū)動模塊2、算法模塊3和計算客戶端4的組合相連接,又與多個NOVA計算代理6連接,由北京航空航天大學(xué)計算機學(xué)院中德聯(lián)合軟件研究所提供的Nova中間件解決方案的TaskProcess組件實現(xiàn),其功能是作為全局調(diào)度節(jié)點,接受計算客戶端4的作業(yè)請求和NOVA計算代理6返回的資源狀況,通過匹配計算任務(wù)和響應(yīng)的計算資源進行作業(yè)分配調(diào)度,進而對整個計算過程進行監(jiān)控,確保計算任務(wù)能夠順利完成并通知計算客戶端4下載。NOVA任務(wù)分發(fā)器5部署在Apache Tomcat (5. 23以上版本)服務(wù)器中并需要MySQL數(shù)據(jù)庫(5.0以上)支持,包括Web服務(wù)接口及后端調(diào)度器兩部分,其中, Web服務(wù)接口基于Web服務(wù)引擎Axis,支持任務(wù)條件、任務(wù)狀態(tài)查詢操作,計算客戶端4通過調(diào)用這些接口實現(xiàn)任務(wù)提交、任務(wù)狀態(tài)查詢以及計算結(jié)果下載;后端調(diào)度器基于JDK1. 5 開發(fā),并兼容JDK6及以上,主要包括與與集群模塊8有關(guān)的資源監(jiān)控、任務(wù)狀態(tài)維護、調(diào)度策略、結(jié)果處理等功能。NOVA計算代理6由北京航空航天大學(xué)計算機學(xué)院中德聯(lián)合軟件研究所提供的 Nova中間件解決方案的JobExecute組件實現(xiàn),與NOVA任務(wù)分發(fā)器5和集群模塊8相連接, 其功能是從NOVA任務(wù)分發(fā)器5獲得作業(yè)信息及其輸入數(shù)據(jù),轉(zhuǎn)發(fā)到集群模塊8以執(zhí)行作業(yè),在作業(yè)完成時轉(zhuǎn)存作業(yè)輸出數(shù)據(jù)以供計算客戶端4回收。該模塊運行在JDK1. 5以上的 Java環(huán)境中并需要MySQL數(shù)據(jù)庫(5. O以上)支持,負責(zé)屏蔽底層異構(gòu)的計算資源,支持集群模塊8采用B0NIC、0penPBS、Platform LSF及Condor等集群管理系統(tǒng),同時支持與NOVA 任務(wù)分發(fā)器5的交互,實現(xiàn)計算任務(wù)的處理。GRIA網(wǎng)格系統(tǒng)8與一個或多個計算客戶端4和一個集群模塊8連接,是英國南安普頓大學(xué)信息技術(shù)創(chuàng)新中心開發(fā)的網(wǎng)格平臺前端代理系統(tǒng),可以通過多種接口連接到一個由各種集群作業(yè)管理系統(tǒng)管理的集群模塊,將作業(yè)提交到集群模塊并監(jiān)視其運行,并回收計算結(jié)果,在此基礎(chǔ)上GRIA還提供安全傳輸、流量計費等多種功能。GRIA網(wǎng)格系統(tǒng)可以部署在Linux或Windows機器上,需要JDK5. O版以上、Tomcat 服務(wù)器5. O版以上和Apache服務(wù)器(如果需要開啟安全功能)2. O版以上,并需要Perl支持。集群模塊8,與一個NOVA計算代理6或GRIA網(wǎng)格系統(tǒng)8連接,其功能是管理一個包括通過網(wǎng)絡(luò)連接的多臺計算節(jié)點9的集群并在其上運行NOVA計算代理6或GRIA網(wǎng)格系統(tǒng)8轉(zhuǎn)發(fā)的、由算法模塊3生成的作業(yè)。集群模塊8中每臺計算節(jié)點9上應(yīng)部署可供算法模塊任務(wù)調(diào)用的服務(wù)程序(如 Nastran, HAJIF-II等)及相應(yīng)的運行環(huán)境,和集群管理系統(tǒng)節(jié)點(如Condor,OpenPBS等) 等,從而使以上計算節(jié)點9能夠提供集群的計算資源;而集群模塊8中還包括一些節(jié)點(依在個節(jié)點安裝集群管理系統(tǒng)節(jié)點時的配置而定)可以能夠?qū)⒆鳂I(yè)提交到集群中進行計算, 這些節(jié)點被稱為集群門戶節(jié)點12。集群模塊8中的計算機可能同時是計算節(jié)點9和集群門戶節(jié)點12,或僅是其中之一。作業(yè)由部署在通過上述集群門戶節(jié)點12上的NOVA計算代理6提交到集群管理系統(tǒng),由集群管理系統(tǒng)將作業(yè)任務(wù)和輸入數(shù)據(jù)傳輸?shù)街概傻挠嬎愎?jié)點9調(diào)用其上的服務(wù)進行計算,之后向NOVA計算代理6返回作業(yè)輸出數(shù)據(jù)。本發(fā)明述的面向服務(wù)異構(gòu)網(wǎng)格上的工作流驅(qū)動遺傳算法航空優(yōu)化系統(tǒng)中的控制模塊1、驅(qū)動模塊2、算法模塊3應(yīng)與計算客戶端4 一起部署在一臺用戶計算機10上,NOVA 任務(wù)分發(fā)器5部署在一臺NOVA服務(wù)計算機11上,NOVA計算代理6或GRIA網(wǎng)格系統(tǒng)部署在每個集群模塊8中的一個集群門戶節(jié)點上??刂颇K1在NOVA服務(wù)計算機11和集群模塊8中的集群門戶節(jié)點12上部署偵聽代理。以下將通過實例進一步描述本發(fā)明系統(tǒng)的工作過程。本系統(tǒng)曾成功應(yīng)用于歐盟第六框架計劃優(yōu)先向項目BRIDGE (Bilateral Research and Industrial Development Enhancing and Integrating GRID Enabled Technologies) 航空應(yīng)用研究中使用,該項目中,以飛機襟翼轉(zhuǎn)軸位置和角度為設(shè)計變量,目標(biāo)為降低飛機起降遠場噪聲并提高襟翼放下時的機翼升力。項目合作伙伴包括中國航空工業(yè)集團、北京航空航天大學(xué)、歐洲宇航防務(wù)集團EADS(空客研發(fā)部)、!^hG SCAI (德國弗勞恩霍夫協(xié)會算法和科學(xué)計算研究所)和比利時LMS公司等。由于設(shè)計變量的改變也會產(chǎn)生空氣動力計算網(wǎng)格和機翼結(jié)構(gòu)網(wǎng)格的幾何變化,計算模型數(shù)量和變量搜索空間都十分巨大;氣動噪聲計算需要非定常氣動力計算得到的流場壓力脈動分布為基礎(chǔ),而非定常氣動力計算所需資源極為龐大,無法進行全面模擬,因此通過建立響應(yīng)關(guān)系的方法進行近似模擬。為了能夠提供可靠的網(wǎng)格計算服務(wù),在項目中期檢查時相關(guān)單位首先建立了一個大規(guī)模的驗證性系統(tǒng)以檢查系統(tǒng)各方面功能,如遠程服務(wù)和網(wǎng)格任務(wù)提交和分發(fā)等。系統(tǒng)部署在一個分布在歐洲和中國的洲際網(wǎng)絡(luò)上,如下圖4所示其中以一臺位于歐洲的Windows平臺筆記本計算機作為用戶計算機10并在其上部署控制模塊1、驅(qū)動模塊2、算法模塊3與計算客戶端4,用于做計算作業(yè)的提交結(jié)果顯示; 在該計算機上安裝NOESIS 0PTIMUS軟件,建立工作流項目,并將實現(xiàn)遺傳算法的算法模塊 3和其輸入文件,以及計算客戶端4的軟件包放置到對應(yīng)工作目錄中。由于該機器在遺傳算法流程中作為算法引擎負責(zé)種群生成、進化等操作,不進行適應(yīng)度評估計算,因此計算量不大,也不用安裝解題器。之后將控制模塊1組建部署到該計算機的Tomcat服務(wù)器中并配置與驅(qū)動模塊的連接參數(shù)。與計算客戶端4相連接的有在歐洲LMS公司總部一個由OpenPBS集群管理系統(tǒng)管理的集群組成了一個集群模塊8(a),選擇其中的一個集群門戶節(jié)點12nSSimdat. lmsintl. com并在其上安裝和配置 Tomcat服務(wù)器和Perl環(huán)境等,之后將GRIA網(wǎng)格系統(tǒng)7部署到服務(wù)器上,最后部署一個控制模塊1的偵聽器;除了該節(jié)點外集群模塊8包括其他若干個采用Linux平臺、部署有提供靜態(tài)氣動彈性服務(wù)的Nastran解題器服務(wù)和OpenPBS終端的計算節(jié)點9 ;使用中國北航的一臺Linux主機buaaO 1. ih印.ac. cn作為NOVA服務(wù)計算機11,并部署NOVA任務(wù)分發(fā)器5。該計算機采用的操作系統(tǒng)為Linux發(fā)行版CentOS 5. 2,在其上部署帶Axis服務(wù)組件的tomcat HTTP服務(wù)器、MySQL數(shù)據(jù)庫和OpenMQ消息中間件,為了在局域網(wǎng)中解析域名采用了 Bind DNS服務(wù)器。CentOS系統(tǒng)內(nèi)嵌VSFTP服務(wù)器組件。以上支持組件就緒后將本發(fā)明中的NOVA任務(wù)分發(fā)器5模塊TaskProcess和控制模塊1的偵聽器作為tomcat應(yīng)用部署到tomcat服務(wù)器中。
NOVA組件將通過兩個計算代理6連接位于北航的兩個不同的集群模塊8,包括主要由運行Linux操作系統(tǒng)的計算節(jié)點9組成的集群模塊8(b)和由主要運行Windows操作系統(tǒng)的計算節(jié)點9組成的集群模塊8 (c)組成。對于集群模塊8 (b),采用和集群模塊8 (a)類似的OpenPBS集群管理系統(tǒng)進行管理,在其中各個計算節(jié)點9上安裝Nastran解題器服務(wù)和OpenPBS終端;而集群模塊8(b) 中的一個集群門戶節(jié)點12主機euchina09. buaa. edu. cn上則安裝OpenPBS終端并設(shè)置為可以提交作業(yè),并配置MySQL數(shù)據(jù)庫和vsFTP服務(wù)器以支持計算代理6模塊JobExecute在其上運行。對于集群模塊8 (c)的配置和集群模塊8 (b)類似,但該集群模塊8采用Condor集群管理系統(tǒng)以獲得對Windows更好的性能,在其中各個計算節(jié)點9機器上安裝Condor終端,并部署HAJIF-II解題器以提供顫振求解服務(wù),集群模塊8 (c)中其中一個集群門戶節(jié)點 12主機euchinalO. buaa. edu. cn上安裝Condor終端并設(shè)置為可提交作業(yè)。為將集群模塊 8(c)連接進本發(fā)明所述的網(wǎng)格,在集群門戶節(jié)點12上安裝MySQL數(shù)據(jù)庫和vsFTP服務(wù)器, 并部署計算代理6模塊JobExecute。集群門戶節(jié)點均部署控制模塊1的偵聽器。運行時,在用戶計算機10上的算法模塊3工作目錄中準(zhǔn)備好遺傳算法模塊3的可執(zhí)行程序并通過0PTIMUS軟件建立工作流模型(opt文件),以及準(zhǔn)備好所需的輸入數(shù)據(jù)文件和參數(shù)文件。之后通過控制模塊1啟動驅(qū)動模塊2的0PTIMUS工作流引擎載入工作流模型和啟動工作流,則遺傳算法任務(wù)在驅(qū)動模塊2的驅(qū)動下開始運行。當(dāng)運行至需要進行適應(yīng)度評估的步驟時,算法模塊3將依照服務(wù)發(fā)布的接口生成需要計算的作業(yè)輸入文件和參數(shù)文件并按照計算客戶端4約定的方式,將每10個輸入文件、算法模塊3的Nastran輸出解析器以及作業(yè)包參數(shù)文件以tar. gz格式根據(jù)約定的命名方式進行壓縮打包,之后計算客戶端4根據(jù)作業(yè)的類型(靜氣彈計算或顫振計算)向集群模塊8 (a)的集群門戶節(jié)點12 上的GRIA網(wǎng)格系統(tǒng)7或NOVA服務(wù)計算機11上的NOVA任務(wù)分發(fā)器5提交作業(yè)請求,并通過HTTPS方式將作業(yè)發(fā)送到GRIA網(wǎng)格系統(tǒng)的數(shù)據(jù)服務(wù)空間中或通過FTP方式將作業(yè)包發(fā)送到NOVA服務(wù)計算機11上的指定的數(shù)據(jù)中轉(zhuǎn)目錄并在其下建立工作目錄放置解壓縮的作業(yè)數(shù)據(jù),然后向GRIA網(wǎng)格系統(tǒng)7和NOVA任務(wù)分發(fā)器5輪詢各個作業(yè)的狀態(tài)并計時若作業(yè)完成則通過GRIA網(wǎng)格系統(tǒng)7的數(shù)據(jù)服務(wù)或NOVA服務(wù)計算機11上的FTP服務(wù)器從上述工作目錄下載運算結(jié)果,待所有結(jié)果匯集后繼續(xù)算法模塊3的遺傳算法運行過程;若作業(yè)運行時間超過了計算客戶端4的參數(shù)預(yù)設(shè)的值(1800秒)則宣布作業(yè)超時,重新提交作業(yè)包最多3次,若仍然失敗則向控制模塊1宣告任務(wù)失敗。作業(yè)提交到NOVA任務(wù)分發(fā)器5后,NOVA任務(wù)分發(fā)器5將作業(yè)進行排隊,并通過 NOVA計算代理6 了解集群模塊8的資源情況,若存在空閑且符合要求資源則將作業(yè)包分發(fā)到對應(yīng)的集群模塊8(b)或(c)中集群門戶節(jié)點12上的NOVA計算代理6,NOVA計算代理6 將通過FTP方式從中轉(zhuǎn)目錄將作業(yè)包下載到計算代理的臨時工作目錄,然后將作業(yè)提交到集群模塊8的作業(yè)管理系統(tǒng)OpenPBS或Condor,由作業(yè)管理系統(tǒng)將各個作業(yè)包分發(fā)到各自的計算節(jié)點9進行靜氣彈(Nastran)或顫振(HAJIF-II)計算。提交到GRIA網(wǎng)格系統(tǒng)8的作業(yè)則提交到相連的集群模塊8 (a)的集群管理系統(tǒng) OpenPBS,轉(zhuǎn)發(fā)到各個計算節(jié)點9調(diào)用Nastran服務(wù)進行靜氣彈計算,并監(jiān)視作業(yè)運行的情況。
當(dāng)集群模塊8完成了作業(yè)時,NOVA計算代理6將通知NOVA任務(wù)分發(fā)器5座業(yè)已完成并將集群模塊8返回的作業(yè)輸出文件從計算代理的臨時工作目錄轉(zhuǎn)存到NOVA任務(wù)分發(fā)器5的數(shù)據(jù)目錄下該作業(yè)對應(yīng)的工作目錄,則NOVA任務(wù)分發(fā)器5通知計算客戶端4 ;GRIA網(wǎng)格模塊7也從集群模塊8回收作業(yè)結(jié)果并通知計算客戶端4。計算客戶端4將通過對兩種網(wǎng)格平臺不同的借口,以HTTPS方式從GRIA網(wǎng)格系統(tǒng)7的數(shù)據(jù)服務(wù)器,以FTP方式從NOVA 任務(wù)分發(fā)器5的工作中轉(zhuǎn)目錄中將計算結(jié)果文件下載到用戶計算機10中的算法模塊3工作目錄,供算法模塊使用。驗證運行取得了圓滿的成功,因此在項目接下來的研究中搭建了用于顫振和升力的多學(xué)科聯(lián)合優(yōu)化的網(wǎng)格平臺系統(tǒng),如下圖5所示與驗證系統(tǒng)相比,實際優(yōu)化系統(tǒng)中取消了部署在中國北航和歐洲LMS的 OpenPBS-Linux集群模塊8 (a)和(b),保留北航的Condor-Windows集群模塊8 (c)并運行 HAJIF-II服務(wù)進行升力計算;同時在!^hG SCAI部署OpenPBS-Linux集群模塊8(d)以提供噪聲求解響應(yīng)面服務(wù)。此時計算客戶端4將通過GRIA網(wǎng)格系統(tǒng)7與集群模塊8(d)連接, 而通過NOVA任務(wù)分發(fā)器5和NOVA計算代理6連接到集群模塊8 (c)。如此,則算法模塊3 可以使用來自i^hG SCAI的噪聲求解響應(yīng)面服務(wù)和來自北航的HAJIF-II服務(wù)進行優(yōu)化計算。優(yōu)化算例在平臺上進行了 40余次遺傳算法迭代,每輪迭代在基于服務(wù)的歐洲和中國的集群上進行噪聲和機翼升力聯(lián)合優(yōu)化計算3000次,整個優(yōu)化過程中共進行12萬次計算,每次計算歷時15天,共進行了兩次,得到了很好的結(jié)果重復(fù)性,達到了預(yù)期的目標(biāo)。
權(quán)利要求
1.面向服務(wù)異構(gòu)網(wǎng)格上的工作流驅(qū)動遺傳算法航空優(yōu)化系統(tǒng),其特征在于該系統(tǒng)包括控制模塊(1),作為系統(tǒng)的用戶接口,其功能是用戶通過其管理該系統(tǒng)的任務(wù)啟動和中止,輸入運行參數(shù),監(jiān)控系統(tǒng)運行狀態(tài),對用戶進行管理;驅(qū)動模塊O),與控制模塊(1)和算法模塊C3)連接,其功能是管理任務(wù)的輸入數(shù)據(jù)和參數(shù)、輸出數(shù)據(jù),驅(qū)動算法模塊( 組織和運行工作流;算法模塊(3),與驅(qū)動模塊( 和計算客戶端(4)連接,其功能是執(zhí)行遺傳算法的邏輯過程,進行遺傳算法優(yōu)化,并將該算法中生成的大量并行計算任務(wù)提交到計算客戶端(4) 進行計算;計算客戶端G),與一或多個NOVA任務(wù)分發(fā)器(5)或GRIA網(wǎng)格系統(tǒng)(7)相連接,另一方面連接算法模塊(3),其功能是接收和轉(zhuǎn)存算法模塊(3)的數(shù)據(jù),提交計算作業(yè)包至GRIA 網(wǎng)格系統(tǒng)(7)或NOVA任務(wù)分發(fā)器(5),以及過程監(jiān)控,在運算完成時輸出結(jié)果數(shù)據(jù);NOVA任務(wù)分發(fā)器(5),與多個由驅(qū)動模塊O)、算法模塊C3)和計算客戶端(4)的組成連接,又可與一或多個NOVA計算代理(6)連接,其功能是接收計算客戶端(4)的作業(yè)請求,并進行排隊調(diào)度,將其分發(fā)到各個NOVA計算代理(6)并監(jiān)控運行狀態(tài)和結(jié)果,在作業(yè)完成時通知計算客戶端回收作業(yè)輸出數(shù)據(jù);NOVA計算代理(6),與一個NOVA任務(wù)分發(fā)器( 和一個集群模塊(8)連接,其功能是 從NOVA任務(wù)分發(fā)器(5)獲得作業(yè)信息,并獲取輸入數(shù)據(jù),轉(zhuǎn)發(fā)到集群模塊(8)以執(zhí)行作業(yè), 在作業(yè)運行完成時轉(zhuǎn)存作業(yè)輸出數(shù)據(jù)以供計算客戶端回收;GRIA網(wǎng)格系統(tǒng)(7),與一個或多個計算客戶端(4)和一個集群模塊(8)相連接,其功能是接收計算客戶端(4)的作業(yè)請求并存儲作業(yè)數(shù)據(jù),轉(zhuǎn)發(fā)到集群模塊(8)以執(zhí)行作業(yè),記錄作業(yè)過程,并在完成時回收輸出數(shù)據(jù);集群模塊(8),與一個計算代理(6)或GRIA網(wǎng)格系統(tǒng)(7)連接,其功能是管理一個由通過網(wǎng)絡(luò)連接的包含多個計算節(jié)點(9)的集群并在其上運行計算代理(6)或GRIA網(wǎng)格系統(tǒng)(7)轉(zhuǎn)發(fā)的、由算法模塊C3)生成的作業(yè)。
全文摘要
本發(fā)明是一種面向服務(wù)異構(gòu)網(wǎng)格上的工作流驅(qū)動遺傳算法航空優(yōu)化系統(tǒng),本系統(tǒng)可以通過不同的計算代理接口方便地連接多種不同的網(wǎng)格資源,利用其中不同平臺和架構(gòu)的不同計算服務(wù),使優(yōu)化工作可以調(diào)用來自不同機構(gòu)和解題服務(wù)提供方的遠程資源(如計算顫振可使用Nastran或Zero等工具),為多個機構(gòu)在保護各自產(chǎn)品、工具的知識產(chǎn)權(quán)的前提下的聯(lián)合優(yōu)化研究工作提供了一個解決方案。
文檔編號G06F17/50GK102289540SQ20111018201
公開日2011年12月21日 申請日期2011年7月1日 優(yōu)先權(quán)日2011年7月1日
發(fā)明者崔德剛, 張睿, 杜海, 熊青岳, 王永劍 申請人:中國航空工業(yè)集團公司科學(xué)技術(shù)委員會, 中航復(fù)合材料有限責(zé)任公司