加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

Auto-Scale這支仙女棒如何大幅提升Virtuoso仿真效率?

2022/06/01
731
閱讀需 14 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

本期的主角是——Virtuoso。

半導(dǎo)體行業(yè)中使用范圍最廣的EDA應(yīng)用之一。

1991年Virtuoso技術(shù)正式發(fā)布,最初作為掩模設(shè)計(jì)師的版圖工具,是Opus平臺(tái)的一部分,主要功能包括電路設(shè)計(jì)與仿真、版圖設(shè)計(jì)、設(shè)計(jì)驗(yàn)證,以及模擬/數(shù)字混合設(shè)計(jì)等。

近30年來,Virtuoso產(chǎn)品已和最初有很大不同,但其核心仍然是版圖編輯器。

應(yīng)用工具層面。Cadence一直致力于優(yōu)化EDA應(yīng)用算法和性能,提高自動(dòng)化水平,將Virtuoso逐漸升級(jí)和擴(kuò)展為集合多項(xiàng)新技術(shù)的系統(tǒng)設(shè)計(jì)平臺(tái)。

而從應(yīng)用到云資源層,就由我們來發(fā)揮了。

我們針對(duì)EDA應(yīng)用云原生適配,為IC研發(fā)設(shè)計(jì)人員提供一整套即開即用,快速上手的IC研發(fā)設(shè)計(jì)環(huán)境,系統(tǒng)性大幅提升研發(fā)效率。

我們到底是怎么做到的?

研發(fā)效率具體提高在哪些方面?

什么是即開即用的IC研發(fā)設(shè)計(jì)環(huán)境?好用嗎?改變?cè)瓉砹?xí)慣嗎?

以下是今天的正文:

用戶需求

芯片設(shè)計(jì)公司做數(shù)?;旌闲酒?jīng)常使用Virtuoso調(diào)用Spectre完成仿真任務(wù),需要趕MPW shuttle,即將面臨多項(xiàng)目同時(shí)進(jìn)行、項(xiàng)目關(guān)鍵時(shí)間節(jié)點(diǎn)相同的困境。但公司CEO并不想單純靠增加本地機(jī)器來解決目前問題,一方面考慮到會(huì)對(duì)企業(yè)造成比較大的現(xiàn)金流壓力,另一方面公司并沒有專門的IT和CAD團(tuán)隊(duì)。他對(duì)能不能用云解決現(xiàn)有問題十分重視,也直接和云廠商交流過,對(duì)我們的云上自動(dòng)化和Auto-Scale功能很感興趣。

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

1、fastone平臺(tái)是否支持在云端使用Virtuoso運(yùn)行仿真任務(wù)?

2、通過平臺(tái)使用Virtuoso和本地差別大嗎?

3、Auto-Scale自動(dòng)化伸縮具體怎么實(shí)現(xiàn)的?

4、Slurm調(diào)度器行不行?

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

平臺(tái):fastone企業(yè)版產(chǎn)品

應(yīng)用:Cadence Virtuoso

適用場(chǎng)景:數(shù)?;旌想娐吩O(shè)計(jì)及仿真

云端硬件配置:Spectre仿真主要需要的是計(jì)算密集型CPU,所以平臺(tái)推薦的是計(jì)算優(yōu)化型云端實(shí)例

調(diào)度器:Slurm(關(guān)于調(diào)度器,下文會(huì)詳細(xì)講解)

技術(shù)架構(gòu)圖:

一整套即開即用的IC研發(fā)設(shè)計(jì)環(huán)境,操作像吃了德芙般順滑

用戶對(duì)于在本地單機(jī)使用Virtuoso運(yùn)行仿真任務(wù),已經(jīng)非常熟悉。而對(duì)于在云上跑,用戶依然有以下疑問:什么叫一整套?從哪一步到哪一步?云上使用Virtuoso,操作方式會(huì)改變嗎?會(huì)不會(huì)很麻煩?

我們?yōu)橛脩籼峁┑漠a(chǎn)品,從登錄桌面、打開應(yīng)用、配置仿真、提交任務(wù)、自動(dòng)上云開機(jī)運(yùn)行任務(wù)并自動(dòng)關(guān)機(jī)、查看結(jié)果進(jìn)行調(diào)試……用戶所需要的操作與本地幾乎完全一致,每一步只需在平臺(tái)上使用鼠標(biāo)簡單點(diǎn)選即可完成。

