《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > EDA與制造 > 業(yè)界動態(tài) > 揭秘20000個VCS任務(wù)背后的“搬桌子”系列故事

揭秘20000個VCS任務(wù)背后的“搬桌子”系列故事

2021-04-14
來源:電子工程專輯
關(guān)鍵詞: 新思科技 VCS EDA

  新思科技(Synopsys)家的VCS,,在半導(dǎo)體行業(yè)使用率極高,背景我們就不多說了,。

  對經(jīng)常跑EDA或其他算力密集型任務(wù)的用戶來說,,在深度掌握本行業(yè)業(yè)務(wù)知識及熟練運(yùn)用常見EDA工具以外,通常還需要在技能樹上點(diǎn)上一門技能——IT,,就是怎么(順利)使用機(jī)器把手里的任務(wù)給(高效)跑完,。

  他們的IT技能升級打怪之旅一般分為三個階段:

  第一階段:單機(jī)單CPU核,單任務(wù)

  第二階段:單機(jī)多CPU核,,多任務(wù)

  第三階段:多機(jī)多CPU核,,多任務(wù)

  據(jù)我們觀察,很多用戶都已經(jīng)處在第二階段,。

  但是,,依然有部分用戶尚處在第一階段,比如我們今天的實(shí)證主角,。

  我們之前的六篇實(shí)證都直接一步到位——上云后,。

  HSPICE │ Bladed │ Vina │ OPC │ Fluent │ Amber

  今天我們看看上云前的幕后系列,又名:搬桌子的故事,。

  用戶需求

  某IC設(shè)計公司運(yùn)行EDA仿真前端設(shè)計和后端設(shè)計的分析任務(wù),,進(jìn)行機(jī)電一體芯片技術(shù)的開發(fā)。現(xiàn)有機(jī)房設(shè)備較為老舊,,共有8臺單機(jī),,需要同時服務(wù)數(shù)字和模擬兩個研發(fā)部門。

  隨著公司業(yè)務(wù)的發(fā)展,,相關(guān)部門負(fù)責(zé)人幾乎同時反饋業(yè)務(wù)峰值時計算資源嚴(yán)重不足,,排隊(duì)現(xiàn)象嚴(yán)重。

  實(shí)證目標(biāo)

  1,、fastone平臺是否能有效提升VCS任務(wù)運(yùn)行效率,?

  2、fastone平臺是否能有效提升本地機(jī)器資源利用率,?

  3,、fastone平臺是否支持大規(guī)模VCS任務(wù)自動化穩(wěn)定運(yùn)行,?

  實(shí)證參數(shù)

  平臺:

  fastone企業(yè)版產(chǎn)品

  應(yīng)用:

  Synopsys VCS

  適用場景:

  數(shù)模混合電路仿真

  系統(tǒng):

  Red Hat Enterprise release 5.7(Tikanga)

  實(shí)證結(jié)果

  我們先來看看用戶自己跑20000個任務(wù)和我們來跑的效果:

  大規(guī)模任務(wù)驗(yàn)證 20000個任務(wù)

  我們將本地機(jī)房的8臺單機(jī)構(gòu)建為一個統(tǒng)一管理的集群,,運(yùn)行20000個VCS任務(wù)的時間是用戶自己所需時間的約1/50,。

  3.png

  實(shí)證過程:

  1、用戶使用一臺單機(jī)C1運(yùn)行20000個VCS任務(wù),,耗時40485分鐘,;

  2、將本地機(jī)房的所有8臺單機(jī)構(gòu)建為集群A,,使用集群A運(yùn)行20000個VCS任務(wù),,耗時809分鐘。

