編者按
跟很多朋友交流,當提到軟硬件融合的時候,他們會這么說:“軟硬件融合,難道不是顯而易見嗎?我感覺在二三十年前就已經(jīng)有這個概念了?!痹谒麄兊南敕ɡ铮鋵崳很浻布诤系韧谲浻布f(xié)同,甚至等同于軟硬件結(jié)合。他們混淆了軟硬件結(jié)合、軟硬件協(xié)同和軟硬件融合的概念。
今天這篇文章,就跟大家詳細介紹一下軟硬件融合的概念和內(nèi)涵,以及軟硬件融合和軟硬件協(xié)同、軟硬件結(jié)合之間的區(qū)別和聯(lián)系。
1 背景知識:軟硬件協(xié)同的發(fā)展
傳統(tǒng)的系統(tǒng)設計,軟硬件劃分不夠仔細,軟硬件是緊耦合的,相互掣肘。這即是我們經(jīng)常說的“軟硬件結(jié)合”的設計思路。在系統(tǒng)規(guī)模較小的時候,遇到的問題不多,即使遇到問題,調(diào)整的代價也不高,可以承受。
但隨著系統(tǒng)的規(guī)模逐漸擴大,軟硬件結(jié)合的設計方法開始暴露問題:
硬件/軟件劃分在還未充分理解系統(tǒng)的情況下進行,很容易產(chǎn)生設計錯誤;
軟硬件劃分的設計錯誤,會對系統(tǒng)產(chǎn)生巨大的負面影響;
而受開發(fā)周期和糾正代價的影響,難以糾正在軟硬件劃分階段的錯誤。
系統(tǒng)規(guī)模逐步擴大,量變引起質(zhì)變,傳統(tǒng)的軟硬件結(jié)合設計的問題逐漸凸顯。需要升級設計方法論,需要從軟硬件結(jié)合,走向軟硬件協(xié)同。
軟硬件協(xié)同是1990s提出的概念,強調(diào)在系統(tǒng)劃分之前,需要深刻的理解系統(tǒng),并且經(jīng)過非常仔細的系統(tǒng)分析和架構(gòu)映射,慎重而準確的進行系統(tǒng)的軟硬件劃分。
軟硬件劃分是為了軟硬件協(xié)同,因此軟硬件協(xié)同設計的關(guān)鍵是在劃分之前,而不是在劃分之后。劃分之前,深度思考軟硬件工作劃分的準確,確?!?a target="_blank">接口”清晰、高效,確保軟硬件充分地協(xié)同。劃分(解耦)之后,沒有了相互掣肘,軟硬件都可以充分創(chuàng)新,實現(xiàn)更加強大的功能/性能。
傳統(tǒng)的軟硬件結(jié)合設計,適合于小系統(tǒng);而軟硬件協(xié)同設計,適合于大系統(tǒng)。軟硬件協(xié)同,是用于大系統(tǒng)的、統(tǒng)一的設計方法論。軟硬件協(xié)同可以充分利用已有軟硬件資源,使得效率最大化,縮短產(chǎn)品上市時間。
2 軟硬件融合的根基
2.1 軟硬件劃分,暨處理器類型劃分
世間萬物由基本粒子組成,復雜處理由基本計算組成。軟硬件劃分指的是,軟件和硬件通過一定的“接口”解耦,而指令(集)則是軟件和硬件的“接口”。指令的復雜度(計算粒度或密度)決定了系統(tǒng)的軟硬件解耦程度。
ISA(指令集架構(gòu))之下,CPU、GPU等各種處理器是硬件;ISA之上,各種程序、數(shù)據(jù)集、文件等是軟件。
按照指令的復雜度,典型的處理器平臺大致分為CPU、協(xié)處理器、GPU、FPGA、DSA、ASIC。從左往右,單位計算越來越復雜。性能越來越好,而靈活性越來越低。
CPU、GPU、DSA等各種類型的處理器,本質(zhì)上是在不同層次的軟硬件解耦基礎(chǔ)上的軟硬件協(xié)同。
2.2 分層分塊的系統(tǒng)
系統(tǒng)由分層分塊的各個組件,即工作任務(Workloads),有機組成。整個系統(tǒng),是一個分層的體系:每一層都建立在下面一層的基礎(chǔ)之上,每一層再通過特定的接口向上一層提供服務;同一層中,模塊也可以通過接口向其他模塊提供服務。
多個小系統(tǒng)組成大系統(tǒng),多個大系統(tǒng)再組成宏系統(tǒng);反過來,宏系統(tǒng)可以分解成多個大系統(tǒng),每個大系統(tǒng)還可以再分解成多個小系統(tǒng)。
3 軟硬件融合
3.1 首先,軟硬件融合是一種設計理念
CPU、GPU等標準化的處理器已經(jīng)成為我們主流的計算平臺,也已經(jīng)擁有了非常龐大的生態(tài)。在這些軟硬件標準化解耦的平臺上,芯片工程師僅需要關(guān)注芯片的設計實現(xiàn),軟件工程師僅需要關(guān)注軟件開發(fā)。大家并行不悖的各種努力工作,平臺“長年不變”,是一種非常舒服但又不可能的理想的狀態(tài)。
事物發(fā)展不會停滯。CPU已經(jīng)存在了50多年,性能早已見頂;GPU也有20多年的歷史,性能增長也相當緩慢。大模型應用通常需要上萬張GPU加速卡,據(jù)說GPT5需要5萬張GPU卡。上層業(yè)務應用日新月異,已有的硬件平臺已經(jīng)無法滿足我們的需要。
是時候打破已有的軟硬件界限了!
沒有條條框框的限制,回到系統(tǒng)的本源,重新思考系統(tǒng)的設計,重新構(gòu)建新的更復雜的軟硬件協(xié)同。這就是我們所強調(diào)的軟硬件融合!
3.2 從軟硬件結(jié)合、軟硬件協(xié)同到軟硬件融合
軟硬件協(xié)同是上世紀90年代的產(chǎn)物,到現(xiàn)在已經(jīng)有了30年左右的時間。上層的業(yè)務系統(tǒng)早已經(jīng)翻天地覆,系統(tǒng)規(guī)模增加了成百上千倍,很難對如此復雜的系統(tǒng)進行準確的軟硬件劃分。
于是,軟硬件融合應運而生。
我們把軟硬件結(jié)合面向的系統(tǒng)稱之為小系統(tǒng),把軟硬件協(xié)同面向的系統(tǒng)稱之為大系統(tǒng),那么軟硬件融合則面向宏系統(tǒng)。
宏系統(tǒng)可以拆分成系統(tǒng),每個系統(tǒng)需要軟硬件協(xié)同,并且各個系統(tǒng)間還需要再協(xié)同,眾多的軟硬件協(xié)同組成的新的軟硬件交互機制,即為軟硬件融合。
軟硬件協(xié)同,面向單個系統(tǒng)的計算場景;軟硬件融合,面向多個系統(tǒng)混合的復雜計算場景。因此,軟硬件融合面向的系統(tǒng)規(guī)模,通常是軟硬件協(xié)同面向的系統(tǒng)規(guī)模的10+倍。
從軟硬件協(xié)同到軟硬件融合:軟硬件協(xié)同,是單系統(tǒng)軟硬件設計的方法學;軟硬件融合,是多系統(tǒng)復雜計算軟硬件設計的方法學。
3.3 軟硬件融合的內(nèi)涵
如果我們把工作任務映射到一個或多個處理引擎:
定義一個一維的坐標系:在這個坐標系里,CPU是100%的軟件,ASIC是100%的硬件。其他處理器引擎介于兩者之間,是不同比例軟硬件的混合態(tài)。
動態(tài)均衡+極限拉扯:根據(jù)任務的特點,把之映射到最合適的處理器引擎。類似拔河一樣動態(tài)的、極限的拉扯到極致,而不是簡單的天平一般的平衡。
工作任務處理器引擎的動態(tài)性:工作任務最合適的處理引擎,并非一成不變,而是隨著系統(tǒng)發(fā)展有可能下沉(Offload)/上浮(Onload)。
需要注意的是,這里的基于軟硬件引擎的工作任務分層,跟系統(tǒng)工作任務的分層是不同的概念。
軟硬件融合不改變系統(tǒng)層次結(jié)構(gòu)和組件間交互關(guān)系,但打破傳統(tǒng)軟硬件的界限,系統(tǒng)的、動態(tài)的重構(gòu)軟硬件劃分/協(xié)同,達到整體最優(yōu)。
在傳統(tǒng)軟硬件的系統(tǒng)里,分層是非常清晰的:下層硬件上層軟件。軟硬件融合的分層分塊,每個任務都是不同層次軟硬件解耦基礎(chǔ)上的再協(xié)同;并且,在不同工作任務的軟硬件協(xié)同基礎(chǔ)上,再實現(xiàn)工作任務之間的協(xié)同。
從全局看,整個系統(tǒng)呈現(xiàn)出:軟件中有硬件,硬件中有軟件,軟硬件融合成一個有機的整體。
3.4 軟硬件融合的趨勢
受限于目前:
一方面,業(yè)務對算力的強勁需求;
另一方面,CPU、GPU等傳統(tǒng)的靈活型的處理器性能逐漸瓶頸;
此外,量子等顛覆性新技術(shù)進展緩慢,短期內(nèi)芯片底層工藝不太可能顛覆式創(chuàng)新。
因此,在未來一定時期內(nèi),軟硬件融合的主要趨勢,是工作任務逐漸從軟件向硬件卸載。
哪些工作任務適合卸載?“無規(guī)模,不卸載(Offload) ”,超大的規(guī)模是工作任務卸載的前提。因此,我們可以總結(jié)適合卸載的工作任務的兩個基本特征:(1)性能敏感,占據(jù)較多CPU資源;(2)廣泛部署,運行于眾多計算設備。
宏觀的看,分層的系統(tǒng),越上層越靈活軟件成分越多,越下層越固定硬件成分越多;與此同時,隨著系統(tǒng)規(guī)模越來越大,復雜分層的系統(tǒng),其“二八定律”的特征越發(fā)明顯。于是,許多底層的工作任務逐漸穩(wěn)定并且逐步卸載到硬件(被動趨勢)。
此外,通過軟硬件融合的架構(gòu)設計,可以使得“硬件”更加靈活,功能也更加強大,從而更多的層次功能加速向“硬件”卸載(主動搶占)。
4 軟硬件融合總結(jié)
軟硬件融合,既是理論和理念,也是方法和解決方案。
軟硬件融合系統(tǒng)中的每一個工作任務,都是在軟硬件均衡/解耦基礎(chǔ)上的再協(xié)同。軟硬件融合系統(tǒng)的每個工作任務之間的連接(軟件之間、軟硬件之間以及硬件之間的連接)和調(diào)用均具有極致的性能和靈活性。軟硬件融合系統(tǒng),能夠兼顧軟件的靈活性和硬件的高性能,實現(xiàn)既要又要。
軟硬件融合落地為CPU、GPU、DSA等多種處理引擎充分協(xié)同的異構(gòu)融合計算。
軟硬件融合承上啟下,從產(chǎn)品定義和系統(tǒng)架構(gòu)開始,逐步拓展到整個系統(tǒng)棧。
軟硬件融合的必要性和必然性:
理論根基:①CPU到ASIC的不同層次的軟硬件劃分,②系統(tǒng)的分層分塊。
落地條件:③“二八規(guī)律”廣泛存在;④超大規(guī)模的計算。
驅(qū)動力量:⑤算力需求數(shù)量級提升,⑥先進工藝和封裝支撐超大規(guī)模的芯片。
軟硬件融合的意義:
讓硬件更加靈活、彈性、可擴展,彌補硬件和軟件之間的鴻溝;
應對人工智能、云/邊緣計算及超級終端等復雜場景的挑戰(zhàn);
解決芯片一次性成本過高導致的設計風險;
等等。
審核編輯:湯梓紅
-
處理器
+關(guān)注
關(guān)注
68文章
19286瀏覽量
229811 -
芯片
+關(guān)注
關(guān)注
455文章
50812瀏覽量
423576 -
cpu
+關(guān)注
關(guān)注
68文章
10863瀏覽量
211746 -
軟硬件
+關(guān)注
關(guān)注
1文章
298瀏覽量
19204
原文標題:什么是軟硬件融合?
文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論