0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

DPU軟件棧五層模型系列(一)DPU異構計算架構五層開發(fā)模型

中科馭數(北京)科技有限公司 ? 2022-06-06 18:14 ? 次閱讀

一般說來,異構計算的核心目的是解決特定應用場景下算力不足的問題,并且大幅度提升整體系統(tǒng)的計算性能。在整體架構上,它的分層邏輯從應用場景出發(fā),通過上層的需求來定義下層的功能,而每一層是對特定功能的抽象與封裝。在定義每一層功能時,要達到以下幾個目標:

各層職責單一

層間邊界清晰

層內功能實現獨立

靈活易擴展

基于上述目標,將一個異構計算的系統(tǒng)抽象為五層(如下圖所示),自下而上分別是:1)DSA設備層(DSA Device Layer),2)DSA操作層 (DSA Operating Layer),3)計算引擎層(Scheduling Operating Layer),4)應用服務層(Application Service Layer)和5)業(yè)務開發(fā)層 (Business Development Layer),詳述如下。

pYYBAGKdni-AKbWXABHPTwvC8VU475.png圖異構計算系統(tǒng)抽象模型

一、DSA設備層

DSA設備層代表的是執(zhí)行異構計算的DSA處理器以及集成了該處理器的硬件設備,例如,以DPU或GPU為處理器的異構計算設備。異構計算設備需要具備以下兩個核心能力:1)提供支持專用計算操作的指令集(Instruction Set),2)CPU或其他DSA設備的標準通信接口,如PCIe數據傳輸標準。

二、DSA操作層

DSA操作層是對DSA處理器的指令集的管理以及基礎開發(fā)平臺的整合,該層完成了對硬件資源的抽象,從而使上層軟件對底層設備透明;DSA操作層是對DSA設備層計算設備的抽象和計算資源的封裝,是軟件與硬件、邏輯與物理的邊界。它基于如DPU芯片等DSA處理器提供的指令集,以更加抽象和編程友好的方式對上層提供了異構計算開發(fā)和訪問的軟件接口、以及設備監(jiān)控管理的接口。該層內部有四個必要的模塊,分別是設備驅動器,指令集管理器,資源訪問接口,開發(fā)和管理平臺。

  • 設備驅動器:設備驅動器是硬件設備的軟件抽象,它基于操作系統(tǒng)標準的驅動框架及PCIe協議,實現了對計算設備的物理訪問,主要包括設備處理器的指令執(zhí)行和設備存儲的讀寫。
  • 指令集管理器:指令管理器的作用是對計算設備所提供的指令集進行統(tǒng)一管理,通過對指令集的封裝及組合,提供更加友好的編程接口。
  • 資源訪問接口:基于設備驅動器和指令集管理器的功能,該模塊完成對整個計算資源訪問的抽象和封裝,它以編程接口的方式對上層提供資源訪問入口,服務于上層計算邏輯和控制邏輯的執(zhí)行。
  • 開發(fā)和管理平臺:除了上述運行時所需的能力外,還需要針對開發(fā)人員提供友好的編程工具,如指令集編譯工具、監(jiān)控管理工具、日志工具、異構計算卡模擬器等。

三、計算引擎層

計算引擎層是對計算邏輯的封裝,為上層提供通用的計算能力。與DSA操作層的對計算資源封裝不同,計算引擎層是對計算邏輯的封裝,它基于DSA操作層提供的資源訪問接口,根據上層應用層軟件對算力的需求,提供了可復用的算子集合及執(zhí)行接口。

算子抽象

算子定義為實現某一特定功能或算法的函數或獨立的服務,它是對計算邏輯的抽象。例如,根據指定條件對數據進行過濾的函數可以是一個算子,稱它為“過濾算子”。在標準的數據庫軟件中,它的算子有Scan, Join, GroupBy等,而在網絡處理軟件中,特有的算子會是以BSD Socket,NVMe等標準服務的形式呈現。由于異構計算的“異構”特性,每個算子在不同設備上的具體實現有所不同,所以針對每一個支持的算子,都要有多種不同設備平臺上的實現,如ScanOnDPU、ScanOnGPU。

計算優(yōu)化器

異構計算追求的是計算性能的提升,相應的需要一個計算優(yōu)化器來對上層的計算請求做優(yōu)化。它的基本策略是根據應用場景、上下文、數據規(guī)模等因素來動態(tài)的選擇最優(yōu)的算子實現進行計算。

