加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 1 軟硬件融合的內(nèi)涵
    • 2 垂直向,軟硬件跨系統(tǒng)堆棧融合
    • 3 水平向,軟硬件跨處理器架構(gòu)融合
    • 4 斜向,軟硬件跨計(jì)算節(jié)點(diǎn)融合
    • 5 貫穿全局,通用計(jì)算,性能和靈活性的極致均衡
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

再論軟硬件融合

2023/12/26
2806
閱讀需 14 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

前面專門寫過一篇“軟硬件融合”的系統(tǒng)性介紹文章,之后有很多朋友私信交流。不斷汲取大家對軟硬件以及軟硬件相互協(xié)作方面的觀點(diǎn),逐步深化和完善“軟硬件融合”概念和技術(shù)體系。

簡單總結(jié)一下。一方面,大家對未來認(rèn)識的大方向是趨同的,就是“軟硬件要深度結(jié)合/協(xié)同”。但另一方面,對軟硬件融合觀點(diǎn)的認(rèn)識,也存在如下一些常見的誤區(qū):

    第一個(gè)誤區(qū),關(guān)于軟硬件結(jié)合。軟硬件結(jié)合和軟硬件耦合幾乎是一致的。而軟硬件融合不是軟硬件耦合,軟硬件融合是不同層次軟硬件解耦基礎(chǔ)上的再協(xié)同。
    第二個(gè)誤區(qū),關(guān)于系統(tǒng)分層。軟硬件系統(tǒng)分層解耦是正確的,但分層解耦并不意味著每一層是“獨(dú)立王國”,也不意味著一勞永逸。軟硬件融合強(qiáng)調(diào),分層需要從全系統(tǒng)視角審視,分層后每一層都不宜黑盒,不同層之間仍然需要聯(lián)動,全局的、動態(tài)的、長期的統(tǒng)籌系統(tǒng)分層。
    第三個(gè)誤區(qū),關(guān)于軟硬件垂直整合。軟硬件融合不僅僅指的是垂直向的從上到下、不同層次系統(tǒng)堆棧的深度協(xié)同,它還有其他更加豐富的內(nèi)涵。

第一個(gè)誤區(qū),道理比較淺顯易懂,這里不再贅述。今天這篇文章,接著第二個(gè)和第三個(gè)誤區(qū)的話題,來詳細(xì)介紹一下軟硬件融合的豐富內(nèi)涵。

1 軟硬件融合的內(nèi)涵

軟硬件融合的內(nèi)涵,可以簡單總結(jié)成“三融一通”,指的是:

    第一個(gè)融合,垂直向的軟硬件跨系統(tǒng)堆棧分層的融合。第二個(gè)融合,水平向的軟硬件跨不同架構(gòu)處理器的融合。第三個(gè)融合,斜向的軟硬件跨計(jì)算節(jié)點(diǎn)的融合。一個(gè)通用,整個(gè)系統(tǒng)需要通用性,也即性能和靈活性的極致均衡。

接下來,我們詳細(xì)展開。

2 垂直向,軟硬件跨系統(tǒng)堆棧融合

垂直向的軟硬件協(xié)同或融合,是目前大家最大的共識。軟硬件系統(tǒng)通過分層實(shí)現(xiàn)系統(tǒng)的拆分,同時(shí)實(shí)現(xiàn)不同子系統(tǒng)的解耦。即使系統(tǒng)分層非常的科學(xué)和準(zhǔn)確,分層仍然無法一勞永逸。隨著系統(tǒng)的發(fā)展,原有的分層必然逐漸不再適應(yīng)系統(tǒng)發(fā)展的需要。系統(tǒng)的每一層均不宜是黑盒或“獨(dú)立領(lǐng)地”,不同層之間需要聯(lián)動。從系統(tǒng)的視角,需要全局的、動態(tài)的、長期的、持續(xù)的重構(gòu)系統(tǒng)分層。

舉存儲分層的一個(gè)例子。? ?傳統(tǒng)的觀點(diǎn)認(rèn)為,模塊或?qū)哟沃g的調(diào)用,是在模塊內(nèi)部封裝復(fù)雜的功能,然后給外部提供簡單的訪問接口。這種觀點(diǎn)沒有錯,但是是靜態(tài)的觀點(diǎn)。站在系統(tǒng)發(fā)展的角度,就產(chǎn)生了如上圖的問題。上圖是以RocksDB為例的存儲的整個(gè)系統(tǒng)堆棧,在這個(gè)系統(tǒng)堆棧里有三層虛擬化:SSD內(nèi)部的FTL地址映射、系統(tǒng)層的文件系統(tǒng)、應(yīng)用層軟件的地址管理。三層虛擬化比較冗余,會影響到存儲的延遲。目前行業(yè)逐漸流行的ZNS存儲,就是取消了存儲控制器中的FTL虛擬化層,只完成簡單的控制。然后把SSD塊的管理交給軟件,實(shí)現(xiàn)軟件定義存儲。如果只考慮本層,而不考慮系統(tǒng)整體:

    一方面,會產(chǎn)生很多冗余和浪費(fèi);另一方面,如果個(gè)體的功能存在問題,會拖累整個(gè)系統(tǒng)。

