博客專欄

EEPW首頁(yè) > 博客 > 算法資源波動(dòng)比肩過(guò)山車(chē)?那一定是你的打開(kāi)方式不對(duì)

算法資源波動(dòng)比肩過(guò)山車(chē)?那一定是你的打開(kāi)方式不對(duì)

發(fā)布人:傳感器技術(shù) 時(shí)間:2023-03-01 來(lái)源:工程師 發(fā)布文章

《芯片設(shè)計(jì)五部曲》:模擬IC、數(shù)字IC、算法仿真、存儲(chǔ)芯片和總結(jié)篇(排名不分先后

芯片設(shè)計(jì)五部曲之一 | 聲光魔法師——模擬IC

芯片設(shè)計(jì)五部曲之二 |? 圖靈藝術(shù)家——數(shù)字IC

上兩集我們已經(jīng)分別深入了模擬IC和數(shù)字IC設(shè)計(jì)全流程,結(jié)合EDA工具特性和原理,講述怎么利用計(jì)算機(jī)技術(shù)提高模擬與數(shù)字芯片的研發(fā)設(shè)計(jì)效率。

這一集,我們把其中的算法仿真部分拉出來(lái)展開(kāi)說(shuō)說(shuō)。


第三集:算法仿真


算法是對(duì)芯片系統(tǒng)進(jìn)行的整體戰(zhàn)略規(guī)劃,決定了芯片各個(gè)模塊功能定義及實(shí)現(xiàn)方式,指引著整個(gè)芯片設(shè)計(jì)的目標(biāo)和方向。可謂,牽一發(fā)而動(dòng)全身。

不管是模擬IC還是數(shù)字IC設(shè)計(jì),算法仿真都是一步。通常,會(huì)由算法工程師組成獨(dú)立的算法團(tuán)隊(duì)。

圖片

CPU/GPU本應(yīng)該是算法仿真的???,但因?yàn)闅v史比較悠久,發(fā)展成熟,市場(chǎng)幾乎被英偉達(dá)和AMD壟斷,很多IC設(shè)計(jì)公司選擇直接采購(gòu)IP的方式跳過(guò)這一步。

近幾年,無(wú)線通信芯片成為了算法業(yè)務(wù)的最大甲方。因?yàn)檫@類芯片的信號(hào)編解碼與頻譜遷移時(shí)方式十分復(fù)雜,再加上種類繁多,各國(guó)的通信協(xié)議、標(biāo)準(zhǔn)、頻率也在不斷變化。隨著我國(guó)5G通信標(biāo)準(zhǔn)的放開(kāi),算法仿真的地位與日俱進(jìn)。

另一個(gè)涉及大量算法業(yè)務(wù)的場(chǎng)景是AI芯片,應(yīng)用場(chǎng)景小到手機(jī)、智能家電,大至汽車(chē)。


跟前兩篇數(shù)字和模擬IC的設(shè)計(jì)場(chǎng)景相比,算法仿真有著非常不一樣的表現(xiàn)。

所以我們單獨(dú)把ta拉出來(lái),結(jié)合一家無(wú)線通信芯片公司實(shí)際業(yè)務(wù)場(chǎng)景,看看算法仿真有哪四大特性,以及從動(dòng)態(tài)視角出發(fā),看我們?cè)趺?strong style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important;">幫算法工程師解決問(wèn)題,提高研發(fā)效率


算法仿真的本質(zhì)


算法(Algorithm),是指在數(shù)學(xué)和計(jì)算機(jī)科學(xué)間,一種被定義好的、計(jì)算機(jī)可施行指示的步驟和次序。算法代表著用系統(tǒng)的方法描述解決問(wèn)題的策略機(jī)制,解決一個(gè)問(wèn)題可以有很多種算法。


舉個(gè)栗子。

求解下圖黃色區(qū)域圖形面積,我們有三種算法。

圖片

方法一:你可以直接用三角形的面積公式解。這種方法快速、直觀,小學(xué)文化程度即可,但局限性也高、不通用,不適用于圖像復(fù)雜的情況;

方法二:也可以用符號(hào)計(jì)算求不定積分。求解析解方法,適用于各類不定積分中有解析表達(dá)式的函數(shù)圖像。計(jì)算門(mén)檻較高,大多手算,很少有計(jì)算工具。而且實(shí)際工程應(yīng)用場(chǎng)景中,很多函數(shù)沒(méi)有解析解;