四、應用服務層

應用服務層是數據處理的應用服務軟件,也是算力的需求側。應用服務層代表具有通用功能的軟件系統(tǒng),這些軟件系統(tǒng)可以利用計算引擎提供的算子進行異構計算,從而達到計算性能提升的目的。常見的應用層軟件系統(tǒng)有分布式計算領域的Spark, Flink, Hadoop;數據庫領域的PostgreSQL, MySQL;分布式網絡中的gPRC,Network Gateway,Nginx;以及存儲服務中的Ceph等等,基本上通用服務型的系統(tǒng)都屬于該層的范疇。

在實際開發(fā)中,針對應用服務層中的軟件,需要解決以下幾個關鍵問題:

  • 性能瓶頸的識別:通常應用軟件的性能瓶頸會在高并發(fā)、大吞吐的情況下出現,這些瓶頸一般源于CPU計算資源的競爭、CPU計算性能的不足、網絡傳輸的延遲以及磁盤I/O的延遲等。識別出應用軟件的性能瓶頸是算力卸載的第一步。
  • 異構計算的有效性邊界:在定位到軟件的性能瓶頸后,需要從中識別出哪些是可以通過異構計算來解決的。通常,CPU成為瓶頸的原因會有兩類,一類是算力的問題,另一類是算法的問題。針對算力的問題,可以通過異構計算來解決,而算法的問題則不然。
  • 算子的高效調用:算子是異構計算的執(zhí)行單元,只有把算子集成到應用軟件的執(zhí)行路徑中,算力卸載才算完成??紤]到性能的優(yōu)化,還需要根據實際情況優(yōu)化算子的執(zhí)行策略,例如,數據在主機端與設備端內存之間的數據拷貝策略、各算子執(zhí)行序列的編排策略等等。
  • 應用軟件的向前兼容性:在整合應用軟件與異構計算的算子時,要確保應用軟件的向前兼容性,以保證應用服務層的軟件迭代對正在運行的上層業(yè)務系統(tǒng)是透明的,從而提高整個架構的穩(wěn)定性與可維護性。

五、業(yè)務開發(fā)層

業(yè)務開發(fā)層是在某特定領域的業(yè)務系統(tǒng)。業(yè)務開發(fā)層是最貼近實際業(yè)務場景的軟件系統(tǒng),通常它是針對某個特定行業(yè)的具體業(yè)務需求定制的軟件系統(tǒng),如金融行業(yè)的交易系統(tǒng),互聯網行業(yè)的數據分析系統(tǒng)等等。整個異構計算架構本質上就是解決業(yè)務層的性能瓶頸問題,所以在實際開發(fā)過程中,應該從業(yè)務端出發(fā),尋找要解決的根本問題,然后驅動整個異構系統(tǒng)的構建。同時,整體架構也要保證底層構建對具體的業(yè)務系統(tǒng)完全透明,達到對各行業(yè)業(yè)務軟件系統(tǒng)的無縫支撐和業(yè)務邏輯開發(fā)的隔離。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • DPU
    DPU
    +關注

    關注

    0

    文章

    352

    瀏覽量

    24072