所有層次的設(shè)計(jì),都需要考慮全局統(tǒng)籌。

也以算力提升為例。算力的提升,是一個(gè)復(fù)雜而龐大的系統(tǒng)工程。不僅需要各個(gè)相關(guān)領(lǐng)域的持續(xù)優(yōu)化,還需要跨領(lǐng)域的協(xié)同創(chuàng)新。需要從數(shù)據(jù)中心多層次挖潛,整體協(xié)同優(yōu)化。優(yōu)化的主要方向有:

    工藝和封裝:更先進(jìn)的工藝、3D集成,以及Chiplet封裝等。芯片實(shí)現(xiàn)(微架構(gòu)):通過一些創(chuàng)新的設(shè)計(jì)實(shí)現(xiàn),如存算一體、DSA架構(gòu)設(shè)計(jì)以及各類新型存儲等。
    系統(tǒng)架構(gòu):比如開放精簡的RISC-v,異構(gòu)計(jì)算逐漸走向異構(gòu)融合計(jì)算,以及駕馭復(fù)雜計(jì)算的軟硬件融合等。
    系統(tǒng)軟件、框架、庫:基礎(chǔ)的如OS、Hypervisor、容器,以及需要持續(xù)優(yōu)化和開源開放的各類計(jì)算框架和庫等。
    業(yè)務(wù)應(yīng)用(算法):業(yè)務(wù)場景算法優(yōu)化、算法的并行性優(yōu)化等;以及系統(tǒng)的靈活性和可編程性設(shè)計(jì);系統(tǒng)的控制和管理、系統(tǒng)的擴(kuò)展性等。
    數(shù)據(jù)中心:網(wǎng)絡(luò)可維護(hù)性、高速網(wǎng)絡(luò)、網(wǎng)絡(luò)平臺化等;
    基礎(chǔ)設(shè)施:如綠色DC,液冷、PUE優(yōu)化等;
    運(yùn)營和管理:如超大規(guī)模DC運(yùn)營管理,跨DC運(yùn)營和管理調(diào)度等。

3 水平向,軟硬件跨處理器架構(gòu)融合

按照指令的復(fù)雜度,典型的處理器平臺大致分為CPU、協(xié)處理器、GPU、FPGA、DSA、ASIC。從左往右,單位計(jì)算越來越復(fù)雜。性能越來越好,而靈活性越來越低。? ?假設(shè)CPU是100%軟件,ASIC是100%硬件;那么,其他處理引擎則介于兩者之間,是不同比例軟硬件的混合態(tài)。因此,CPU、GPU、DSA等各種類型的處理器,本質(zhì)上是在不同層次的軟硬件解耦基礎(chǔ)上的軟硬件再協(xié)同。

計(jì)算架構(gòu),從同構(gòu)計(jì)算走向異構(gòu)計(jì)算;再從異構(gòu)計(jì)算,走向更多異構(gòu)相互協(xié)作的異構(gòu)融合計(jì)算。異構(gòu)計(jì)算僅有一種加速處理器類型,僅關(guān)注CPU和加速處理器的協(xié)同;而異構(gòu)融合計(jì)算,具有兩種或兩種以上的加速處理器類型,關(guān)注的重心在于所有處理器之間的協(xié)同和融合。異構(gòu)融合計(jì)算中的協(xié)同,指的是系統(tǒng)的工作由兩個(gè)或兩個(gè)以上處理器協(xié)作處理,協(xié)作可以是CPU和CPU之間的協(xié)作,也可以是CPU和加速處理器之間的協(xié)作,還可以是加速處理器和加速處理器之間直接協(xié)作。

異構(gòu)融合計(jì)算中的融合,指的是某個(gè)具體工作任務(wù)可以跨CPU、GPU和DSA等不同類型處理器運(yùn)行,也可以跨同類型中的不同架構(gòu)處理器運(yùn)行。