方法三:用數(shù)值計(jì)算方式解積分,求數(shù)值解。數(shù)值計(jì)算法適用范圍最廣,可以求任意函數(shù)曲線的定積分,將函數(shù)一段段分解,再算出面積。不同的分解方法就代表不同的算法。這種方法只能求數(shù)值解,無(wú)法求解析解,且計(jì)算量巨大,適合機(jī)器計(jì)算,不適合人工計(jì)算,在工程領(lǐng)域應(yīng)用甚廣。

圖片

在芯片設(shè)計(jì)領(lǐng)域,算法仿真的本質(zhì)是評(píng)估不同數(shù)值計(jì)算解法的工作量、計(jì)算效率適用范圍,選出最優(yōu)算法,使ta不僅要滿足算得最快、最準(zhǔn),還要能確保功能、精度、效率、吞吐量等指標(biāo)。


算法仿真是一個(gè)不斷迭代、優(yōu)化的過(guò)程,一般都要反復(fù)調(diào)整參數(shù),進(jìn)行N次回歸測(cè)試。


一家算法團(tuán)隊(duì)的小目標(biāo)


一家無(wú)線通信芯片公司算法團(tuán)隊(duì),開(kāi)局情況如下:

算法部門(mén)共有15人,全公司有480核共享本地資源,各部門(mén)按需提前申請(qǐng)使用。

根據(jù)公司的業(yè)務(wù)發(fā)展目標(biāo),大致估算出未來(lái)新算法項(xiàng)目任務(wù)總數(shù)為1283980


假設(shè)一:全公司本地資源均歸他們用,每個(gè)人的資源上限是32核;

假設(shè)二:單case運(yùn)行時(shí)間為10小時(shí);

假設(shè)三:回歸測(cè)試次數(shù)為1次;

假設(shè)四:1個(gè)case只有1個(gè)job,且只用1個(gè)核。

圖片

總運(yùn)行時(shí)間達(dá)到3.05年。
啊這。。可能打開(kāi)方式不對(duì),再來(lái):增加假設(shè)五:人均資源上限逐漸提升到120核;
假設(shè)六:算法團(tuán)隊(duì)人數(shù)逐步擴(kuò)張至46人;圖片

總運(yùn)行時(shí)間約96.92天。

嗯,這回挺好。


想得是挺美,小目標(biāo)怎么實(shí)現(xiàn)?


現(xiàn)實(shí)一:公司共享本地資源不可能只歸算法部門(mén)專用;

現(xiàn)實(shí)二:單case運(yùn)行時(shí)間,難以估計(jì);且1個(gè)case往往不止1個(gè)job,且1個(gè)job未必只用1個(gè)核;

現(xiàn)實(shí)三:回歸測(cè)試只有1次,幾乎不太可能,總?cè)蝿?wù)數(shù)可能數(shù)倍增長(zhǎng);

現(xiàn)實(shí)四:本地機(jī)房從480核要擴(kuò)張十幾倍,可不止是買(mǎi)買(mǎi)買(mǎi)硬件,機(jī)房建設(shè)、運(yùn)維人力、硬件維保、存儲(chǔ)網(wǎng)絡(luò)、環(huán)境部署等等,都不是小事;

現(xiàn)實(shí)五:算法工程師要求非常高,招聘難度極大。


真是,沒(méi)一個(gè)字讓人愛(ài)聽(tīng)的。

圖片


如果是日常模擬/數(shù)字芯片設(shè)計(jì),想做算力規(guī)劃,咱們還是有思路的,可以看看這篇:解密一顆芯片設(shè)計(jì)的全生命周期算力需求


但算法仿真這里,此路不通。

我們來(lái)看看算法仿真的特性:


算法仿真的四大特性


下圖是這家無(wú)線通信芯片公司算法團(tuán)隊(duì)9個(gè)月實(shí)際日平均資源用量波動(dòng)總覽圖:

圖片


01

需求不可測(cè)



從個(gè)人角度出發(fā),算法團(tuán)隊(duì)每個(gè)人的算法任務(wù)都是互相獨(dú)立,互不影響的。算法確定之后,每一輪的計(jì)算量基本確定(case分解成的job數(shù),job占用的核數(shù)基本確定),每個(gè)算法任務(wù)的單次耗時(shí)與回歸測(cè)試次數(shù)都是不一樣的,這導(dǎo)致最后的資源需求完全不可測(cè)。


如果再疊加團(tuán)隊(duì)使用因素,資源的不可測(cè)性也會(huì)被成倍地放大。如果原先個(gè)人的資源使用區(qū)間是0到250核小時(shí);如果團(tuán)隊(duì)內(nèi)有20人,那不可測(cè)區(qū)間就放大至0至5000核小時(shí)。