4.png

  用戶按常理推斷,,本地機(jī)房共有8臺單機(jī),,將所有機(jī)器一起來運(yùn)行大規(guī)模VCS任務(wù)的時間大概應(yīng)該是使用一臺機(jī)器機(jī)耗時的6-7倍(理想值為8倍,但由于存在長尾任務(wù),,存在一定差異),。

  但實(shí)證中50倍的提升大大超出了他們的預(yù)期。

  中間發(fā)生了什么,?

  回到我們開頭說的三個階段——

  第一階段:單機(jī)單CPU核,,單任務(wù)

  單任務(wù)狀態(tài)下的單機(jī)單核,就是一個任務(wù)只在一臺機(jī)器上的一個CPU上跑,。不管這臺機(jī)器其實(shí)有幾個CPU,,反正就只用一個。資源利用率極其低下,,可以說是暴殄天物,。

  再細(xì)一點(diǎn),這里其實(shí)還有個1.5階段:單機(jī)多CPU核,,單任務(wù),。效果類似。

  假設(shè)給你幾個人(CPU核),,完成一個叫做“搬桌子”的任務(wù),。

  單任務(wù)的處理方式分為單進(jìn)程和多進(jìn)程:

  單進(jìn)程的處理方式是:

  不管你有幾個人,同一時間永遠(yuǎn)只有1個人在搬整張桌子,,其他人在圍觀,。

  5.png

  多進(jìn)程的處理方式是:

  先拆桌子。比如把一張桌子拆成4個零部件,,分給4個人來同時搬,,有的搬桌子腿,有的搬桌面等等,搬得最慢的人決定任務(wù)的完成速度,。

  但是,,哪怕你有8個人,一次也只有4個人在搬,。

  搬完一張桌子再搬下一張,依次往復(fù),。

 6.png

  補(bǔ)充一個背景信息:2009年4月,,新思科技就發(fā)布了VCS的多核技術(shù),通過將耗時的計算處理動態(tài)地分配至多個CPU內(nèi)核來突破芯片驗(yàn)證的瓶頸,,從而提高驗(yàn)證的速度,。

  也就是說,應(yīng)用十多年前就支持單任務(wù)多進(jìn)程了,,現(xiàn)在這個技術(shù)的名字叫Fine-Grained Parallelism,,F(xiàn)GP。

  7.png

  第二階段:單機(jī)多CPU核,,多任務(wù)

  多任務(wù)狀態(tài)下的單機(jī)多核,,就是多個任務(wù)能同時在一臺機(jī)器上的數(shù)個CPU上跑,受制于單臺機(jī)器的最大核數(shù),,目前最多也就96個核了,。

  我們繼續(xù)講“搬桌子”。

  上一階段的多進(jìn)程處理方式,,存在一個明顯的問題,。哪怕你有8個人,一次也只有4個人在搬,。搬完一張桌子再搬下一張,。

  這就很不合理了。

  于是我們在此基礎(chǔ)上改進(jìn)了一下,。

  在你有8個人的情況下,,一張桌子4個人搬,我們可以同時搬兩張桌子啦,。這樣可以明顯加快任務(wù)的完成速度,。

  但是,單臺機(jī)器的總CPU核數(shù)就是上限了,。

  8.png

  當(dāng)然這一階段還是會存在一些問題,,會出現(xiàn)有人突然跳出來跟你搶人或者你也搞不清楚哪些人現(xiàn)在有空來幫你。

  因?yàn)橘Y源使用的不透明和缺乏有序管理,,會出現(xiàn)不同人對同一資源的爭搶,,任務(wù)排隊(duì)等現(xiàn)象。同時,你會發(fā)現(xiàn)資源利用率還是不高,。

  不少用戶已經(jīng)處在這一階段,。

  我們看看從第一階段到第二階段的實(shí)際VCS驗(yàn)證效果:

  應(yīng)用并行化驗(yàn)證

  400個任務(wù)

  對VCS進(jìn)行多任務(wù)并行化處理后,一臺單機(jī)運(yùn)行相同VCS任務(wù)的時間縮短為原先的15%-16%,,極大提升了運(yùn)行效率,。

  實(shí)證過程:

  1、使用一臺單機(jī)C1(8核)運(yùn)行400個VCS任務(wù),,耗時806分鐘,;

  2、使用一臺單機(jī)C2(8核)運(yùn)行400個VCS任務(wù),,耗時793分鐘,;

  3、對VCS應(yīng)用進(jìn)行多任務(wù)并行化處理后,,使用一臺單機(jī)C1(8核)運(yùn)行400個VCS任務(wù),,耗時130分鐘;

  4,、對VCS應(yīng)用進(jìn)行多任務(wù)并行化處理后,,使用一臺單機(jī)C2(8核)運(yùn)行400個VCS任務(wù),耗時122分鐘,。

 9.png

  第三階段:多機(jī)多CPU核,,多任務(wù)

  多任務(wù)狀態(tài)下的多機(jī)多核,就是多個任務(wù)能同時在數(shù)臺機(jī)器的數(shù)個CPU上跑,,這個我們稱之為集群化管理,,一般都需要有調(diào)度器的參與。

  關(guān)于調(diào)度器的相關(guān)知識,,看這里:億萬打工人的夢:16萬個CPU隨你用

  前面講到我們已經(jīng)可以同時安排搬兩張桌子啦,。

  但其實(shí),如果你的機(jī)器足夠多,,人(CPU核)足夠多,,你完全可以同時搬更多的桌子。

  10.png

  這個時候,,必然要面臨一個如何調(diào)兵遣將的問題,。

  這么多機(jī)器,這么多任務(wù),,怎么順利一一配置,、啟動、關(guān)閉,,提高整體資源利用率,,最好還能自動化管理等等,。這就需要一點(diǎn)技術(shù)了。

  至于云上資源的大規(guī)模動態(tài)化調(diào)度和管理,,要更加高階一點(diǎn),。

  在《生信云實(shí)證Vol.3:提速2920倍!用AutoDockVina對接2800萬個分子》中,,我們最多調(diào)用了10萬核CPU資源對整個VS數(shù)據(jù)庫進(jìn)行虛擬篩選,。

  11.png

  當(dāng)集群達(dá)到如此規(guī)模之后,手動管理是不可想象的,。

  而且云上資源跟本地不同,,往往是個動態(tài)使用的過程,有時候甚至要搶,。

  更不用說還要考慮不同用戶在不同階段的策略和需求。

  我們看看從第二階段到第三階段的實(shí)際VCS驗(yàn)證效果:

  集群化驗(yàn)證

  400個任務(wù)

  由2臺單機(jī)構(gòu)建的集群運(yùn)行相同VCS任務(wù)的時間為單機(jī)的約60%,,并實(shí)現(xiàn)了自動化資源管理,。

  實(shí)證過程:

  1、使用一臺單機(jī)C1(8核)運(yùn)行400個VCS任務(wù),,耗時130分鐘,;

  2、使用一臺單機(jī)C2(8核)運(yùn)行400個VCS任務(wù),,耗時122分鐘,;

  3、將C1和C2構(gòu)建為集群B,,使用集群B運(yùn)行400個VCS任務(wù),,耗時75分鐘。

  12.png

  最后,,我們回顧一下,,我們到底做了哪些事:

  應(yīng)用并行化:從單任務(wù)到多任務(wù)

  fastone幫助用戶實(shí)現(xiàn)了應(yīng)用并行化,可以充分使用一臺單機(jī)上的全部CPU資源,,確保了最大的計算效率,。

  資源集群化:從單機(jī)到集群

  fastone幫助用戶實(shí)現(xiàn)了集群化管理,讓多臺機(jī)器能夠并行化運(yùn)行VCS任務(wù),,實(shí)現(xiàn)了數(shù)據(jù),、應(yīng)用、資源的統(tǒng)一化管理,。

  規(guī)模自動化:從400個任務(wù)到20000個任務(wù)

  用戶希望在面臨大規(guī)模VCS任務(wù)時,,上述方案的穩(wěn)定性能夠得到充分驗(yàn)證。

  fastone幫助用戶充分驗(yàn)證了20000個VCS任務(wù)場景下,,能夠自動化規(guī)?;卣{(diào)度資源高效完成任務(wù),滿足用戶需求。

  到現(xiàn)在為止,,我們成功幫助用戶從單機(jī)單任務(wù)單進(jìn)程運(yùn)行的階段大幅度跨越到了大規(guī)模任務(wù)自動化集群化運(yùn)行階段,。

  萬事俱備,下一步,,上云,。

  我們的前兩篇EDA云實(shí)證可以了解一下:

  《從30天到17小時,如何讓HSPICE仿真效率提升42倍,?》

  《國內(nèi)最大規(guī)模OPC上云,,5000核并行,效率提升53倍》

  本次EDA行業(yè)云實(shí)證系列Vol.7就到這里了,。

  下一期的EDA云實(shí)證,,我們聊Virtuoso。

  請保持關(guān)注哦,!

 

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]