我們說的“一整套”,就是這個(gè)意思。 至于操作方式會(huì)不會(huì)改變?拿訪問集群舉例。用戶訪問集群,既可以通過命令行,也可以通過WebVNC圖形界面方式直接訪問。

手動(dòng)模式訪問集群,一共有五步,往往還需要請(qǐng)IT先配置環(huán)境 :1、在云端開一臺(tái)機(jī)器;2、在云端安裝VNC服務(wù)并進(jìn)行配置,有幾個(gè)用戶使用就需要配置幾個(gè)賬號(hào);3、在本地安裝VNC服務(wù)并進(jìn)行配置;4、在云端開啟VNC服務(wù);5、用戶使用各自賬號(hào)登錄客戶端VNC訪問云端。

我們?yōu)樗杏脩裘赓M(fèi)提供WebVNC功能,自動(dòng)化創(chuàng)建到訪問集群:1、通過Web瀏覽器登錄fastone平臺(tái);2、在Web界面新建集群、配置資源;3、在已創(chuàng)建的集群點(diǎn)擊WebVNC遠(yuǎn)程桌面圖標(biāo)(同時(shí)提供WebSSH遠(yuǎn)程命令行功能);4、跳轉(zhuǎn)到虛擬桌面,可在該桌面中操作Virtuoso。

我們還提供了統(tǒng)一的用戶認(rèn)證,不同用戶可以直接訪問VNC,無需重新配置。這種操作方式給用戶提供了熟悉的操作環(huán)境,使其能夠快速地遠(yuǎn)程自動(dòng)化訪問集群,避免了大量的手動(dòng)部署,使用體驗(yàn)更好。 在數(shù)據(jù)傳輸上,我們同樣為用戶提供了不改變操作習(xí)慣的DM工具,用戶無需在多套認(rèn)證系統(tǒng)之間切換,使用統(tǒng)一的身份認(rèn)證即可傳輸數(shù)據(jù),并自動(dòng)關(guān)聯(lián)云端集群進(jìn)行計(jì)算,具體看這里《CAE云實(shí)證Vol.8:LS-DYNA求解效率深度測(cè)評(píng) │ 六種規(guī)模,本地VS云端5種不同硬件配置》

當(dāng)然,好處遠(yuǎn)遠(yuǎn)不止這些。 

Auto-Scale自動(dòng)伸縮就像仙女棒變大變小變漂亮

fastone通過Auto-Scale功能實(shí)現(xiàn)自動(dòng)化創(chuàng)建集群的過程,可以實(shí)現(xiàn)自動(dòng)監(jiān)控用戶提交的任務(wù)數(shù)量和資源的需求,動(dòng)態(tài)按需地開啟所需算力資源,在提升效率的同時(shí)有效降低成本。 怎么讓仙女棒發(fā)揮作用? 先來設(shè)置一下:

下圖就是開啟Auto-Scale功能后,用戶某項(xiàng)目一周之內(nèi)所調(diào)用云端計(jì)算資源的動(dòng)態(tài)情況。其中橙色曲線為OD實(shí)例的使用狀況,紅色曲線為SPOT的使用狀況。OD:On-Demand,按需實(shí)例。針對(duì)短期彈性需求,按小時(shí)計(jì)費(fèi),但價(jià)格比較高。SPOT:可被搶占實(shí)例,又稱競(jìng)價(jià)實(shí)例。價(jià)格最低可達(dá)到按需實(shí)例價(jià)格的10%,相當(dāng)于秒殺,手快有手慢無,隨時(shí)可能被搶占中斷,需要有一定的技術(shù)實(shí)力才能使用。

兩個(gè)重點(diǎn):

第一、從圖中可以看到整個(gè)階段算力波峰為約3500核,而波谷只有650核左右。用戶使用資源是存在明顯的波峰波谷周期的。Auto-Scale功能可以根據(jù)任務(wù)運(yùn)算情況動(dòng)態(tài)開啟云端資源,并在波峰過去后自動(dòng)關(guān)閉,讓資源的使用隨著用戶的需求自動(dòng)擴(kuò)張及縮小,最大程度匹配任務(wù)需求。當(dāng)然,用戶也可以選擇自己對(duì)最大最小值進(jìn)行設(shè)置,加以限制。