以Intel的XPU和OneAPI為例。XPU它不是一個(gè)新的處理器或產(chǎn)品,而是一個(gè)架構(gòu)組合,包括CPU、GPU、FPGA 和其他加速器。OneAPI是Intel構(gòu)建的一套開源的跨平臺編程框架,底層可以運(yùn)行CPU、GPU、FPGA或其他DSA加速器,通過OneAPI為應(yīng)用提供一致性的編程接口,使得應(yīng)用能夠輕松實(shí)現(xiàn)跨平臺復(fù)用。

4 斜向,軟硬件跨計(jì)算節(jié)點(diǎn)融合

隨著算力需求越來越高,而單芯片算力提升有限,通過Scale Out實(shí)現(xiàn)的分布式集群計(jì)算越來越成為主流。計(jì)算系統(tǒng),不再是基于單個(gè)芯片、單個(gè)設(shè)備,而是基于數(shù)以百計(jì)甚至千計(jì)的計(jì)算節(jié)點(diǎn)的計(jì)算集群。甚至,計(jì)算系統(tǒng)還要進(jìn)一步擴(kuò)展,計(jì)算需要跨集群,跨不同位置,進(jìn)而擴(kuò)展到跨云網(wǎng)邊端。

一方面,底層的芯片,需要有非常多異構(gòu)架構(gòu)的處理器引擎,同時(shí)支持異構(gòu)融合計(jì)算。另一方面,上層的計(jì)算集群需要跨云邊端,實(shí)現(xiàn)云邊端硬件計(jì)算平臺的融合,軟件可以非常方便地在云邊端不同的計(jì)算節(jié)點(diǎn)動態(tài)自由遷移。

同時(shí),為了更好的支撐宏觀的跨云邊端融合計(jì)算,微觀的芯片也需要做很多調(diào)整。以異構(gòu)融合計(jì)算處理器單芯片HCU為例,其和傳統(tǒng)的SOC在功能特征方面存在很多的不同:

    區(qū)別1:單系統(tǒng)vs分布式混合多系統(tǒng)。在SOC中,系統(tǒng)和芯片一一匹配。而HCU:需要通過集群協(xié)作來完成任務(wù);單個(gè)HCU硬件上會運(yùn)行多個(gè)不同的軟件系統(tǒng)和任務(wù);多個(gè)宏觀的分布式大系統(tǒng),混合交叉地運(yùn)行在多個(gè)HCU上。
    區(qū)別2:弱虛擬化vs硬件原生虛擬化。虛擬化是HCU和傳統(tǒng)SOC最核心的能力區(qū)別。SOC面向單個(gè)系統(tǒng),通常不需要支持虛擬化;有的SOC中的嵌入CPU核支持虛擬化,但虛擬化的性能損耗較高。HCU不僅僅需要嵌入式CPU、內(nèi)存的完全硬件虛擬化,其他I/O和加速卡也需要實(shí)現(xiàn)完全的硬件虛擬化。
    區(qū)別3:軟硬件一體vs軟硬件分離。SOC中的軟件通常附著于硬件之上,兩者是匹配的關(guān)系。HCU上的軟件和硬件沒有直接的關(guān)系。軟件可以運(yùn)行在硬件A,也可以運(yùn)行在硬件B,也可以運(yùn)行在任何其他硬件之上。軟件在不同硬件資源上的運(yùn)行和遷移是完全動態(tài)的,并且從宏觀角度看,是非常頻繁的。
    區(qū)別4:控制驅(qū)動vs數(shù)據(jù)驅(qū)動。傳統(tǒng)計(jì)算,是以CPU為核心的控制流驅(qū)動模式。而未來,隨著數(shù)據(jù)量的增大,數(shù)據(jù)流驅(qū)動計(jì)算的架構(gòu)變成算力的主力擔(dān)當(dāng)。
    區(qū)別5:軟件的多異構(gòu)協(xié)同vs硬件的多異構(gòu)融合。SOC僅僅是異構(gòu)的集成,而HCU則需要實(shí)現(xiàn)異構(gòu)的融合。
    區(qū)別6:軟件可編程vs多層次可編程。SOC里,其他加速器通常是ASIC層次的,只有嵌入式CPU能支持軟件編程的。而在HCU里,可編程能力要更加豐富一些:DSA、GPU和CPU等多個(gè)層次的軟件可編程。
    區(qū)別7:資源確定vs資源彈性可擴(kuò)展。在SOC內(nèi)部,除了CPU可以支持可擴(kuò)展外,其他模塊基本上都是性能確定的設(shè)計(jì),無法支持資源的擴(kuò)展能力。在HCU里,每個(gè)計(jì)算資源,甚至I/O資源,都支持多個(gè)層次的資源可擴(kuò)展能力。
    區(qū)別8:定制Chiplet vs原生支持Chiplet。SOC中的Chiplet設(shè)計(jì),通常需要針對性地設(shè)計(jì)若干個(gè)小芯粒。HCU采用資源彈性擴(kuò)展的設(shè)計(jì),可以輕松實(shí)現(xiàn)基于Chiplet的不同規(guī)格HCU芯片。
    區(qū)別9:設(shè)計(jì)規(guī)模小 vs 設(shè)計(jì)規(guī)模數(shù)量級提升。傳統(tǒng)SOC架構(gòu)所能支撐的系統(tǒng)規(guī)模逐漸逼近上限。HCU采用可擴(kuò)展的分布式系統(tǒng)架構(gòu)設(shè)計(jì),每個(gè)子系統(tǒng)相當(dāng)于一個(gè)SOC系統(tǒng)。HCU可駕馭的系統(tǒng)規(guī)??梢宰龅絊OC的10倍甚至100倍。
    區(qū)別10:專用vs通用。SOC是針對特定的場景,定制開發(fā)的芯片。HCU面向的是通用的、綜合的復(fù)雜計(jì)算場景,定位在以不變應(yīng)萬變。