02

短時(shí)間使用量波動(dòng)巨大



除了算法任務(wù)需求的不可測(cè)性,資源使用量的波動(dòng)還受實(shí)際算法任務(wù)的進(jìn)度影響。

每個(gè)算法工程師的工作獨(dú)立且進(jìn)度不一,有時(shí)可能大量任務(wù)同時(shí)批量運(yùn)行,也可能部分在調(diào)試,部分在運(yùn)行,甚至可能一個(gè)在運(yùn)行的任務(wù)都沒(méi)有。


不同工程師的工作進(jìn)度差異與所用算法不一,不僅導(dǎo)致了波峰、波谷間的資源使用量差距極大,而且這樣的波動(dòng)可能發(fā)生在極短時(shí)間內(nèi)。

極限情況:所有工程師都在頂格跑任務(wù),5520核的資源量瞬間拉滿(100%);而下一刻只有10%的工程師在跑任務(wù),且每人都只使用自己配額80%的資源量,那總資源僅使用了一部分。


不同公司的算法團(tuán)隊(duì)之間,因?yàn)閳F(tuán)隊(duì)規(guī)模與業(yè)務(wù)差異,資源用量差異也非常大。


03

資源需求類型多樣



算法仿真整體來(lái)說(shuō),對(duì)資源的各方面需求并不算高。

但不同算法的需求都不一樣:

有的需要單核4G內(nèi)存的機(jī)型,有的要單核8G內(nèi)存的機(jī)型;

有的算法對(duì)存儲(chǔ)要求高,有的算法對(duì)存儲(chǔ)沒(méi)要求:

有的涉及圖形計(jì)算,甚至還需要用到GPU機(jī)型。


04

長(zhǎng)期可持續(xù)狀態(tài)



上述三大特性,都不是突發(fā)現(xiàn)象,屬于算法團(tuán)隊(duì)的日常工作狀態(tài)。

這一狀態(tài)的長(zhǎng)期可持續(xù)性,我們需要對(duì)此做好足夠的準(zhǔn)備。


一種動(dòng)態(tài)思路:增加時(shí)間維度


算法仿真的四大特性決定了:按這家公司原來(lái)的靜態(tài)處理方式,也就是把任務(wù)量當(dāng)成恒定的,通過(guò)加人加機(jī)器的方式來(lái)滿足研發(fā)需求,變得很不現(xiàn)實(shí)。哪怕頂格準(zhǔn)備資源,資源利用率也會(huì)長(zhǎng)期處于較低狀態(tài)。


那按動(dòng)態(tài)處理方式,也就是隨著時(shí)間變化,靈活根據(jù)需求匹配不同規(guī)模/類型資源的方式來(lái)動(dòng)態(tài)滿足研發(fā)需求,從個(gè)人及團(tuán)隊(duì)視角出發(fā),看我們?cè)趺?strong style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important;">幫算法工程師解決問(wèn)題,提高研發(fā)效率。


01

算法工程師視角



1)資源無(wú)需申請(qǐng),即開(kāi)即用再也不用跟同事?lián)屬Y源或者漫長(zhǎng)的排隊(duì)等待了,也不用走繁瑣的資源申請(qǐng)流程。
2)資源選擇空間變大選擇空間變大,資源類型變多,可用資源上限變高,可以靈活選擇更加適配算法任務(wù)的資源類型。
給大家打個(gè)樣:5000核大規(guī)模OPC上云,效率提升53倍
3)提交任務(wù)立馬就能跑,告別等待提交任務(wù)立馬就能跑,一整套研發(fā)環(huán)境現(xiàn)成的,即開(kāi)即用。靈活切換,今天跑一百,明天跑一萬(wàn),無(wú)需等待環(huán)境配置。
4)以前怎么用,現(xiàn)在就怎么用跟本地相比無(wú)感知,用戶使用習(xí)慣沒(méi)有任何改變,不需要調(diào)整任何腳本。
5)任務(wù)跑得快,效率線性增長(zhǎng)
多case高并發(fā)執(zhí)行。同一批算法任務(wù)之間互相獨(dú)立,可以做到效率線性提升。

02

團(tuán)隊(duì)管理視角