這一方面節(jié)約了用戶成本,不需要時(shí)刻保持最高峰使用資源;另一方面也最大限度保證了任務(wù)最大效率運(yùn)行。比如跑100個(gè)corner的仿真,以前只能同時(shí)跑10個(gè),要花10天,現(xiàn)在可以同時(shí)跑100個(gè),只要1天就可以完成。這兩種方式成本相同,為用戶節(jié)約出了顯著的時(shí)間差,大大縮短了任務(wù)運(yùn)行周期,提升了研發(fā)效率。

第二、我們的Auto-Scale功能支持對(duì)不同計(jì)費(fèi)模式(OD、SPOT)實(shí)例進(jìn)行自動(dòng)伸縮,OD按需實(shí)例價(jià)格通常為SPOT實(shí)例的3-10倍。

Auto-Scale功能可以根據(jù)不同的用戶策略,比如成本最優(yōu)還是時(shí)間優(yōu)先,自動(dòng)化跨區(qū)、跨類型為用戶調(diào)度云資源,完成計(jì)算任務(wù)。

至于不同策略具體怎么落地執(zhí)行?相比時(shí)間優(yōu)先策略,成本優(yōu)先怎么做到降低成本最多達(dá)67%-90%?在這篇實(shí)證《生信云實(shí)證Vol.3:提速2920倍!用AutoDockVina對(duì)接2800萬個(gè)分子》里體現(xiàn)得十分明顯。

不僅限于運(yùn)行任務(wù)期間,其實(shí)早在創(chuàng)建集群的時(shí)候,自動(dòng)化Auto-Scale過程就已經(jīng)開始了。在這篇Bladed實(shí)證里,fastone平臺(tái)在任務(wù)的不同階段采取不同的策略應(yīng)對(duì),除任務(wù)運(yùn)行時(shí)間內(nèi)全部云資源滿負(fù)荷運(yùn)作以外,在數(shù)據(jù)處理和結(jié)果數(shù)據(jù)上傳階段均只開啟了1-2臺(tái)機(jī)器,而其他準(zhǔn)備過程不需要開啟機(jī)器。

習(xí)慣了LSF/SGESlurm調(diào)度器到底行不行?

為什么選擇Slurm調(diào)度器?

Virtuoso應(yīng)用原生支持的調(diào)度器有LSF和SGE。LSF作為商業(yè)軟件,由IBM提供商業(yè)支持,是半導(dǎo)體行業(yè)最常用的調(diào)度器軟件。曾經(jīng)衍生出的開源版Openlava在2016后IBM發(fā)起的版權(quán)訴訟之后,2018年正式被禁用。SGE商業(yè)版在去年已經(jīng)隨Univa被Altair收購。類似的,免費(fèi)開源版已經(jīng)長期無維護(hù)和更新,也存在版權(quán)風(fēng)險(xiǎn)。

LSF和SGE均按核時(shí)收費(fèi),價(jià)格不菲,如果在云端大規(guī)模使用,價(jià)格驚人,而且都需要購買單獨(dú)的Resource Connector或Navops Launch產(chǎn)品才能支持在云上使用。

而Slurm作為調(diào)度器四大流派里唯一的純開源派,就不受規(guī)模和費(fèi)用的限制了。而且Slurm擁有容錯(cuò)率高、支持異構(gòu)資源、高度可擴(kuò)展等優(yōu)點(diǎn),每秒可提交超過1000個(gè)任務(wù),且由于是開放框架,高度可配置,擁有超過100種插件,因此適用性相當(dāng)強(qiáng)。所以我們優(yōu)先選擇Slurm。

關(guān)于這四家主流調(diào)度器:LSF/SGE/Slurm/PBS以及它們的9個(gè)演化版本,可以看這篇文章《億萬打工人的夢(mèng):16萬個(gè)CPU隨你用》,我們進(jìn)行了整體梳理和盤點(diǎn),尤其是對(duì)云的支持方面劃了重點(diǎn)。

我們是怎么實(shí)現(xiàn)的?答案是:SGE Wrapper。

Wrapper是什么呢?可以看看下圖,可以看到同樣的命令在不同的調(diào)度器之間有不同的實(shí)現(xiàn)方式:

