一般說來,異構(gòu)計算的核心目的是解決特定應(yīng)用場景下算力不足的問題,并且大幅度提升整體系統(tǒng)的計算性能。在整體架構(gòu)上,它的分層邏輯從應(yīng)用場景出發(fā),通過上層的需求來定義下層的功能,而每一層是對特定功能的抽象與封裝。在定義每一層功能時,要達到以下幾個目標:
各層職責單一
層間邊界清晰
層內(nèi)功能實現(xiàn)獨立
靈活易擴展
基于上述目標,將一個異構(gòu)計算的系統(tǒng)抽象為五層(如下圖所示),自下而上分別是:1)DSA設(shè)備層(DSA Device Layer),2)DSA操作層 (DSA Operating Layer),3)計算引擎層(Scheduling Operating Layer),4)應(yīng)用服務(wù)層(Application Service Layer)和5)業(yè)務(wù)開發(fā)層 (Business Development Layer),詳述如下。

一、DSA設(shè)備層
DSA設(shè)備層代表的是執(zhí)行異構(gòu)計算的DSA處理器以及集成了該處理器的硬件設(shè)備,例如,以DPU或GPU為處理器的異構(gòu)計算設(shè)備。異構(gòu)計算設(shè)備需要具備以下兩個核心能力:1)提供支持專用計算操作的指令集(Instruction Set),2)CPU或其他DSA設(shè)備的標準通信接口,如PCIe數(shù)據(jù)傳輸標準。
二、DSA操作層
DSA操作層是對DSA處理器的指令集的管理以及基礎(chǔ)開發(fā)平臺的整合,該層完成了對硬件資源的抽象,從而使上層軟件對底層設(shè)備透明;DSA操作層是對DSA設(shè)備層計算設(shè)備的抽象和計算資源的封裝,是軟件與硬件、邏輯與物理的邊界。它基于如DPU芯片等DSA處理器提供的指令集,以更加抽象和編程友好的方式對上層提供了異構(gòu)計算開發(fā)和訪問的軟件接口、以及設(shè)備監(jiān)控管理的接口。該層內(nèi)部有四個必要的模塊,分別是設(shè)備驅(qū)動器,指令集管理器,資源訪問接口,開發(fā)和管理平臺。
- 設(shè)備驅(qū)動器:設(shè)備驅(qū)動器是硬件設(shè)備的軟件抽象,它基于操作系統(tǒng)標準的驅(qū)動框架及PCIe協(xié)議,實現(xiàn)了對計算設(shè)備的物理訪問,主要包括設(shè)備處理器的指令執(zhí)行和設(shè)備存儲的讀寫。
- 指令集管理器:指令管理器的作用是對計算設(shè)備所提供的指令集進行統(tǒng)一管理,通過對指令集的封裝及組合,提供更加友好的編程接口。
- 資源訪問接口:基于設(shè)備驅(qū)動器和指令集管理器的功能,該模塊完成對整個計算資源訪問的抽象和封裝,它以編程接口的方式對上層提供資源訪問入口,服務(wù)于上層計算邏輯和控制邏輯的執(zhí)行。
- 開發(fā)和管理平臺:除了上述運行時所需的能力外,還需要針對開發(fā)人員提供友好的編程工具,如指令集編譯工具、監(jiān)控管理工具、日志工具、異構(gòu)計算卡模擬器等。
三、計算引擎層
計算引擎層是對計算邏輯的封裝,為上層提供通用的計算能力。與DSA操作層的對計算資源封裝不同,計算引擎層是對計算邏輯的封裝,它基于DSA操作層提供的資源訪問接口,根據(jù)上層應(yīng)用層軟件對算力的需求,提供了可復(fù)用的算子集合及執(zhí)行接口。
算子抽象
算子定義為實現(xiàn)某一特定功能或算法的函數(shù)或獨立的服務(wù),它是對計算邏輯的抽象。例如,根據(jù)指定條件對數(shù)據(jù)進行過濾的函數(shù)可以是一個算子,稱它為“過濾算子”。在標準的數(shù)據(jù)庫軟件中,它的算子有Scan, Join, GroupBy等,而在網(wǎng)絡(luò)處理軟件中,特有的算子會是以BSD Socket,NVMe等標準服務(wù)的形式呈現(xiàn)。由于異構(gòu)計算的“異構(gòu)”特性,每個算子在不同設(shè)備上的具體實現(xiàn)有所不同,所以針對每一個支持的算子,都要有多種不同設(shè)備平臺上的實現(xiàn),如ScanOnDPU、ScanOnGPU。
計算優(yōu)化器
異構(gòu)計算追求的是計算性能的提升,相應(yīng)的需要一個計算優(yōu)化器來對上層的計算請求做優(yōu)化。它的基本策略是根據(jù)應(yīng)用場景、上下文、數(shù)據(jù)規(guī)模等因素來動態(tài)的選擇最優(yōu)的算子實現(xiàn)進行計算。
四、應(yīng)用服務(wù)層
應(yīng)用服務(wù)層是數(shù)據(jù)處理的應(yīng)用服務(wù)軟件,也是算力的需求側(cè)。應(yīng)用服務(wù)層代表具有通用功能的軟件系統(tǒng),這些軟件系統(tǒng)可以利用計算引擎提供的算子進行異構(gòu)計算,從而達到計算性能提升的目的。常見的應(yīng)用層軟件系統(tǒng)有分布式計算領(lǐng)域的Spark, Flink, Hadoop;數(shù)據(jù)庫領(lǐng)域的PostgreSQL, MySQL;分布式網(wǎng)絡(luò)中的gPRC,Network Gateway,Nginx;以及存儲服務(wù)中的Ceph等等,基本上通用服務(wù)型的系統(tǒng)都屬于該層的范疇。
在實際開發(fā)中,針對應(yīng)用服務(wù)層中的軟件,需要解決以下幾個關(guān)鍵問題:
- 性能瓶頸的識別:通常應(yīng)用軟件的性能瓶頸會在高并發(fā)、大吞吐的情況下出現(xiàn),這些瓶頸一般源于CPU計算資源的競爭、CPU計算性能的不足、網(wǎng)絡(luò)傳輸?shù)难舆t以及磁盤I/O的延遲等。識別出應(yīng)用軟件的性能瓶頸是算力卸載的第一步。
- 異構(gòu)計算的有效性邊界:在定位到軟件的性能瓶頸后,需要從中識別出哪些是可以通過異構(gòu)計算來解決的。通常,CPU成為瓶頸的原因會有兩類,一類是算力的問題,另一類是算法的問題。針對算力的問題,可以通過異構(gòu)計算來解決,而算法的問題則不然。
- 算子的高效調(diào)用:算子是異構(gòu)計算的執(zhí)行單元,只有把算子集成到應(yīng)用軟件的執(zhí)行路徑中,算力卸載才算完成。考慮到性能的優(yōu)化,還需要根據(jù)實際情況優(yōu)化算子的執(zhí)行策略,例如,數(shù)據(jù)在主機端與設(shè)備端內(nèi)存之間的數(shù)據(jù)拷貝策略、各算子執(zhí)行序列的編排策略等等。
- 應(yīng)用軟件的向前兼容性:在整合應(yīng)用軟件與異構(gòu)計算的算子時,要確保應(yīng)用軟件的向前兼容性,以保證應(yīng)用服務(wù)層的軟件迭代對正在運行的上層業(yè)務(wù)系統(tǒng)是透明的,從而提高整個架構(gòu)的穩(wěn)定性與可維護性。
五、業(yè)務(wù)開發(fā)層
業(yè)務(wù)開發(fā)層是在某特定領(lǐng)域的業(yè)務(wù)系統(tǒng)。業(yè)務(wù)開發(fā)層是最貼近實際業(yè)務(wù)場景的軟件系統(tǒng),通常它是針對某個特定行業(yè)的具體業(yè)務(wù)需求定制的軟件系統(tǒng),如金融行業(yè)的交易系統(tǒng),互聯(lián)網(wǎng)行業(yè)的數(shù)據(jù)分析系統(tǒng)等等。整個異構(gòu)計算架構(gòu)本質(zhì)上就是解決業(yè)務(wù)層的性能瓶頸問題,所以在實際開發(fā)過程中,應(yīng)該從業(yè)務(wù)端出發(fā),尋找要解決的根本問題,然后驅(qū)動整個異構(gòu)系統(tǒng)的構(gòu)建。同時,整體架構(gòu)也要保證底層構(gòu)建對具體的業(yè)務(wù)系統(tǒng)完全透明,達到對各行業(yè)業(yè)務(wù)軟件系統(tǒng)的無縫支撐和業(yè)務(wù)邏輯開發(fā)的隔離。
-
DPU
+關(guān)注
關(guān)注
0文章
391瀏覽量
24771
發(fā)布評論請先 登錄
能效提升3倍!異構(gòu)計算架構(gòu)讓AI跑得更快更省電
RAKsmart智能算力架構(gòu):異構(gòu)計算+低時延網(wǎng)絡(luò)驅(qū)動企業(yè)AI訓練范式升級
請問使用2022.2時是否可以讀取模型OpenVINO?層?
【一文看懂】什么是異構(gòu)計算?

如何通過OSI七層模型優(yōu)化網(wǎng)絡(luò)性能
OSI七層模型中各層的協(xié)議 OSI七層模型的優(yōu)勢與不足
如何理解OSI七層模型 OSI七層模型在網(wǎng)絡(luò)中的應(yīng)用
OSI七層模型的每一層功能
OSI七層模型詳解 OSI七層模型與TCP/IP模型比較
IaaS+on+DPU(IoD)+下一代高性能算力底座技術(shù)白皮書
AvaotaA1全志T527開發(fā)板AMP異構(gòu)計算簡介
異構(gòu)計算:解鎖算力潛能的新途徑

三層神經(jīng)網(wǎng)絡(luò)模型的優(yōu)缺點
什么是波特五力模型,如何應(yīng)用
芯片軟件全上陣 DPU“全家桶”來了!中科馭數(shù)成功舉辦2024產(chǎn)品發(fā)布會

評論