王小慶,胡文韜
(中國航發(fā)商用航空發(fā)動(dòng)機(jī)有限責(zé)任公司,上海 200241)
轉(zhuǎn)子是民用航空發(fā)動(dòng)機(jī)的主要零組件,在發(fā)動(dòng)機(jī)服役中承受高溫、高壓等嚴(yán)苛的工作環(huán)境,為保證其服役的可靠性,在設(shè)計(jì)階段通常采用數(shù)值分析對(duì)其強(qiáng)度進(jìn)行評(píng)估[1-2]。由于民用航空發(fā)動(dòng)機(jī)對(duì)高/超高增壓比的需要,轉(zhuǎn)子的結(jié)構(gòu)愈加復(fù)雜,相應(yīng)的計(jì)算規(guī)模也越加龐大,為提高設(shè)計(jì)效率,并行計(jì)算成為首選項(xiàng)。
并行計(jì)算可以通過增加核數(shù)縮短物理耗時(shí),已在各專業(yè)的設(shè)計(jì)研發(fā)中得到應(yīng)用[3]。為充分發(fā)揮并行計(jì)算的優(yōu)勢,很多學(xué)者對(duì)影響并行計(jì)算效率的區(qū)域分解方法[4-6]、并行計(jì)算模式[7-9]展開了研究,但目前尚未見到針對(duì)計(jì)算規(guī)模達(dá)到百萬自由度、存在大量接觸非線性和幾何非線性計(jì)算的民用航空發(fā)動(dòng)機(jī)轉(zhuǎn)子并行計(jì)算的研究。
本文針對(duì)民用航空發(fā)動(dòng)機(jī)轉(zhuǎn)子的并行數(shù)值計(jì)算方法開展研究,從區(qū)域分解模式、并行計(jì)算模式角度進(jìn)行分析,確定了針對(duì)百萬自由度計(jì)算規(guī)模的民用發(fā)動(dòng)機(jī)轉(zhuǎn)子的最優(yōu)并行計(jì)算配置,為實(shí)現(xiàn)民用發(fā)動(dòng)機(jī)轉(zhuǎn)子的快速設(shè)計(jì)提供參考。
基于全因子試驗(yàn)設(shè)計(jì)(DOE)理念,考慮計(jì)算核數(shù)、分區(qū)模式、并行計(jì)算模式這3個(gè)影響并行計(jì)算效果的主要因素,開展航空發(fā)動(dòng)機(jī)轉(zhuǎn)子并行計(jì)算的研究并確定最優(yōu)并行計(jì)算配置。
民用航空發(fā)動(dòng)機(jī)轉(zhuǎn)子計(jì)算規(guī)模通常在百萬自由度,因此核數(shù)選取2、4、8、16、32、64共6個(gè)水平;分區(qū)模式考慮主流的基于圖論的分區(qū)(Graph-based Domain Decomposition,GBDD)和基于貪婪法的區(qū)域分解(Greedy Method for Domain Decomposition,GMDD);并行計(jì)算模式考慮通用的共享內(nèi)存式并行(Shared Memory Parallelism,SMP)和分布內(nèi)存式并行(Distributed Memory Parallelism,DMP),共形成24種并行計(jì)算的配置組合(見表1)。
表1 并行計(jì)算配置組合
評(píng)價(jià)并行計(jì)算效果的常用指標(biāo)包括物理計(jì)算時(shí)間、加速比和并行效率,最佳的并行計(jì)算配置除有最短的物理耗時(shí)外,還需有良好的加速比和并行效率。加速比和并行效率的定義如下:
(1)
式中,βa為實(shí)際加速比;tr為基準(zhǔn)核數(shù)計(jì)算時(shí)的物理耗時(shí);td為采用其他核數(shù)計(jì)算時(shí)的物理耗時(shí);ηa為實(shí)際并行效率;βi為理想加速比,當(dāng)基準(zhǔn)核數(shù)為單核時(shí),βi即為實(shí)際計(jì)算的核數(shù)。
區(qū)域分解是影響并行計(jì)算效率的主要因素之一,良好的分區(qū)應(yīng)保證各個(gè)區(qū)域的計(jì)算負(fù)載盡量均衡,區(qū)域間的邊界通信最少。此處針對(duì)常用的基于圖論的分區(qū)(GBDD)和基于貪婪法的區(qū)域分解(GMDD)展開研究。
基于圖論的分區(qū)易于并行化,其基本原理如下:首先將數(shù)值模型網(wǎng)格轉(zhuǎn)化為無向?qū)ε紙D,接著利用圖分區(qū)算法對(duì)該對(duì)偶圖進(jìn)行區(qū)域分解,最后將對(duì)偶圖的分區(qū)映射為數(shù)值模型網(wǎng)格的分區(qū)。算法的核心為圖分區(qū)的實(shí)現(xiàn),本文采用K-路圖劃分算法[10]。
基于貪婪法的分區(qū)利用求解最優(yōu)化問題的思路,首先獲得局部最優(yōu)解,然后遞歸分析逐步得到或逼近全局最優(yōu)解。假設(shè)數(shù)值網(wǎng)格中每個(gè)節(jié)點(diǎn)所連接的單元數(shù)為該節(jié)點(diǎn)的權(quán)重,網(wǎng)格模型單元總數(shù)為En,分區(qū)數(shù)為Nd,則基于貪婪法的分區(qū)算法首先選擇當(dāng)前最小權(quán)重的節(jié)點(diǎn)所連接的所有單元為初始分區(qū),然后將已有單元的相鄰單元擴(kuò)展進(jìn)分區(qū),遞歸執(zhí)行,直到分區(qū)內(nèi)單元數(shù)達(dá)到En/Nd,然后進(jìn)行下一個(gè)分區(qū)。因貪婪法的局部最優(yōu)特點(diǎn),有時(shí)難以獲得全局最優(yōu)解。
根據(jù)表1的并行計(jì)算配置組合在超級(jí)計(jì)算機(jī)上分別開展數(shù)值計(jì)算,計(jì)算的物理時(shí)間見表2和表3。
表2 不同分區(qū)模式物理時(shí)間對(duì)比(基于SMP)
表3 不同分區(qū)模式物理時(shí)間對(duì)比(基于DMP)
從表2和表3可以看出,基于SMP并行模式,核數(shù)為2、4、8、32、64核時(shí),2種分區(qū)模式最大耗時(shí)差別在6%以內(nèi),而在16核時(shí),GMDD模式比GBDD方法模式耗時(shí)高出20%以上;基于MPP并行模式,在8、16、32核時(shí),GMDD模式物理耗時(shí)比GBDD模式高出7%~10%。因此,對(duì)于百萬自由度計(jì)算規(guī)模的民用航空發(fā)動(dòng)機(jī)轉(zhuǎn)子并行數(shù)值分析,應(yīng)優(yōu)先選用基于圖論的分區(qū)模式(GBDD)。
主流的并行計(jì)算模式有共享內(nèi)存式并行(SMP)和分布內(nèi)存式并行(DMP)2種,SMP屬于線程級(jí)并行,由進(jìn)程將計(jì)算任務(wù)分配到各線程,計(jì)算完成后將結(jié)果收回到該進(jìn)程,線程之間無法進(jìn)行通信,通常適用于小規(guī)模并行,可擴(kuò)展性較差;DMP屬于進(jìn)程級(jí)并行,進(jìn)程間可通信,可用于大規(guī)模/超大規(guī)模并行計(jì)算,可擴(kuò)展性好。
根據(jù)表1~表3,采用相同分區(qū)模式、不同并行計(jì)算模式時(shí)的物理耗時(shí)分別如圖1和圖2所示。從圖1和圖2可以看出,不同核數(shù)下基于DMP的物理耗時(shí)均少于基于SMP的物理耗時(shí),并且隨著核數(shù)的增加DMP優(yōu)勢更加明顯。故而,DMP并行計(jì)算模式更適用于民用航空發(fā)動(dòng)機(jī)轉(zhuǎn)子的并行數(shù)值分析。
最優(yōu)的并行計(jì)算配置應(yīng)考慮物理計(jì)算時(shí)間、加速比和并行效率3方面的最佳匹配。對(duì)SMP&GBDD、SMP&GMDD、DMP&GBDD和DMP&GMDD這4種情況下的加速比和并行效率進(jìn)行分析。
圖3所示為對(duì)應(yīng)的加速比。從圖3可以看出,SMP&GBDD和SMP&GMDD這2種配置在核數(shù)>8核后,實(shí)際加速比已經(jīng)遠(yuǎn)遠(yuǎn)小于理想加速比,并行效果變差;DMP&GBDD和DMP&GMDD這2種配置加速比更優(yōu),但在核數(shù)>16核后,并行加速效果也明顯下降,且在64核時(shí),加速比出現(xiàn)了降低。
圖4所示為并行效率的對(duì)比。理想并行效率為100%,即隨著核數(shù)的增加,物理計(jì)算時(shí)間應(yīng)成比例減少,但實(shí)際因不同分區(qū)間的通信消耗等,無法完全達(dá)到100%,但并行效率越高則表明并行效果越好。由圖4可知,雖然DMP&GBDD和DMP&GMDD的并行效率明顯優(yōu)于SMP&GBDD和SMP&GMDD,但在核數(shù)達(dá)到16核時(shí)SMP&GBDD和SMP&GMDD這2種配置并行效率已經(jīng)<20%,而DMP&GBDD和DMP&GMDD的并行效率也已<40%。
綜上所述,基于DMP的并行計(jì)算模式無論物理計(jì)算時(shí)間、加速比,還是并行效率,均優(yōu)于基于SMP的并行計(jì)算模式,且DMP&GBDD配置組合在相同核數(shù)時(shí)加速比和并行效率略優(yōu)于DMP&GMDD配置組合,同時(shí)考慮到雖然16核時(shí)并行計(jì)算效率已<40%,但物理計(jì)算時(shí)間更短,因此,針對(duì)百萬自由度計(jì)算規(guī)模的民用航空發(fā)動(dòng)機(jī)轉(zhuǎn)子,并行數(shù)值計(jì)算的最優(yōu)并行計(jì)算配置為DMP&GBDD&16核。
針對(duì)民用航空發(fā)動(dòng)機(jī)轉(zhuǎn)子并行數(shù)值計(jì)算方法開展研究,結(jié)果表明:采用基于圖論的分區(qū)方式優(yōu)于基于貪婪法的分區(qū)方式;相對(duì)于共享內(nèi)存式并行計(jì)算模式,采用分布內(nèi)存式并行計(jì)算模式可獲得更短的計(jì)算耗時(shí);針對(duì)百萬自由度級(jí)民用航空發(fā)動(dòng)機(jī)轉(zhuǎn)子的并行計(jì)算,采用基于分布內(nèi)存式并行模式、基于圖論的分區(qū)模式、計(jì)算核數(shù)為16核時(shí),可以獲得最佳并行計(jì)算效果。