1)動(dòng)態(tài)方式解決資源不可測(cè)問(wèn)題算法任務(wù)的不可預(yù)測(cè)且波動(dòng)巨大,導(dǎo)致了資源預(yù)測(cè)與規(guī)劃基本不可能。傳統(tǒng)靜態(tài)處理方式來(lái)解決問(wèn)題:
按頂格規(guī)劃,這筆賬都不用算,會(huì)造成黃色區(qū)域的巨大浪費(fèi);按中間取值準(zhǔn)備,當(dāng)某個(gè)時(shí)間點(diǎn)算法仿真短時(shí)間內(nèi)任務(wù)量激增,就會(huì)出現(xiàn)人機(jī)不匹配,不是有人力沒(méi)機(jī)器,就是有機(jī)器沒(méi)人力。這種錯(cuò)配導(dǎo)致資源利用率極低,影響研發(fā)進(jìn)度。

圖片

圖中3-5月,峰值算力就從200核攀升27倍達(dá)到5520核,隨即又迅速?gòu)?520核下跌到500核左右,這波動(dòng)幅度簡(jiǎn)直比過(guò)山車(chē)還劇烈,而且毫無(wú)規(guī)律。
我們的動(dòng)態(tài)處理方式,會(huì)隨著時(shí)間變化,靈活根據(jù)當(dāng)前時(shí)間點(diǎn)任務(wù)需求匹配不同規(guī)模/類型資源的方式,動(dòng)態(tài)滿足研發(fā)需求。不管500核還是5000核,我們都能實(shí)時(shí)根據(jù)需要,滿足整個(gè)團(tuán)隊(duì)的大幅波動(dòng)資源需求,保障日常算力和峰值算力任務(wù)調(diào)度效率。
2)Auto-Scale自動(dòng)伸縮,隨用隨關(guān)不浪費(fèi) Fsched調(diào)度器的Auto-Scale功能,能解決團(tuán)隊(duì)資源利用率與成本問(wèn)題。資源“自由”的同時(shí)不浪費(fèi)。
一方面隨用戶任務(wù)需求,設(shè)置自動(dòng)伸縮上下限,自動(dòng)化調(diào)用資源完成任務(wù);Auto-Scale功能可以根據(jù)任務(wù)運(yùn)算情況動(dòng)態(tài)開(kāi)啟云端資源,需要多少開(kāi)多少,并在任務(wù)完成后自動(dòng)關(guān)閉,讓資源的使用緊隨著用戶的需求自動(dòng)擴(kuò)張及縮小,最大程度匹配任務(wù)需求。圖片

這既節(jié)約了用戶成本,不需要時(shí)刻保持開(kāi)機(jī),也最大限度保證了任務(wù)最大效率運(yùn)行。中間也不需要用戶干預(yù),手動(dòng)操作。


另一方面我們還能監(jiān)控用戶提交的任務(wù)數(shù)量和資源需求,在團(tuán)隊(duì)內(nèi)部進(jìn)行資源及時(shí)適配,解決錯(cuò)配問(wèn)題。
想了解更多關(guān)于Auto-Scale的內(nèi)容,點(diǎn)擊EDA云實(shí)證Vol.10:Auto-Scale這支仙女棒如何大幅提升Virtuoso仿真效率?
3)提升團(tuán)隊(duì)整體運(yùn)營(yíng)效率我們的運(yùn)營(yíng)數(shù)據(jù)dashboard能讓團(tuán)隊(duì)管理者監(jiān)控各個(gè)重要指標(biāo)變化,從全局角度掌握項(xiàng)目的整體任務(wù)及資源情況,為未來(lái)項(xiàng)目合理規(guī)劃、集群生命周期管理、成本優(yōu)化提供支持。還能根據(jù)不同成員或小組的業(yè)務(wù)緊迫程度和業(yè)務(wù)重要性,合理分配與控制用戶使用資源。
4)全球數(shù)據(jù)中心解決資源瓶頸我們的全球數(shù)據(jù)中心,能持續(xù)穩(wěn)定地提供用戶所需資源類型及數(shù)量,分鐘級(jí)調(diào)度開(kāi)啟上萬(wàn)核計(jì)算資源,滿足業(yè)務(wù)緊迫度。用戶可以選擇自主選擇大內(nèi)存、高主頻等多樣化的資源類型來(lái)滿足不同算法需求。一旦發(fā)現(xiàn)所選資源類型與算法任務(wù)不匹配,還可隨時(shí)中止任務(wù)、更換資源類型,任務(wù)進(jìn)度不受影響。圖片
附加題環(huán)節(jié):對(duì)研發(fā)來(lái)說(shuō),能不能清晰看到任務(wù)的運(yùn)行狀態(tài)?實(shí)時(shí)監(jiān)測(cè)進(jìn)度?任務(wù)異常時(shí)能不能自動(dòng)告警?對(duì)IT來(lái)說(shuō),資源用量如何?怎么判斷用戶資源使用量是否符合分配模式?系統(tǒng)負(fù)載過(guò)高是否有直接的告警?我們會(huì)單獨(dú)開(kāi)一篇,聊聊基于業(yè)務(wù)的監(jiān)控與告警。

