国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

柴油機(jī)燃燒過程并行計(jì)算

2015-12-29 22:54
關(guān)鍵詞:并行算法處理機(jī)柴油機(jī)

?

柴油機(jī)燃燒過程并行計(jì)算

郭曉平,隆武強(qiáng)

(大連理工大學(xué)內(nèi)燃機(jī)研究所,大連116023)

摘要用具有大量控制單元的多維CFD模型耦合詳細(xì)反應(yīng)動力學(xué)模型,來模擬發(fā)動機(jī)燃燒過程,所需計(jì)算時間長,目前已超出可被人們接受的程度。采用并行計(jì)算可以縮短計(jì)算時間。本文提出了柴油機(jī)燃燒過程“分區(qū)化學(xué)反應(yīng)分布式并行算法”和“神經(jīng)網(wǎng)絡(luò)在線學(xué)習(xí)分布式并行算法”。在Windows XP操作系統(tǒng)下,基于MPI并行編程環(huán)境,用Fortran語言開發(fā)了并行計(jì)算程序,并在6臺同方AMD 3200+計(jì)算機(jī)系統(tǒng)上調(diào)試成功,且通過驗(yàn)證計(jì)算,獲得了較理想的并行效率。

關(guān)鍵詞:柴油機(jī)化學(xué)動力學(xué)并行計(jì)算人工神經(jīng)網(wǎng)絡(luò)

來稿日期:2014-12-29

1 引言

文章[1]分析了柴油機(jī)燃燒化學(xué)動力學(xué)計(jì)算量龐大的原因,如果不考慮組分質(zhì)量遷移對計(jì)算量的影響,反應(yīng)溫度和計(jì)算單元數(shù)可以表示成在多項(xiàng)式時間內(nèi)可以完成的P類問題。但實(shí)際運(yùn)行需要有超性能的計(jì)算機(jī),于是人們自然想到了并行計(jì)算技術(shù)。采用多計(jì)算機(jī)和多處理器同時計(jì)算,以縮短計(jì)算時間。如何將原來串行計(jì)算改造成并行計(jì)算,使計(jì)算時間降到可以接受的程度,是目前高性能計(jì)算應(yīng)用研究的一個焦點(diǎn)。

人類在求解復(fù)雜問題方面,遠(yuǎn)遠(yuǎn)勝過采用經(jīng)典算法的編程計(jì)算。因此,將人類求解問題的方法移植到計(jì)算模型是一個很好的想法。這就是人工神經(jīng)網(wǎng)絡(luò)。人工神經(jīng)網(wǎng)絡(luò)在復(fù)雜系統(tǒng)中的應(yīng)用已得到長足發(fā)展,在發(fā)動機(jī)燃燒計(jì)算中也已有文獻(xiàn)報(bào)導(dǎo)[2-4],是解決發(fā)動機(jī)燃燒計(jì)算量的好措施。因此,在燃燒計(jì)算的同時并行進(jìn)行化學(xué)動力學(xué)神經(jīng)網(wǎng)絡(luò)的建立與調(diào)用是很有必要的。

本文主要討論柴油機(jī)燃燒過程計(jì)算的并行算法。在Windows XP操作系統(tǒng)下,基于MPI的并行編程環(huán)境,使用Fortran語言實(shí)現(xiàn)“分區(qū)化學(xué)反應(yīng)分布式并行算法”和“神經(jīng)網(wǎng)絡(luò)在線學(xué)習(xí)分布式并行算法”。所提算法在多PC機(jī)系統(tǒng)上實(shí)現(xiàn),并使用LLNL正庚烷氧化機(jī)理對柴油機(jī)燃燒過程進(jìn)行了仿真計(jì)算,結(jié)果驗(yàn)證了所提算法的正確性和有效性。

2 并行計(jì)算

大多數(shù)并行機(jī)可分為2類:共享存儲并行機(jī)和分布存儲并行機(jī)。共享存儲并行機(jī)是所有處理機(jī)共享一個單一地址空間。分布存儲并行機(jī)是每個處理機(jī)有私有存儲空間,不同處理機(jī)之間的數(shù)據(jù)傳輸通過通信來實(shí)現(xiàn)。

2.1共享存儲

共享存儲并行機(jī)是由多個處理器組成的共享存儲系統(tǒng),圖1示例是由4個處理器組成的系統(tǒng)。其中每個處理機(jī)由專用緩存器(Cache)通過一條系統(tǒng)總線連接到一個全局共享存儲器上,這是典型的對稱多處理機(jī)(SMP)結(jié)構(gòu)[5]。

