王小慶,胡文韜
(中國航發商用航空發動機有限責任公司,上海 200241)
轉子是民用航空發動機的主要零組件,在發動機服役中承受高溫、高壓等嚴苛的工作環境,為保證其服役的可靠性,在設計階段通常采用數值分析對其強度進行評估[1-2]。由于民用航空發動機對高/超高增壓比的需要,轉子的結構愈加復雜,相應的計算規模也越加龐大,為提高設計效率,并行計算成為首選項。
并行計算可以通過增加核數縮短物理耗時,已在各專業的設計研發中得到應用[3]。為充分發揮并行計算的優勢,很多學者對影響并行計算效率的區域分解方法[4-6]、并行計算模式[7-9]展開了研究,但目前尚未見到針對計算規模達到百萬自由度、存在大量接觸非線性和幾何非線性計算的民用航空發動機轉子并行計算的研究。
本文針對民用航空發動機轉子的并行數值計算方法開展研究,從區域分解模式、并行計算模式角度進行分析,確定了針對百萬自由度計算規模的民用發動機轉子的最優并行計算配置,為實現民用發動機轉子的快速設計提供參考。
基于全因子試驗設計(DOE)理念,考慮計算核數、分區模式、并行計算模式這3個影響并行計算效果的主要因素,開展航空發動機轉子并行計算的研究并確定最優并行計算配置。
民用航空發動機轉子計算規模通常在百萬自由度,因此核數選取2、4、8、16、32、64共6個水平;分區模式考慮主流的基于圖論的分區(Graph-based Domain Decomposition,GBDD)和基于貪婪法的區域分解(Greedy Method for Domain Decomposition,GMDD);并行計算模式考慮通用的共享內存式并行(Shared Memory Parallelism,SMP)和分布內存式并行(Distributed Memory Parallelism,DMP),共形成24種并行計算的配置組合(見表1)。

表1 并行計算配置組合
評價并行計算效果的常用指標包括物理計算時間、加速比和并行效率,最佳的并行計算配置除有最短的物理耗時外,還需有良好的加速比和并行效率。加速比和并行效率的定義如下:
(1)
式中,βa為實際加速比;tr為基準核數計算時的物理耗時;td為采用其他核數計算時的物理耗時;ηa為實際并行效率;βi為理想加速比,當基準核數為單核時,βi即為實際計算的核數。
區域分解是影響并行計算效率的主要因素之一,良好的分區應保證各個區域的計算負載盡量均衡,區域間的邊界通信最少。此處針對常用的基于圖論的分區(GBDD)和基于貪婪法的區域分解(GMDD)展開研究。
基于圖論的分區易于并行化,其基本原理如下:首先將數值模型網格轉化為無向對偶圖,接著利用圖分區算法對該對偶圖進行區域分解,最后將對偶圖的分區映射為數值模型網格的分區。算法的核心為圖分區的實現,本文采用K-路圖劃分算法[10]。
基于貪婪法的分區利用求解最優化問題的思路,首先獲得局部最優解,然后遞歸分析逐步得到或逼近全局最優解。假設數值網格中每個節點所連接的單元數為該節點的權重,網格模型單元總數為En,分區數為Nd,則基于貪婪法的分區算法首先選擇當前最小權重的節點所連接的所有單元為初始分區,然后將已有單元的相鄰單元擴展進分區,遞歸執行,直到分區內單元數達到En/Nd,然后進行下一個分區。因貪婪法的局部最優特點,有時難以獲得全局最優解。
根據表1的并行計算配置組合在超級計算機上分別開展數值計算,計算的物理時間見表2和表3。

表2 不同分區模式物理時間對比(基于SMP)

表3 不同分區模式物理時間對比(基于DMP)
從表2和表3可以看出,基于SMP并行模式,核數為2、4、8、32、64核時,2種分區模式最大耗時差別在6%以內,而在16核時,GMDD模式比GBDD方法模式耗時高出20%以上;基于MPP并行模式,在8、16、32核時,GMDD模式物理耗時比GBDD模式高出7%~10%。因此,對于百萬自由度計算規模的民用航空發動機轉子并行數值分析,應優先選用基于圖論的分區模式(GBDD)。
主流的并行計算模式有共享內存式并行(SMP)和分布內存式并行(DMP)2種,SMP屬于線程級并行,由進程將計算任務分配到各線程,計算完成后將結果收回到該進程,線程之間無法進行通信,通常適用于小規模并行,可擴展性較差;DMP屬于進程級并行,進程間可通信,可用于大規模/超大規模并行計算,可擴展性好。
根據表1~表3,采用相同分區模式、不同并行計算模式時的物理耗時分別如圖1和圖2所示。從圖1和圖2可以看出,不同核數下基于DMP的物理耗時均少于基于SMP的物理耗時,并且隨著核數的增加DMP優勢更加明顯。故而,DMP并行計算模式更適用于民用航空發動機轉子的并行數值分析。
最優的并行計算配置應考慮物理計算時間、加速比和并行效率3方面的最佳匹配。對SMP&GBDD、SMP&GMDD、DMP&GBDD和DMP&GMDD這4種情況下的加速比和并行效率進行分析。
圖3所示為對應的加速比。從圖3可以看出,SMP&GBDD和SMP&GMDD這2種配置在核數>8核后,實際加速比已經遠遠小于理想加速比,并行效果變差;DMP&GBDD和DMP&GMDD這2種配置加速比更優,但在核數>16核后,并行加速效果也明顯下降,且在64核時,加速比出現了降低。
圖4所示為并行效率的對比。理想并行效率為100%,即隨著核數的增加,物理計算時間應成比例減少,但實際因不同分區間的通信消耗等,無法完全達到100%,但并行效率越高則表明并行效果越好。由圖4可知,雖然DMP&GBDD和DMP&GMDD的并行效率明顯優于SMP&GBDD和SMP&GMDD,但在核數達到16核時SMP&GBDD和SMP&GMDD這2種配置并行效率已經<20%,而DMP&GBDD和DMP&GMDD的并行效率也已<40%。
綜上所述,基于DMP的并行計算模式無論物理計算時間、加速比,還是并行效率,均優于基于SMP的并行計算模式,且DMP&GBDD配置組合在相同核數時加速比和并行效率略優于DMP&GMDD配置組合,同時考慮到雖然16核時并行計算效率已<40%,但物理計算時間更短,因此,針對百萬自由度計算規模的民用航空發動機轉子,并行數值計算的最優并行計算配置為DMP&GBDD&16核。
針對民用航空發動機轉子并行數值計算方法開展研究,結果表明:采用基于圖論的分區方式優于基于貪婪法的分區方式;相對于共享內存式并行計算模式,采用分布內存式并行計算模式可獲得更短的計算耗時;針對百萬自由度級民用航空發動機轉子的并行計算,采用基于分布內存式并行模式、基于圖論的分區模式、計算核數為16核時,可以獲得最佳并行計算效果。