0
雷峰網按:2021年12月9日-2021年12月11日,2021第六屆全球人工智能大會(GAIR 2021)于深圳正式召開。歷經五年,見證數次潮水的轉向,成為目前為止粵港澳大灣區人工智能領域規模最大、規格最高的學術、工業和投資領域跨界盛會。
GAIR 2021 “集成電路高峰論壇:國產高端芯片之路”,集聚來自學術界、產業界和投資界的15位大咖,探討了國產高端芯片的實力以及RISC-V帶給中國芯片的機會。
大禹智芯CTO王昕溥帶來了《從DPU看DSA發展》主題分享。作為國內首家專注于提供 DPU 產品和服務的公司,大禹智芯團隊有著深厚云計算場景的軟硬件開發經驗。本次演講,王昕溥從軟件人員的角度,分享了當年DSA的經驗,以及對DPU發展的思考。

大禹智芯CTO王昕溥↑
以下是王昕溥在GAIR2021上的演講內容,雷峰網(公眾號:雷峰網)對其進行了不改變原意的編輯整理:
與DSA的第一次接觸可以追溯到大約十年前,某互聯網頭部企業的底層技術架構剛開始建設就遇到在國內沒有先例的情況。當時的互聯網還處于較早期,所有的網站還是HTTP的,這導致涉及到交易的業務很容易被攻擊,為了提高安全性,全站HTTPS的網站因此而建立。當時在國內這是先例,也因此遇到了別人沒有遇到的問題。HTTPS建立連接過程中的非對稱加密算法會消耗大量的CPU計算資源,這是我們當時面臨的主要挑戰。
早期互聯網企業數據中心網關用的是國外廠商的專用設備,它們在解決RSA算法方面性能表現優良,但也存在一些缺點:第一個是擴展性很差,遠遠跟不上互聯網業務的發展速度;第二是成本非常高,不利于后續的規模化擴展。
在面對這個問題時,第一步的解決方案是采用標準的方法,即用標準的X86服務器運行軟件,通過這種方式替換掉硬件設備。實際效果比較好,可以用四臺服務器替換掉一臺專用設備,擴展性提高很多。但隨著業務規模的不斷發展,這樣的架構就遇到了性能瓶頸,隨之將導致機器規模增長過快,這從成本和運維工作量上都是不可接受的。
所以當時找到頭部芯片廠商定義了一個新的芯片,生產了一個新的板卡,這就是后來的QAT。在芯片廠商定制芯片的基礎上,我們做了大量的軟件開發工作,從最上層用的NGINX到OpenSSL庫,把算法函數拆成完全異步化,才能把任務分發到下面的硬件上去。同時OpenSSL庫本來是一個單線程的庫,但因為硬件是個多核產品,所以需要將其改成并行化的庫,才能把整個硬件的性能完全發揮出來。再往下是板卡本身的驅動層,大家一起在這條路徑上做了大量的軟件開發工作,最終圓滿完成任務。
雖然當時我們沒有從芯片視角看待這個問題,更多是軟件人員的視角、軟硬件結合的視角來理解,但從今天的視角看,這個從需求到定義再到上線的完整過程,就是典型的專用領域芯片的案例。

革命性的新硬件對計算機具有帶動性發展作用,如CPU、多核、多隊列到后來的IOMMU。同時,IDC帶寬則從百兆向千兆、萬兆到現在的100G發展。這些發展隨之而來給軟件帶來非常大的挑戰:如何把硬件的性能發揮到極致就是軟件人員要做的事情。
在我們剛工作的時候,網絡處理方面有一個很著名的問題——C10K,就是“怎么在一臺服務器上處理并發10000個連接”。這在當時帶動了軟件的一股潮流,主要代表就是用事件驅動模型代替線程池模型。幾年后就變成C10M的問題,規模又有了1000倍的增長。而當中最典型的技術如DPDK,使用更多直接操作硬件的資源,軟件也在不斷地更新。到這個階段,僅靠純軟件已經沒辦法完成目標,所以業界陸續出現通過硬件加速實現成熟算法的解決方案,如網卡、硬件加速的芯片,通過硬件化實現加密解密、拆包解包、拆封裝、解封裝等功能。
但仍然有一些無法實現成功硬件化的例子,比如說TCP/IP協議。其實,有不少人在做TCP/IP協議硬件化方案——TOE方案,但因為方案無法固定下來,一直沒有在這方面形成潮流。一方面是因為TCP/IP協議的復雜度,而主因則在于人們還在不停地改善它,甚至想要推翻它。
芯片領域和計算機架構體系有很多定律在說類似的事情。比如說貝爾定律——每隔十年就有一波新技術的創新;牧村定律——每隔十年芯片的研發都會在標準化和定制化之間波動。而我們今天還面臨一些更復雜的情況,例如國產化的浪潮,這也是幾十年的機遇,在這個過程中,需要我們更多地自主掌握關鍵技術,共同推進國產化浪潮的前進。
之前我分享的例子,在當時對業界產生了一定的影響。最直接的影響是專用設備開始退出互聯網公司的IDC市場,轉向專注于服務銀行和企事業單位,并且在2019年進行軟件服務轉型。OpenSSL庫的patch被社區所接受,變成專用的加密算法offload接口,芯片廠商也繼續豐富和增加它的性能,現在已經不是專門的芯片和板卡,而是被集成在CPU里面,逐漸變得通用化。
為此,對于專用領域芯片,我們認為有幾個未來的發展方向:
一是從實際需求出發,由場景使用方的客戶提出定制需求,芯片等硬件廠商按照客戶需求定義、設計和生產芯片,加快芯片商業化落地的速度;作為客戶來說,只要能夠符合需求,就一定會投入使用,這對硬件研發來講是一個很大的保證。
二是重視軟件,發展生態。從正面說,因為我們進行了大量的軟件開發工作,才能夠將硬件使用起來。從反面來講,沒有軟件研發能力,即使已經有了成功案例,仍然可能沒辦法使用一些專用的芯片或者硬件。
三是現在做專用領域芯片都會面臨的問題,是適用面定義寬窄之間的選擇。以FPGA為例,互聯網公司曾經設有大規模團隊做FPGA優化AI算法,但市面推出新的GPU后,團隊就被解散了,這也是專用領域芯片面臨的一個典型問題:因為應用領域比較窄,可能技術紅利期短,可能整體的效益少,也可能還趕不上研發投入,最后沒有實現大規模應用。