圖1 一種具有一致性訪問共享存儲的體系結(jié)構(gòu)

在對稱多處理機(jī)中,每個處理機(jī)可以使用標(biāo)準(zhǔn)的加載操作訪問全局存儲器中的任意單元。在共享存儲系統(tǒng)中,對共享數(shù)據(jù)的同步訪問是一個主要問題。編程時必須確保多個處理機(jī)在一個共享數(shù)據(jù)結(jié)構(gòu)上的操作正確無誤,即確保該數(shù)據(jù)結(jié)構(gòu)始終保持一致性狀態(tài)。共享存儲的主要問題是它的處理機(jī)數(shù)量難以擴(kuò)展到很大。

2.2分布存儲

分布存儲結(jié)構(gòu)如圖2所示,處理機(jī)通過通信網(wǎng)絡(luò)訪問存儲器。如果使用可擴(kuò)展的通信網(wǎng)絡(luò),那么這種系統(tǒng)是可擴(kuò)展的。

圖2 分布存儲體系結(jié)構(gòu)

分布存儲系統(tǒng)的優(yōu)勢在于訪問本地存儲器的速度相當(dāng)快,而訪問遠(yuǎn)端存儲器的速度則非常慢。大多數(shù)分布存儲系統(tǒng)支持消息傳遞編程模式。在這種模式中,擁有某數(shù)據(jù)的處理機(jī)將數(shù)據(jù)發(fā)送給其他需要該數(shù)據(jù)的處理機(jī)。雖然這種“發(fā)送─接收”通信啟動后通信帶寬高,但通常啟動時間長。因此,在消息傳遞系統(tǒng)中,一般應(yīng)該減少發(fā)送次數(shù),而提高一次發(fā)送的數(shù)據(jù)量。

3 燃燒分布式并行計(jì)算

要實(shí)現(xiàn)并行程序,必須處理4個主要問題。首先,將那些能并行處理的計(jì)算部分表示出來;其次,將程序分解成多個并行部分;然后,建立模型和界面來編寫并行程序;最后,選擇一種實(shí)現(xiàn)方式,能有效實(shí)現(xiàn)并行程序并體現(xiàn)計(jì)算模型。

3.1程序并行性識別

實(shí)現(xiàn)并行計(jì)算的第1步是識別程序中的哪些部分可以并行處理。如果多個計(jì)算無共享數(shù)據(jù),那么這些計(jì)算可以并行執(zhí)行。多個計(jì)算同時讀取同一存儲單元中的數(shù)據(jù)時,是不會產(chǎn)生沖突的,不影響并行化。

在柴油機(jī)燃燒計(jì)算中,大約99%的計(jì)算時間消耗在化學(xué)反應(yīng)動力學(xué)計(jì)算上,因此不考慮對流動過程作并行計(jì)算。在每個化學(xué)計(jì)算迭代步長駐t中,各基元反應(yīng)計(jì)算是互相獨(dú)立的,且都從共同的組分質(zhì)量存儲器中讀取數(shù)據(jù)進(jìn)行計(jì)算。因此具備將串行計(jì)算直接改造成并行計(jì)算的條件。但對反應(yīng)動力學(xué)進(jìn)行并行化改造,將涉及到同步協(xié)調(diào)與數(shù)據(jù)讀寫環(huán)節(jié),所需時間會在很大程度上抵消并行計(jì)算所節(jié)省的時間。因此,分解化學(xué)反應(yīng)模型來進(jìn)行并行計(jì)算獲利不大。

燃燒化學(xué)計(jì)算之所以計(jì)算量大,是因?yàn)榛瘜W(xué)迭代計(jì)算的步長太小所致,而確定步長的計(jì)算很簡單,毋需使用并行計(jì)算。

柴油機(jī)缸內(nèi)燃燒計(jì)算是各控制單元執(zhí)行程序代碼相同、而輸入數(shù)據(jù)不同的計(jì)算。因此,各控制單元之間可以實(shí)行化學(xué)反應(yīng)并行計(jì)算。

使用神經(jīng)網(wǎng)絡(luò)來構(gòu)造燃燒過程組分質(zhì)量變化函數(shù),供后繼控制單元的動力學(xué)計(jì)算使用。為了提高神經(jīng)網(wǎng)絡(luò)函數(shù)的精度,最好是在線形成神經(jīng)網(wǎng)絡(luò),同時不斷完善神經(jīng)網(wǎng)絡(luò)。顯然,神經(jīng)網(wǎng)絡(luò)的建立和完善與化學(xué)反應(yīng)迭代計(jì)算可以并行進(jìn)行。