而Wrapper就像不同調(diào)度器命令語言中的翻譯器,我們相當(dāng)于通過這個(gè)翻譯器,把Slurm語言翻譯成了Virtuoso聽得懂的SGE語言,于是應(yīng)用就能正常運(yùn)行啦。

關(guān)于不同調(diào)度器的使用效果。我們?cè)?jīng)在Proteus™ OPC實(shí)證場(chǎng)景四中分別使用SGE和Slurm在云端和本地分別調(diào)度2000核/5000核運(yùn)行相同OPC任務(wù)。

結(jié)論是:對(duì)于計(jì)算結(jié)果無影響。 

關(guān)于調(diào)度器如何在多機(jī)器多任務(wù)的情況下提升資源利用率,并進(jìn)行自動(dòng)化管理,可以看這篇《EDA云實(shí)證Vol.7:揭秘20000個(gè)VCS任務(wù)背后的“搬桌子”系列故事》 

任務(wù)監(jiān)控還能搞出省錢大招?

根據(jù)我們對(duì)整個(gè)任務(wù)消耗資源狀態(tài)的監(jiān)控,發(fā)現(xiàn)運(yùn)算該組任務(wù)所使用的內(nèi)存大部分時(shí)間在5G以下,但會(huì)有極短的一段時(shí)間(不超過半小時(shí))達(dá)到17.5G。

從上圖中可以看到,Swap剩余量在短時(shí)間內(nèi)從8.6G跌到了7.1G,隨后很快回升到了8.38G,也就是說如果沒有Swap,運(yùn)行內(nèi)存的瞬時(shí)缺口約為1.5G,勢(shì)必造成任務(wù)失敗。

Swap,交換分區(qū),就是在內(nèi)存不夠的情況下,操作系統(tǒng)先把內(nèi)存中暫時(shí)不用的數(shù)據(jù),存到硬盤的交換空間,騰出內(nèi)存來讓別的程序運(yùn)行。

如果配置16G的內(nèi)存,任務(wù)最后會(huì)因此失敗。但如果選擇配置32G內(nèi)存,著實(shí)有點(diǎn)浪費(fèi),畢竟也就超了一點(diǎn)點(diǎn)。而同等CPU資源下,配備32G內(nèi)存的價(jià)格普遍要比16G貴1.4-1.9倍。

正是由于完備的監(jiān)控和任務(wù)性能評(píng)估機(jī)制,我們建議用戶在云端運(yùn)算時(shí)配備16G內(nèi)存,同時(shí)使用Swap功能渡過這段內(nèi)存波峰,以達(dá)到最高的性價(jià)比。

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

1、fastone平臺(tái)支持在云端使用Virtuoso調(diào)用Spectre運(yùn)行仿真任務(wù);

2、用戶使用這套研發(fā)設(shè)計(jì)環(huán)境能閉環(huán)完成Virtuoso運(yùn)行任務(wù),且基本不改變用戶習(xí)慣;

3、fastone平臺(tái)的云上自動(dòng)化模式和Auto-Scale功能能有效幫用戶縮短研發(fā)周期,同時(shí)降低使用成本;

4、Slurm調(diào)度器不會(huì)影響計(jì)算結(jié)果,是更具性價(jià)比及擴(kuò)展性的選擇;

5、fastone平臺(tái)擁有完備的監(jiān)控及任務(wù)性能評(píng)估機(jī)制。

本次EDA實(shí)證系列Vol.10就到這里了。下一期我們聊HFSS。

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

微信公眾號(hào)“老石談芯”主理人,博士畢業(yè)于倫敦帝國理工大學(xué)電子工程系,現(xiàn)任某知名半導(dǎo)體公司高級(jí)FPGA研發(fā)工程師,從事基于FPGA的數(shù)據(jù)中心網(wǎng)絡(luò)加速、網(wǎng)絡(luò)功能虛擬化、高速有線網(wǎng)絡(luò)通信等領(lǐng)域的研發(fā)和創(chuàng)新工作。曾經(jīng)針對(duì)FPGA、高性能與可重構(gòu)計(jì)算等技術(shù)在學(xué)術(shù)界頂級(jí)會(huì)議和期刊上發(fā)表過多篇研究論文。