仿真干貨|算例核心數(shù)越多反而越慢?一篇文看懂“最佳并行規(guī)模”

高性能計(jì)算的瓶頸
在實(shí)際的工作和科研中,許多人會(huì)遭遇一個(gè)令人費(fèi)解的困境:
明明想要通過(guò)增加核心數(shù)來(lái)提高計(jì)算效率,但是隨著并行計(jì)算核心數(shù)的不斷增加,原本期待的加速效果并未如約而至,計(jì)算效率的曲線非但沒(méi)什么變化,甚至開(kāi)始不斷下降。
而影響計(jì)算效率的因素除了“算法的優(yōu)化”,像“數(shù)據(jù)相關(guān)性”、“負(fù)載平衡”等也涉及其中,下面我們就來(lái)講講各個(gè)因素為何會(huì)影響算例的“最佳并行規(guī)模”。
01 影響因素分析
1. 數(shù)據(jù)通信和同步
在并行計(jì)算中,不同處理單元之間需要進(jìn)行數(shù)據(jù)通信和同步動(dòng)作,而過(guò)多的核心數(shù)所產(chǎn)生的通信時(shí)間也是相當(dāng)可觀的,從而會(huì)影響到作業(yè)本身的計(jì)算效率和計(jì)算平臺(tái)的整體性能,但是通信密集型任務(wù)需要更多的核心,最終的計(jì)算效率反而會(huì)下降,這個(gè)也需要在作業(yè)的配置中考慮到。
2. 負(fù)載平衡
在并行計(jì)算中,各個(gè)節(jié)點(diǎn)的負(fù)載分配可能不均衡,導(dǎo)致部分處理單元負(fù)載過(guò)重,而部分處理單元空閑,從而影響到計(jì)算效率。
3. 數(shù)據(jù)相關(guān)性
并行計(jì)算中的數(shù)據(jù)相關(guān)性可能導(dǎo)致處理單元之間的依賴關(guān)系,限制了并行度的提高,從而影響性能。
4. 潛在的競(jìng)爭(zhēng)和瓶頸
在并行計(jì)算中,可能存在共享資源的競(jìng)爭(zhēng)和瓶頸,如內(nèi)存帶寬、I/O帶寬等,這些因素可能限制并行計(jì)算的性能。
5. 算法設(shè)計(jì)和并行化的復(fù)雜性
一些算法并不容易并行化,或者其并行化的復(fù)雜性較高,這可能導(dǎo)致并行計(jì)算的效率不高。
02 最佳并行規(guī)模分析——以“汽車碰撞分析”為例
車輛模型包括數(shù)百個(gè)部件,如車身、座椅、安全帶、氣囊等。碰撞分析的模型需要考慮所有這些部件的相互作用。
在汽車碰撞分析中,采用并行計(jì)算可以顯著縮短求解時(shí)間,但同時(shí)也需要注意優(yōu)化計(jì)算性能。根據(jù)計(jì)算節(jié)點(diǎn)和核心數(shù)量合理分配任務(wù),避免資源浪費(fèi),并通過(guò)調(diào)整網(wǎng)格劃分,確保計(jì)算負(fù)載在所有節(jié)點(diǎn)間平衡分配,減少計(jì)算瓶頸。
配置更多算力核心后,計(jì)算效率下降原因分析如下:
1. 負(fù)載不均衡
當(dāng)并行規(guī)模過(guò)大時(shí),各個(gè)計(jì)算節(jié)點(diǎn)之間的負(fù)載分配可能變得不均衡,部分節(jié)點(diǎn)計(jì)算任務(wù)過(guò)重,而其他節(jié)點(diǎn)則處于空閑狀態(tài),導(dǎo)致整體計(jì)算效率下降。
2. 通信開(kāi)銷增加
過(guò)多的并行核心會(huì)導(dǎo)致通信頻率和復(fù)雜度增加,通信開(kāi)銷增大,從而拖慢計(jì)算速度。
3. 內(nèi)存管理問(wèn)題
在大規(guī)模并行計(jì)算中,內(nèi)存分配和管理變得更加復(fù)雜,可能出現(xiàn)內(nèi)存不足或內(nèi)存訪問(wèn)沖突等問(wèn)題,影響計(jì)算效率。
在實(shí)際測(cè)試中,使用不同規(guī)模的計(jì)算資源對(duì)同一組LS-DYNA任務(wù)進(jìn)行運(yùn)算,結(jié)果如下:
本地計(jì)算資源:
使用32、48、64核計(jì)算資源,耗時(shí)分別為821、566、439分鐘。
注:本地資源有限,無(wú)法提供更多資源測(cè)試,共進(jìn)行了3次作業(yè)提交,總計(jì)耗時(shí)1826分鐘。
云端計(jì)算優(yōu)化型實(shí)例:
使用32、48、64、128、256核計(jì)算資源,耗時(shí)分別為662、458、375、299、321分鐘。
注:云平臺(tái)資源充足,可同時(shí)進(jìn)行多個(gè)作業(yè)的提交和計(jì)算,即耗時(shí)662分鐘得出所有結(jié)果(測(cè)試效率提升約64%),得出該作業(yè)最佳并行規(guī)模為128核。
03 計(jì)算效率瓶頸解決方案
方案一:多次作業(yè)并行運(yùn)算,找出合適運(yùn)算規(guī)模
不同的大規(guī)模作業(yè)需要不同的優(yōu)化方式,其中包括優(yōu)化數(shù)據(jù)讀寫策略、優(yōu)化網(wǎng)格劃分、找到合適的最佳并行規(guī)模。
方案二:在線云平臺(tái)解決方案
SimForge?高性能仿真云平臺(tái)可以在線提供以下資源:
① 在線圖形界面
② 海量軟件提供計(jì)算支持
③ 多個(gè)大算力作業(yè)同步計(jì)算
④ 數(shù)據(jù)實(shí)時(shí)同步,快速展示傳輸
工程師必備
- 項(xiàng)目客服
- 培訓(xùn)客服
- 平臺(tái)客服
TOP




