3.2分解策略

實(shí)現(xiàn)并行計(jì)算的第2步是選擇分解策略,通常有2種方法。一種是“任務(wù)并行”,即把程序分解為多個任務(wù),標(biāo)識出它們之間的依賴關(guān)系,并進(jìn)行任務(wù)調(diào)度,使得并行執(zhí)行的任務(wù)互不干擾,不同的處理機(jī)執(zhí)行不同的功能。另一種是“數(shù)據(jù)并行”,即把問題的數(shù)據(jù)空間分解為多個區(qū)域,并分配給不同的處理機(jī),每個處理機(jī)負(fù)責(zé)計(jì)算各個區(qū)域的結(jié)果。

在燃燒過程計(jì)算中,一方面要進(jìn)行化學(xué)反應(yīng)動力學(xué)計(jì)算,另一方面要建立和完善神經(jīng)網(wǎng)絡(luò)。因此,本文使用“任務(wù)并行”與“數(shù)據(jù)并行”相結(jié)合的并行計(jì)算策略:有關(guān)神經(jīng)網(wǎng)絡(luò)計(jì)算采用“任務(wù)并行”,化學(xué)動力學(xué)計(jì)算采用“數(shù)據(jù)并行”,而“數(shù)據(jù)并行”采用按區(qū)分網(wǎng)并行計(jì)算的思路。在硬件配置上,指定某一臺計(jì)算機(jī)作為主控機(jī),主控機(jī)負(fù)責(zé)對各子機(jī)進(jìn)行協(xié)調(diào)和交互,以完成缸內(nèi)化學(xué)反應(yīng)計(jì)算。

3.3編程模型

編程模型的選擇就是對編程語言和庫的選擇。通常有下面2種選擇:共享存儲編程模型和消息傳遞編程模型。

3.3.1共享存儲編程模型

數(shù)據(jù)存儲于一個共享存儲器中,所有處理機(jī)均可訪問該共享存儲器。這就意味著每個處理機(jī)可以獨(dú)立地對存儲器中的任一單元進(jìn)行讀或?qū)懖僮?。這種模型的特點(diǎn)就是用同步保證共享數(shù)據(jù)結(jié)構(gòu)的完整性。

一旦神經(jīng)網(wǎng)絡(luò)建立以后,就可以通過神經(jīng)網(wǎng)絡(luò)函數(shù)模擬計(jì)算單元中的化學(xué)反應(yīng)。因此,神經(jīng)網(wǎng)絡(luò)結(jié)果應(yīng)該放在共享存儲器中。其同步條件是,神經(jīng)網(wǎng)絡(luò)建立完畢與神經(jīng)網(wǎng)絡(luò)調(diào)用同步。

同理,化學(xué)反應(yīng)迭代計(jì)算的新結(jié)果也放在共享存儲器中,通過不斷積累,當(dāng)滿足神經(jīng)網(wǎng)絡(luò)所需樣本數(shù)時,啟動神經(jīng)網(wǎng)絡(luò)的創(chuàng)建或完善計(jì)算。其同步條件是,樣本數(shù)量滿足要求。

3.3.2消息傳遞編程模型

數(shù)據(jù)分別存儲在多個處理機(jī)的本地存儲器中,需要通過通信方式來訪問遠(yuǎn)程數(shù)據(jù)。通常,要通信的2個處理機(jī)之間必須顯式地進(jìn)行發(fā)送/接受操作。

缸內(nèi)流動計(jì)算采用串行方式,流動計(jì)算完成后確定出新時刻控制單元的壓力p、溫度T和組分質(zhì)量,然后啟動各子機(jī)進(jìn)行化學(xué)反應(yīng)迭代計(jì)算?;瘜W(xué)反應(yīng)計(jì)算結(jié)束后再將計(jì)算結(jié)果匯總,以便進(jìn)行下一時刻缸內(nèi)流動計(jì)算。因此,這種并行計(jì)算采用消息傳遞編程模型。

3.4實(shí)現(xiàn)模式

3.4.1燃燒并行算法的實(shí)現(xiàn)