芯片設(shè)計(jì)五部曲的第三集——算法仿真篇到此結(jié)束啦。一起期待下一集吧~
關(guān)于fastone云平臺(tái)在各種EDA應(yīng)用上的表現(xiàn),可以點(diǎn)擊以下應(yīng)用名稱查看:HSPICE │ OPC │ VCS │ Virtuoso


 END -
我們有個(gè)IC設(shè)計(jì)研發(fā)云平臺(tái)集成多種EDA應(yīng)用,大量任務(wù)多節(jié)點(diǎn)并行應(yīng)對(duì)短時(shí)間爆發(fā)性需求,連網(wǎng)即用跑任務(wù)快,原來(lái)幾個(gè)月甚至幾年,現(xiàn)在只需幾小時(shí)5分鐘快速上手,拖拉點(diǎn)選可視化界面,無(wú)需代碼支持高級(jí)用戶直接在云端創(chuàng)建集群 
掃碼免費(fèi)試用,送300元體驗(yàn)金,入股不虧~圖片


更多EDA電子書(shū)歡迎掃碼關(guān)注小F(ID:imfastone)獲取圖片
你也許想了解具體的落地場(chǎng)景:王者帶飛LeDock!開(kāi)箱即用&一鍵定位分子庫(kù)+全流程自動(dòng)化,3.5小時(shí)完成20萬(wàn)分子對(duì)接
這樣跑COMSOL,是不是就可以發(fā)Nature了
Auto-Scale這支仙女棒如何大幅提升Virtuoso仿真效率?
1分鐘告訴你用MOE模擬200000個(gè)分子要花多少錢(qián)LS-DYNA求解效率深度測(cè)評(píng) │ 六種規(guī)模,本地VS云端5種不同硬件配置
揭秘20000個(gè)VCS任務(wù)背后的“搬桌子”系列故事155個(gè)GPU!多云場(chǎng)景下的Amber自由能計(jì)算怎么把需要45天的突發(fā)性Fluent仿真計(jì)算縮短到4天之內(nèi)?
大規(guī)模OPC上云,5000核并行,效率提升53倍
提速2920倍!用AutoDock Vina對(duì)接2800萬(wàn)個(gè)分子從4天到1.75小時(shí),如何讓Bladed仿真效率提升55倍?從30天到17小時(shí),如何讓HSPICE仿真效率提升42倍?
關(guān)于為應(yīng)用定義的云平臺(tái)芯片設(shè)計(jì)五部曲之二 | 圖靈藝術(shù)家——數(shù)字IC芯片設(shè)計(jì)五部曲之一 | 聲光魔法師——模擬IC
【案例】速石X騰訊云X燧原:芯片設(shè)計(jì)“存算分離”混合云實(shí)踐
【ICCAD2022】首次公開(kāi)亮相!國(guó)產(chǎn)調(diào)度器Fsched,半導(dǎo)體生態(tài)1.0,上百家行業(yè)用戶最佳實(shí)踐
解密一顆芯片設(shè)計(jì)的全生命周期算力需求居家辦公=停工?nonono,移動(dòng)式EDA芯片設(shè)計(jì),帶你效率起飛缺人!缺錢(qián)!趕時(shí)間!初創(chuàng)IC設(shè)計(jì)公司如何“絕地求生”?續(xù)集來(lái)了:上回那個(gè)“吃雞”成功的IC人后來(lái)發(fā)生了什么?一次搞懂速石科技三大產(chǎn)品:FCC、FCC-E、FCP速石科技成三星Foundry國(guó)內(nèi)首家SAFE?云合作伙伴EDA云平臺(tái)49問(wèn)
億萬(wàn)打工人的夢(mèng):16萬(wàn)個(gè)CPU隨你用幫助CXO解惑上云成本的迷思,看這篇就夠了花費(fèi)4小時(shí)5500美元,速石科技躋身全球超算TOP500

圖片


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: 算法資源

技術(shù)專區(qū)

關(guān)閉