5 貫穿全局,通用計(jì)算,性能和靈活性的極致均衡

性能和靈活性是一對矛盾:一方面,隨著系統(tǒng)規(guī)模和復(fù)雜度的上升,系統(tǒng)對靈活性的要求也越來越高;而另一方面,系統(tǒng)對性能的要求越來越高,越需要專用優(yōu)化的加速處理器來優(yōu)化性能,進(jìn)而使得系統(tǒng)的靈活性越來越低。

每個(gè)處理引擎都有優(yōu)勢,也有劣勢。通過單兵作戰(zhàn),只能“權(quán)衡”;但通過“團(tuán)隊(duì)協(xié)作”的異構(gòu)融合計(jì)算,每個(gè)處理器做自己最擅長的工作,從而實(shí)現(xiàn)優(yōu)勢互補(bǔ),把性能和靈活性都拉扯到極致。軟硬件融合,強(qiáng)調(diào)的是,如何在確保系統(tǒng)靈活性的前提下,實(shí)現(xiàn)最極致的性能。我們給出的解決方案是:通過更多異構(gòu)處理器的深度協(xié)作,通過團(tuán)隊(duì)合作,實(shí)現(xiàn)整體最優(yōu)。

    一方面,依據(jù)依據(jù)靈活性特征,把系統(tǒng)分為基礎(chǔ)設(shè)施層、彈性加速層、業(yè)務(wù)應(yīng)用層。
    另一方面,針對上述三個(gè)層次,采用最符合每一層次系統(tǒng)靈活性特征的處理器?;A(chǔ)設(shè)施層通常采用DSA,彈性加速層通常采用GPU,而業(yè)務(wù)應(yīng)用層通常采用CPU。通過上述三類處理器,讓處理器的靈活性恰恰好的符合工作任務(wù)靈活性的要求,從而確保性能和靈活性的極致。

此外,性能和靈活性的平衡仍在動態(tài)變化。可能隨著系統(tǒng)的發(fā)展,有的任務(wù)會“上浮”,越來越需要更多靈活性;有的任務(wù)會“下沉”,靈活性要求逐步降低,可以通過更高效的硬件加速來極致的提升性能。

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險(xiǎn)等級 參考價(jià)格 更多信息
MCF52258CAG66 1 Rochester Electronics LLC 32-BIT, FLASH, 66MHz, RISC MICROCONTROLLER, PQFP144, 20 X 20 MM, ROHS COMPLIANT, LQFP-144
$12.68 查看
ATMEGA328P-MU 1 Microchip Technology Inc IC MCU 8BIT 32KB FLASH 32VQFN

ECAD模型

下載ECAD模型
$2.5 查看
ATXMEGA64A4U-MH 1 Atmel Corporation RISC Microcontroller, 16-Bit, FLASH, AVR RISC CPU, 32MHz, CMOS, PQCC44, 7 X 7 MM, 1 MM HEIGHT, 0.50 MM PITCH, GREEN, PLASTIC, MO-220VKKD-3, VQFN-44
$4.89 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

公眾號:軟硬件融合;CPU靈活性好但性能較差,ASIC性能極致但靈活性差,魚和熊掌如何兼得,同時(shí)兼顧性能和靈活性,我給出的方案是“軟硬件融合”。軟硬件融合不是說要軟硬件緊耦合,相反,是要權(quán)衡在不同層次和粒度解耦之后,再更加充分的協(xié)同。