化學(xué)反應(yīng)動力學(xué)并行計(jì)算的實(shí)現(xiàn)方法是,采用數(shù)據(jù)并行策略,在分布存儲系統(tǒng)上采用單程序多數(shù)據(jù)(SPMD)模式,所有的處理機(jī)均執(zhí)行相同的程序,但是使用不同的數(shù)據(jù)。設(shè)有n臺子機(jī),則將需進(jìn)行化學(xué)計(jì)算的控制單元數(shù)分成n份,分別發(fā)送到各子機(jī)進(jìn)行計(jì)算,然后接收各子機(jī)的計(jì)算結(jié)果。這種算法,數(shù)據(jù)交互次數(shù)不多,但每次交互的數(shù)據(jù)量較大。需要注意的是,所實(shí)現(xiàn)算法為同步算法。因此各子機(jī)的負(fù)載均衡問題可能會影響算法的性能,即網(wǎng)絡(luò)劃分不均時,或者網(wǎng)格的參數(shù)差別較大時,各子機(jī)間存在相互等待的現(xiàn)象。

3.4.2神經(jīng)網(wǎng)絡(luò)并行算法的實(shí)現(xiàn)

如上所述,關(guān)于神經(jīng)網(wǎng)絡(luò)的計(jì)算,采用共享存儲器方式,關(guān)鍵是建立同步控制策略。其同步約束條件為:(1)根據(jù)神經(jīng)網(wǎng)絡(luò)范圍對樣本進(jìn)行分類;(2)只有收集到足夠數(shù)量的樣本,啟動1臺子機(jī)進(jìn)行神經(jīng)網(wǎng)絡(luò)學(xué)習(xí);(3)只有當(dāng)子神經(jīng)網(wǎng)絡(luò)建立后,才可以使用神經(jīng)網(wǎng)絡(luò)替代化學(xué)迭代計(jì)算。

在每臺子機(jī)上,均安裝了chemkin子程序和神經(jīng)網(wǎng)絡(luò)訓(xùn)練子程序。實(shí)際運(yùn)行中,子機(jī)是做化學(xué)反應(yīng)計(jì)算還是網(wǎng)絡(luò)訓(xùn)練計(jì)算,均由主機(jī)控制。以網(wǎng)絡(luò)訓(xùn)練的優(yōu)先級最高,即,一旦訓(xùn)練數(shù)據(jù)滿足要求,主機(jī)就指定1臺子機(jī)進(jìn)行網(wǎng)絡(luò)訓(xùn)練。如果已經(jīng)有一臺子機(jī)在進(jìn)行網(wǎng)絡(luò)訓(xùn)練,則主機(jī)指定另1臺子機(jī)進(jìn)行訓(xùn)練,剩下的子機(jī)做chemkin迭代計(jì)算。如果所有子機(jī)均作神經(jīng)網(wǎng)絡(luò)訓(xùn)練,則僅由主機(jī)進(jìn)行chemkin迭代計(jì)算。

基于以上分析,柴油機(jī)燃燒過程并行算法的實(shí)現(xiàn)流程如圖3所示。其中,左邊為串行算法流程圖,右邊為各子機(jī)和主機(jī)之間的交互任務(wù)??梢钥闯觯鶎?shí)現(xiàn)的并行算法在原串行算法基礎(chǔ)上改動不大,主機(jī)和子機(jī)之間交互次數(shù)也不多。

4 算例仿真

在Windows XP操作系統(tǒng)下,基于MPI的并行編程環(huán)境,根據(jù)圖3并行算法對kiva程序進(jìn)行并行計(jì)算改造。硬件平臺由6臺同方PC機(jī)構(gòu)成,CPU為AMD 3200+,內(nèi)存2GB,硬盤容量160GB。改造后的kiva程序在上述硬件平臺上運(yùn)行,且進(jìn)行了測試。測試算例采用4氣門直噴式四沖程壓縮燃燒柴油機(jī)[1],化學(xué)反應(yīng)模型采用美國國家重點(diǎn)實(shí)驗(yàn)室研發(fā)的正庚烷氧化詳細(xì)機(jī)理。

除了建立神經(jīng)網(wǎng)絡(luò)及未解決的問題外,并行計(jì)算系統(tǒng)已調(diào)試成功,運(yùn)行正常。比較噴油期缸內(nèi)燃燒過程計(jì)算結(jié)果、并行計(jì)算和原kiva串行計(jì)算,控制單元中內(nèi)能和組分計(jì)算結(jié)果誤差小于10%,計(jì)算加速比大于50。

圖3 柴油機(jī)燃燒并行計(jì)算流程

5 結(jié)論