而說了以上幾點后,接下來我講一下大禹智芯為什么要做DPU。DPU是非常新的東西, 它是專注于對流動數據進行處理的芯片。大禹智芯成立于去年6月份,當初下決心做DPU的時候,聽說和了解DPU的人還很少。作為云計算出身的團隊,我們是國內最早嘗試DPU產品的一批人,DPU廠商定義芯片的時候都跟我們進行了很多的探討。但當我們拿到產品后發現使用效果遠未達到預期甚至不可用,主要原因就是上面定義的軟件架構是硬件公司想象出來的客戶需求,不是我們想要的。
鑒于上述過往的經歷,大禹智芯選擇從使用者的角度,從上到下定義DPU產品,缺少什么環節就補足什么環節,缺少軟件就做軟件,缺少硬件就做板卡,如果沒有合適的芯片就定義合適的芯片。因此,在我們自研芯片還沒有出來之前就推出了兩代的自研DPU產品,通過這兩代產品為芯片定義積累場景和經驗,同時為不同場景用戶的使用創造和提供價值。
另外,DPU的關鍵還在于軟件。作為硬件,它對軟件的依賴要超過很多硬件產品。DPU不同于如網卡的硬件,后者驅動對上就能用,上層的事情都被驅動和協議棧操作系統屏蔽掉。而DPU會承載用戶大量的業務需求,如云計算方面的網絡虛擬化、存儲虛擬化、對服務器的管理和安全管控等任務,所以DPU對軟件要求很高。
另外,得益于芯片產業上下游的發展和提升,DSA芯片的門檻在降低,專用領域的芯片設計難度相比通用芯片較低。把芯片定義準確,再依靠上下游力量,相關技術公司是完全有能力研發出一款成功的專用領域芯片。
從市場需求來看,互聯網上的帶寬每六個月翻一番,遠遠快于摩爾定律CPU每18個月翻一番的速度,而且現在摩爾定律也不能跟上這個速度,市場亟需DPU這種負責處理流動的數據讓網絡加速的產品,DPU也可以理解為應時代所需而出現的創新型硬件。
我們認為,DPU將會扮演更重要的角色,像CPU和GPU一樣是開創時代的創新型硬件,并長久地發展下去。DPU不僅局限在大規模云計算和數據中心,云計算也不是DPU唯一的場景,未來的5G和邊緣計算領域也同樣重要,和云計算一起并列的三大場景,DPU一定會有更多的市場機會。
在最后,針對于十年前的案例,我做一些補充。當年在找芯片硬件廠商合作前,市面上有一款專用的現成產品可以滿足業務場景的需求。但是因為價格太高,無法大規模采購,才選擇了合作定義新的芯片。這是一個產品滿足需求,但最終卻沒有進入市場的例子。
而之前跟芯片廠商合作的QAT在這兩年也不再被互聯網大廠所使用,不是因為QAT性能滿足不了需求,而是因為需求已經消失。在過去的Web端時代,瀏覽器產生很多新建請求,尤其是新建請求握手時會有大量算法需求。但在如今的移動端時代,手機APP僅需維持一兩個長連接,無需太多新建請求。而新版的SSL協議,算法要求也有很大變化,對RSA非對稱加密沒那么多需求, CPU就可以滿足對應需求。這時候QAT發揮的作用就大大降低。
當下是一個非常好的時代。從牧村定律來看,專用芯片都開始蓬勃發展;大家希望能夠出現一款貝爾定律中開啟下一個時代的硬件產品,這可能是5G,或是別的產品,我們也堅信會出現這樣的硬件。在如今大的產業背景之下,國產化也迎來了新開端,在結合各種定律和周期,讓做軟件、做應用的人也積極加入芯片行業的隊伍中,一起為國產芯片的發展做一些自己的貢獻,這也必將助力國產化之路新浪潮的形成。
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。