收藏 人收藏

    評論

    相關推薦

    IaaS+on+DPU(IoD)+下代高性能算力底座技術白皮書

    ,在其上掛載了各種計算、存儲資源的節(jié)點,對于系統(tǒng)的資源彈性、運行效率、性能都大有益處。但是這種使用方式的變化,需要對現有云計算架構進行定程度的變革,才能充分發(fā)揮出
    發(fā)表于 07-24 15:32

    AvaotaA1全志T527開發(fā)板AMP異構計算簡介

    Avaota SBC 的部分平臺內具有小核心 CPU,與大核心起組成了異構計算的功能。 在異構多處理系統(tǒng)中,主核心和輔助核心的存在旨在共同協作,以實現更高效的任務處理。這種協作需要系統(tǒng)采取
    發(fā)表于 07-24 09:54

    異構計算:解鎖算力潛能的新途徑

    在這個數據爆炸的時代,計算力是推動社會與科技創(chuàng)新的核心。從日常智能設備的流暢運行到超級計算機的尖端模擬,均依賴強大的計算能力。但面對多樣化的復雜計算任務,單
    的頭像 發(fā)表于 07-18 08:28 ?7333次閱讀
    <b class='flag-5'>異構計算</b>:解鎖算力潛能的新途徑

    神經網絡模型的優(yōu)缺點

    神經網絡模型種常見的深度學習模型,它由輸入、兩個隱藏和輸出
    的頭像 發(fā)表于 07-11 10:58 ?336次閱讀

    芯片軟件全上陣 DPU“全家桶”來了!中科馭數成功舉辦2024產品發(fā)布會

    6月19日,中科馭數2024產品發(fā)布會在北京中關村展示中心正式舉辦。聚焦自研DPU核心技術,中科馭數重磅發(fā)布最新DPU芯片K2 Pro、軟件開發(fā)平臺HADOS、以及
    的頭像 發(fā)表于 06-23 11:09 ?707次閱讀
    芯片<b class='flag-5'>軟件</b>全上陣 <b class='flag-5'>DPU</b>“全家桶”來了!中科馭數成功舉辦2024產品發(fā)布會

    明天線上見!DPU構建高性能云算力底座——DPU技術開放日最新議程公布!

    技術在不同行業(yè)中的應用解決方案有哪些?能帶來怎樣的業(yè)務效果? 3月29日本周,中科馭數集結產品大咖及解決方案專家團,誠邀您參加以“DPU構建高性能云算力底座”為主題的線上DPU技術開放日! 他們將逐
    的頭像 發(fā)表于 04-03 18:12 ?938次閱讀

    osi七模型各層功能及協議 osi七模型有哪些

    OSI七模型,是開放式系統(tǒng)互聯(Open System Interconnection,簡稱OSI)參考模型,是國際標準化組織(ISO)在1984年定義的種網絡協議
    的頭像 發(fā)表于 01-25 11:03 ?1.2w次閱讀

    《數據處理器:DPU編程入門》DPU計算入門書籍測評

    架構服務,同時它般不直接面向于數據存儲,通信接口等底層應用。也不直接架構頂層的服務。 因此對于DPU系統(tǒng)來說,現在CPU仍然是GPU于DPU
    發(fā)表于 12-24 10:54

    OSI七模型如何幫助網絡通信?

    OSI(開放系統(tǒng)互聯)七模型計算機網絡體系結構的種描述方式,它為不同系統(tǒng)之間的通信提供了統(tǒng)的標準。這個
    的頭像 發(fā)表于 12-21 16:27 ?513次閱讀

    《數據處理器:DPU編程入門》讀書筆記

    首先感謝電子發(fā)燒友論壇提供的試讀機會。 第周先閱讀了DPU的技術發(fā)展背景,了解到DPU是結合了高性能及軟件可編程的多核CPU、高性能網絡接口,以及各種靈活和可編程的加速引擎。
    發(fā)表于 12-21 10:47

    《數據處理器:DPU編程入門》+初步熟悉這本書的結構和主要內容

    大幅度提高計算速度和效率,以滿足這些增長的計算需求。 其次,網絡和數據處理的緊密結合是DPU演進的另個核心驅動力。在當前的計算
    發(fā)表于 12-08 18:03

    javaWeb的MVC三架構的原理

    JavaWeb的MVC三架構種將應用程序分為三個主要組件的軟件設計模式,即模型(Model)、視圖(View)和控制器(Control
    的頭像 發(fā)表于 12-03 11:48 ?852次閱讀

    什么是DPU

    三個關鍵要素于身。DPU種SOC(System On Chip),它結合了: 行業(yè)標準的、高性能及軟件可編程的多核CPU,通?;谝褢脧V泛的Arm
    發(fā)表于 11-03 10:55

    解碼 DPU 編程,投稿贏取好禮!

    十余位資深系統(tǒng)架構師歷經數月編寫而成,定位為 NVIDIA BlueField 系列 DPU 和 NVIDIA DOCA 開發(fā)環(huán)境
    的頭像 發(fā)表于 11-01 20:25 ?375次閱讀
    解碼 <b class='flag-5'>DPU</b> 編程,投稿贏取好禮!

    在TCP/IP5模型中,應用是如何與傳輸連接的?

    在以TCP/IP5模型中,應用是如何與傳輸連接的 “封裝”又是指什么?顯示全部
    發(fā)表于 10-28 06:53