這是我們EDA云實證的第四期。
本期實證的主角是——Virtuoso。
半導體行業中使用范圍最廣的EDA應用之一。
1991年Virtuoso技術正式發布,最初作為掩模設計師的版圖工具,是Opus平臺的一部分,主要功能包括電路設計與仿真、版圖設計、設計驗證,以及模擬/數字混合設計等。
近30年來,Virtuoso產品已和最初有很大不同,但其核心仍然是版圖編輯器。
應用工具層面。Cadence一直致力于優化EDA應用算法和性能,提高自動化水平,將Virtuoso逐漸升級和擴展為集合多項新技術的系統設計平臺。
而從應用到云資源層,就由我們來發揮了。
我們針對EDA應用云原生適配,為IC研發設計人員提供一整套即開即用,快速上手的IC研發設計環境,系統性大幅提升研發效率。
我們到底是怎么做到的?
研發效率具體提高在哪些方面?
什么是即開即用的IC研發設計環境?好用嗎?改變原來習慣嗎?
以下是今天的正文:
用戶需求
某芯片設計公司做數模混合芯片,經常使用Virtuoso調用Spectre完成仿真任務,需要趕MPW shuttle,即將面臨多項目同時進行、項目關鍵時間節點相同的困境。
但公司CEO并不想單純靠增加本地機器來解決目前問題,一方面考慮到會對企業造成比較大的現金流壓力,另一方面公司并沒有專門的IT和CAD團隊。他對能不能用云解決現有問題十分重視,也直接和云廠商交流過,對我們的云上自動化和Auto-Scale功能很感興趣。
實證目標
1、fastone平臺是否支持在云端使用Virtuoso運行仿真任務?
2、通過平臺使用Virtuoso和本地差別大嗎?
3、Auto-Scale自動化伸縮具體怎么實現的?
4、Slurm調度器行不行?
實證參數
平臺:
fastone企業版產品
應用:
Cadence Virtuoso
適用場景:
數模混合電路設計及仿真
云端硬件配置:
Spectre仿真主要需要的是計算密集型CPU,所以平臺推薦的是計算優化型云端實例
調度器:
Slurm(關于調度器,下文會詳細講解)
技術架構圖:
一整套即開即用的IC研發設計環境
操作像吃了德芙般順滑
用戶對于在本地單機使用Virtuoso運行仿真任務,已經非常熟悉。
而對于在云上跑,用戶依然有以下疑問:
什么叫一整套?從哪一步到哪一步?
云上使用Virtuoso,操作方式會改變嗎?會不會很麻煩?
我們為用戶提供的產品,從登錄桌面、打開應用、配置仿真、提交任務、自動上云開機運行任務并自動關機、查看結果進行調試……用戶所需要的操作與本地幾乎完全一致,每一步只需在平臺上使用鼠標簡單點選即可完成。
我們說的“一整套”,就是這個意思。
至于操作方式會不會改變?
拿訪問集群舉例。
用戶訪問集群,既可以通過命令行,也可以通過WebVNC圖形界面方式直接訪問。
手動模式訪問集群,一共有五步, **往往還需要請IT先配置環境 ** :
1、在云端開一臺機器;
2、在云端安裝VNC服務并進行配置,有幾個用戶使用就需要配置幾個賬號;
3、在本地安裝VNC服務并進行配置;
4、在云端開啟VNC服務;
5、用戶使用各自賬號登錄客戶端VNC訪問云端。
我們為所有用戶免費提供WebVNC功能,自動化創建到訪問集群:
1、通過Web瀏覽器登錄fastone平臺;
2、在Web界面新建集群、配置資源;
3、在已創建的集群點擊WebVNC遠程桌面圖標(同時提供WebSSH遠程命令行功能);
4、跳轉到虛擬桌面,可在該桌面中操作Virtuoso。
我們還提供了統一的用戶認證,不同用戶可以直接訪問VNC,無需重新配置。
這種操作方式給用戶提供了熟悉的操作環境,使其能夠快速地遠程自動化訪問集群,避免了大量的手動部署,使用體驗更好。
在數據傳輸上,我們同樣為用戶提供了不改變操作習慣的DM工具,用戶無需在多套認證系統之間切換,使用統一的身份認證即可傳輸數據,并自動關聯云端集群進行計算,具體看這里《CAE云實證Vol.8:LS-DYNA求解效率深度測評 │ 六種規模,本地VS云端5種不同硬件配置》
當然,好處遠遠不止這些。
Auto-Scale自動伸縮就像仙女棒
變大變小變漂亮
fastone通過Auto-Scale功能實現自動化創建集群的過程,可以實現自動監控用戶提交的任務數量和資源的需求,動態按需地開啟所需算力資源,在提升效率的同時有效降低成本。
怎么讓仙女棒發揮作用?
先來設置一下:
下圖就是開啟Auto-Scale功能后,用戶某項目一周之內所調用云端計算資源的動態情況。
其中橙色曲線為OD實例的使用狀況,紅色曲線為SPOT的使用狀況。
OD:On-Demand,按需實例。針對短期彈性需求,按小時計費,但價格比較高。
SPOT:可被搶占實例,又稱競價實例。價格最低可達到按需實例價格的10%,相當于秒殺,手快有手慢無,隨時可能被搶占中斷,需要有一定的技術實力才能使用。
兩個重點:
第一、從圖中可以看到整個階段算力波峰為約3500核,而波谷只有650核左右。用戶使用資源是存在明顯的波峰波谷周期的。Auto-Scale功能可以根據任務運算情況動態開啟云端資源,并在波峰過去后自動關閉,讓資源的使用隨著用戶的需求自動擴張及縮小,最大程度匹配任務需求。
當然,用戶也可以選擇自己對最大最小值進行設置,加以限制。
這一方面節約了用戶成本,不需要時刻保持最高峰使用資源;
另一方面也最大限度保證了任務最大效率運行。
比如跑100個corner的仿真,以前只能同時跑10個,要花10天,現在可以同時跑100個,只要1天就可以完成。這兩種方式成本相同,為用戶節約出了顯著的時間差,大大縮短了任務運行周期,提升了研發效率。
第二、我們的Auto-Scale功能支持對不同計費模式(OD、SPOT)實例進行自動伸縮,OD按需實例價格通常為SPOT實例的3-10倍。
Auto-Scale功能可以根據不同的用戶策略,比如成本最優還是時間優先,自動化跨區、跨類型為用戶調度云資源,完成計算任務。
至于不同策略具體怎么落地執行?相比時間優先策略,成本優先怎么做到降低成本最多達67%-90%?在這篇實證《生信云實證Vol.3:提速2920倍!用AutoDockVina對接2800萬個分子》里體現得十分明顯。
不僅限于運行任務期間,其實早在創建集群的時候,自動化Auto-Scale過程就已經開始了。
在這篇Bladed實證里,fastone平臺在任務的不同階段采取不同的策略應對,除任務運行時間內全部云資源滿負荷運作以外,在數據處理和結果數據上傳階段均只開啟了1-2臺機器,而其他準備過程不需要開啟機器。
習慣了LSF/SGE
Slurm調度器到底行不行?
為什么選擇Slurm調度器?
Virtuoso應用原生支持的調度器有LSF和SGE。
LSF作為商業軟件,由IBM提供商業支持,是半導體行業最常用的調度器軟件。曾經衍生出的開源版Openlava在2016后IBM發起的版權訴訟之后,2018年正式被禁用。
SGE商業版在去年已經隨Univa被Altair收購。類似的,免費開源版已經長期無維護和更新,也存在版權風險。
LSF和SGE均按核時收費,價格不菲,如果在云端大規模使用,價格驚人,而且都需要購買單獨的Resource Connector或Navops Launch產品才能支持在云上使用。
而Slurm作為調度器四大流派里唯一的純開源派,就不受規模和費用的限制了。而且Slurm擁有容錯率高、支持異構資源、高度可擴展等優點,每秒可提交超過1000個任務,且由于是開放框架,高度可配置,擁有超過100種插件,因此適用性相當強。
所以我們優先選擇Slurm。
關于這四家主流調度器:LSF/SGE/Slurm/PBS以及它們的9個演化版本,可以看這篇文章《億萬打工人的夢:16萬個CPU隨你用》,我們進行了整體梳理和盤點,尤其是對云的支持方面劃了重點。
我們是怎么實現的?
答案是:SGE Wrapper。
Wrapper是什么呢?
可以看看下圖,可以看到同樣的命令在不同的調度器之間有不同的實現方式:
而Wrapper就像不同調度器命令語言中的翻譯器,我們相當于通過這個翻譯器,把Slurm語言翻譯成了Virtuoso聽得懂的SGE語言,于是應用就能正常運行啦。
關于不同調度器的使用效果。
我們曾經在ProteusOPC實證場景四中分別使用SGE和Slurm在云端和本地分別調度2000核/5000核運行相同OPC任務。
結論是:對于計算結果無影響。
關于調度器如何在多機器多任務的情況下提升資源利用率,并進行自動化管理,可以看這篇《EDA云實證Vol.7:揭秘20000個VCS任務背后的“搬桌子”系列故事》
任務監控還能搞出省錢大招?
根據我們對整個任務消耗資源狀態的監控,發現運算該組任務所使用的內存大部分時間在5G以下,但會有極短的一段時間(不超過半小時)達到17.5G。
從上圖中可以看到,Swap剩余量在短時間內從8.6G跌到了7.1G,隨后很快回升到了8.38G,也就是說如果沒有Swap,運行內存的瞬時缺口約為1.5G,勢必造成任務失敗。
Swap,交換分區,就是在內存不夠的情況下,操作系統先把內存中暫時不用的數據,存到硬盤的交換空間,騰出內存來讓別的程序運行。
如果配置16G的內存,任務最后會因此失敗。
但如果選擇配置32G內存,著實有點浪費,畢竟也就超了一點點。
而同等CPU資源下,配備32G內存的價格普遍要比16G貴1.4-1.9倍。
正是由于完備的監控和任務性能評估機制,我們建議用戶在云端運算時配備16G內存,同時使用Swap功能渡過這段內存波峰,以達到最高的性價比。
實證小結
1、fastone平臺支持在云端使用Virtuoso調用Spectre運行仿真任務;
2、用戶使用這套研發設計環境能閉環完成Virtuoso運行任務,且基本不改變用戶習慣;
3、fastone平臺的云上自動化模式和Auto-Scale功能能有效幫用戶縮短研發周期,同時降低使用成本;
4、Slurm調度器不會影響計算結果,是更具性價比及擴展性的選擇;
5、fastone平臺擁有完備的監控及任務性能評估機制。
本次EDA實證系列Vol.10就到這里了。
下一期我們聊HFSS。
-
半導體
+關注
關注
334文章
27527瀏覽量
219916 -
仿真
+關注
關注
50文章
4102瀏覽量
133739 -
eda
+關注
關注
71文章
2769瀏覽量
173442 -
Virtuoso
+關注
關注
4文章
17瀏覽量
25099
原文標題:Auto-Scale這支仙女棒如何大幅提升Virtuoso仿真效率?
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論