用具有大量控制單元的多維CFD模型耦合詳細(xì)反應(yīng)動力學(xué)模型,來模擬柴油機(jī)燃燒過程,所需計(jì)算時間長,目前已超過可被接受的范圍。采用并行計(jì)算可以縮短計(jì)算時間。本文提出了柴油機(jī)燃燒過程“分區(qū)化學(xué)反應(yīng)分布式并行算法”和“神經(jīng)網(wǎng)絡(luò)在線學(xué)習(xí)分布式并行算法”。在Windows XP操作系統(tǒng)下,基于MPI并行編程環(huán)境,用Fortran語言開發(fā)了并行計(jì)算程序,并在由6臺同方AMD 3200+PC機(jī)組成的系統(tǒng)上調(diào)試成功,且運(yùn)行正常,獲得了較理想的加速比和并行效率。通過實(shí)際柴油機(jī)工作過程計(jì)算,驗(yàn)證了本文所提并行算法的正確性和有效性。為進(jìn)一步開展柴油機(jī)燃燒動力學(xué)高性能計(jì)算研究奠定基礎(chǔ)。

參考文獻(xiàn)

[1]郭曉平,王占杰.柴油機(jī)燃燒計(jì)算量研究[C].中國工程熱物理學(xué)會燃燒分會學(xué)術(shù)論文,西安2008.

[2] Grondin O, Stobart R, Chafouk H et al. Modelling the Compression Ignition Engine for Control: Review and Future Trends[C]. SAE 2004-01-0423.

[3] He Y, Rutland C J. Application of Artificial Neural Networks in Engine Modelling [J]. International Journal of Engine Research, 2003, 5(4): 281-296.

[4] Choi Y, Chen J Y. Fast Prediction of Start-of-Combustion in HCCI with Combined Artificial Neural Networks and Ignition Delay Model [J]. Proceedings of the Combustion Institute, 2005, 30(1): 2711-2718.

[5]都志輝.高性能計(jì)算并行編程技術(shù)[M].北京:清華大學(xué)出版社,2001.

Parallel Computing of Diesel Combustion Process

Guo Xiaoping, Long Wuqiang

(Internal Combustion Engine Institute of Dalian University of Technology, Dalian 116023, China)

Abstract:The multi-dimension al CFD model with a large number of control units coupled with detailed kinetic model to calculate the engine combustion process is of time consuming and not accepted. Parallel computing can reduce computation time. This paper presents "partition chemical reaction distributed parallel algorithm" and "parallel distributed online learning neural network algorithm". In the Windows XP operating system and based on MPI parallel programming environment, the Fortran parallel computing program is developed and successful commissioning in AMD 3200+ computer system on 6 computers is achieved. By verifying the calculation, a more ideal parallel efficiency is obtained.

Key words:diesel engine, chemical kinetics, parallel computing, artificial neural networks

作者簡介:郭曉平(1955-),女,副教授,主要研究方向?yàn)閮?nèi)燃機(jī)工作過程數(shù)值仿真與有害物排放控制。

doi:10.3969/j.issn.1671-0614.2015.01.001

猜你喜歡
并行算法處理機(jī)柴油機(jī)
淺談家用餐廚垃圾處理機(jī)的現(xiàn)狀
地圖線要素綜合化的簡遞歸并行算法
污泥干化處理機(jī)翻拋軸的模態(tài)分析
美國FCA 推出第三代EcoDie s e l V6 柴油機(jī)
譚旭光:柴油機(jī)50年內(nèi)仍大有可為
雷達(dá)信號處理機(jī)顯控及通信技術(shù)
改進(jìn)型迭代Web挖掘技術(shù)在信息門戶建設(shè)中的應(yīng)用研究
基于VPX標(biāo)準(zhǔn)的二次監(jiān)視雷達(dá)通用處理機(jī)設(shè)計(jì)
基于MapReduce的DBSCAN聚類算法的并行實(shí)現(xiàn)
現(xiàn)代柴油機(jī)的技術(shù)發(fā)展趨勢
鹿泉市| 荔波县| 平谷区| 南开区| 广饶县| 盐城市| 丁青县| 蕉岭县| 社会| 绍兴市| 麟游县| 新疆| 嘉鱼县| 静宁县| 芦溪县| 西平县| 曲靖市| 万全县| 青铜峡市| 普陀区| 临邑县| 漯河市| 公主岭市| 赣州市| 抚顺市| 安国市| 阳信县| 澳门| 赞皇县| 衢州市| 思南县| 广德县| 康乐县| 兰坪| 紫金县| 体育| 翼城县| 上蔡县| 平阳县| 缙云县| 苗栗县|