上一篇《EDA云實證Vol.1:從30天到17小時,如何讓HSPICE仿真效率提升42倍?》里,我們幫一家Design House提高了使用HSPICE進行芯片設計仿真的效率。
而設計好的集成電路圖案需要通過光刻機轉印到晶圓上才能完成制造,這就是芯片制造中最重要的一個步驟——光刻。
在先進工藝特別是 FinFET 工藝中,計算光刻已經成為光刻工藝研發的核心。
光學鄰近效應校正(Optical Proximity Correction,OPC)屬于計算光刻技術的一種,主要是利用軟件和高性能計算,來模擬仿真光刻過程中的光學和化學過程,通過仿真建立精確的計算模型,然后調整圖形的邊沿不斷仿真迭代,直到逼近理想的圖形,最終加速工藝研發周期的目標。
這一過程對計算資源的需求隨著模型的精確度呈指數級別增長。
舉個例子,一款7nm芯片需要高達100層的光罩,每層光罩數據都需要使用EDA工具進行OPC的過程。整個過程對硬件算力要求很高,EDA工具需要運行在幾千核的服務器CPU上,動輒就是幾十萬核時。
我們通過今天的實證驗證了如何在不同場景下,大幅幫用戶縮短OPC運行時間,同時確保云端和本地計算結果的完全一致性和計算性能的穩定性。
這次實證涉及的場景很細致,既有License服務器的配置地點,又有不同調度器,還一一對云上計算結果和本地做了數據對比,使用的計算資源數量跨度也很大,從80-5000核不等,非常細致,極具參考性。
實證背景信息
A社是一家大型IC設計公司,隨著近年業務規模不斷擴大,OPC相關計算需求增大。
但A社本地機房空間不足,原先傳統托管IDC模式也難以滿足彈性需求,導致大量任務出現排隊,無法及時輸出成果,拖慢了整個IC研發進程。
公司希望在本地建設和IDC托管之外,尋求具備彈性的大規模算力來滿足業務高峰期的需求,來滿足業務擴展需求。
實證目標
1、OPC任務能否在云端有效運行?
2、fastone平臺能否滿足業務彈性資源需求,有效減少OPC運行時間?
3、License Server配置在本地和云端對計算性能/一致性/穩定性是否有影響?
4、fastone能否支持不同調度器SGE/Slurm?使用不同調度器對計算性能/一致性/穩定性是否有影響?
5、fastone平臺的云端輸出計算結果是否與本地完全一致?
實證參數
平臺:
fastone企業版產品
應用:
Synopsys Proteus?OPC
適用場景:
在提交設計到制造之前,模擬仿真光學鄰近效應校正,從理論上探索增大最小可分辨特征尺寸(Minimum Resolvable Feature size,MRF)和工藝窗口(Process Window,PW)的途徑,指導工藝參數的優化。
License配置:
本次實證分別驗證了License Server部署在本地和云端的表現。
云端硬件配置:
本次實證涉及的考察因素比較多,尤其是本地和云上進行了同步一對一對比。用戶希望和本地硬件配置盡量保持一致,有更好的可比性,所以選擇了跟本地接近的內存密集型實例機型。
調度器:
本次實證同時采用了SGE和Slurm兩種調度器。
技術架構圖:
兩個紅框表示EDA License Server分別部署在本地或云端。
應A社對于數據保密的要求,
本實證所有數據均經過處理。
實證場景一
5000核大規模OPC業務上云驗證
結論:
1、云端調度5000核計算資源運算一組OPC任務,耗時為80核計算資源運算耗時的0.019倍,相當于從一個月縮短到13.8小時;
2、公有云廠商大內存型資源數量不算多,單個區域想要一次性獲取高達5000核的內存型實例很難實現。fastone平臺的Auto-Scale功能可在較短時間內,根據用戶需求,自動化跨區調度到大量目標類型計算資源。
實證過程:
1、云端調度80核計算資源運算一組任務,耗時為x;
5、云端調度5000核計算資源運算一組任務,耗時為0.019x。
關于通過fastone平臺的Auto-Scale功能基于用戶時間優先策略和成本優先策略自動調度本區域及其他區域的目標類型或相似類型實例資源,這篇文章《生信云實證Vol.3:提速2920倍!用AutoDock Vina對接2800萬個分子》里有詳細說明。
實證場景二
License Server配置在本地VS云端
云上VS本地:計算性能/一致性/穩定性驗證
結論:
1、License Server部署在本地和云端對于計算結果無影響;
2、云端和本地分別運行相同OPC任務:
計算性能:云上計算時間均優于本地;
一致性:云端和本地計算結果均完全一致;
穩定性:集群運行均無中斷,GUI啟動均正常。
實證過程:
1、License Server部署在本地,云上調度80/240/480/1600/3200/5000核計算資源運行OPC任務,本地同步運行80/240/480/1600/3200/5000核相同OPC任務;
2、License Server部署在云端,云上調度80/240/480/1600/3200/5000核計算資源運行OPC任務,本地同步運行80/240/480/1600/3200/5000核相同OPC任務。
實證場景三
License Server配置在本地VS云端
云端擴展性驗證
結論一:
1、License Server配置在本地,使用云端資源運算OPC任務,性能隨資源增加線性提升。
注:參考值分別為:80核-1、240核-0.3333、480核-0.1667、1600核-0.05、3200核-0.025,5000核-0.016。
實證過程:
將License Server部署在本地:
1、云端調度80核計算資源運算Case1,耗時為x;
2、云端調度240核計算資源運算Case1,耗時為0.3375x;
3、云端調度480核計算資源運算Case1,耗時為0.1679x;
4、云端調度1600核計算資源運算Case1,耗時為0.0518x;
5、云端調度3200核計算資源運算Case1,耗時為0.0285x;
6、云端調度5000核計算資源運算Case1,耗時為0.0216x;
7、云端調度80核計算資源運算Case2,耗時為y;
8、云端調度240核計算資源運算Case2,耗時為0.3389y;
9、云端調度480核計算資源運算Case2,耗時為0.1682y;
10、云端調度1600核計算資源運算Case2,耗時為0.0529y;
11、云端調度3200核計算資源運算Case2,耗時為0.0300y;
12、云端調度5000核計算資源運算Case2,耗時為0.0230y。
結論二:
License Server配置在云端,使用云端資源運算OPC任務,性能隨資源增加線性提升。
注:參考值分別為:80核-1、240核-0.3333、480核-0.1667、1600核-0.05、3200核-0.025,5000核-0.016。
實證過程:
將License Server部署在云端:
1、云端調度80核計算資源運算Case1,耗時為x;
2、云端調度240核計算資源運算Case1,耗時為0.3346x;
3、云端調度480核計算資源運算Case1,耗時為0.1672x;
4、云端調度1600核計算資源運算Case1,耗時為0.0515x;
5、云端調度3200核計算資源運算Case1,耗時為0.0270x;
6、云端調度5000核計算資源運算Case1,耗時為0.0191x;
7、云端調度80核計算資源運算Case2,耗時為y;
8、云端調度240核計算資源運算Case2,耗時為0.3390y;
9、云端調度480核計算資源運算Case2,耗時為0.1691y;
10、云端調度1600核計算資源運算Case2,耗時為0.0588y;
11、云端調度3200核計算資源運算Case2,耗時為0.0329y;
12、云端調度5000核計算資源運算Case2,耗時為0.0262y。
實證場景四
不同調度器驗證:SGE VS Slurm
云端2000核/5000核
結論:
1、分別使用SGE和Slurm調度云端2000核/5000核運行相同OPC任務,對于計算結果無影響;
2、云端和本地使用不同調度器分別運行相同OPC任務:
計算性能:云上計算時間均優于本地;
一致性:云端和本地計算結果均完全一致
穩定性:集群運行均無中斷,GUI啟動均正常。
實證過程:
1、使用SGE調度器,云上調度2000核計算資源運算一組OPC任務,本地同步運行2000核相同OPC任務;
2、使用SGE調度器,云上調度5000核計算資源運算一組OPC任務,本地同步運行5000核相同OPC任務;
3、使用Slurm調度器,云上調度2000核計算資源運算一組OPC任務,本地同步運行2000核相同OPC任務;
4、使用Slurm調度器,云上調度5000核計算資源運算一組OPC任務,本地同步運行5000核相同OPC任務。
這篇文章《億萬打工人的夢:16萬個CPU隨你用》里,我們基于這四家主流調度器:LSF/SGE/Slurm/PBS以及它們的9個演化版本進行了梳理和盤點,尤其是對云的支持方面劃了重點。可以了解一下。
實證小結
1、Proteus?OPC任務在云端能有效運行;
2、fastone平臺能夠大幅度縮短OPC任務運行時間;
3、License Server配置在本地和云端,對計算性能/一致性/穩定性沒有影響;
4、fastone平臺使用不同調度器SGE/Slurm,對計算性能/一致性/穩定性沒有影響;
5、云端和本地運行相同OPC任務,對計算結果沒有影響。
本次EDA行業Cloud HPC實證系列Vol.4就到這里了。
在下一期實證中,我們將對Virtuoso使用速石平臺進行驗證。請保持關注哦!