FPGA資源平民化的新晉 F3 技術解析

2021-08-20 04:23:37 字數 4236 閱讀 9798

摘要:

fpga (現場可程式設計門陣列)由於其硬體並行加速能力和可程式設計特性,在傳統通訊領域和ic設計領域大放異彩。一路走來,fpga並非乙個新興的硬體器件,由於其開發門檻過高,硬體加速演算法的發布和部署保護要求非常高,fpga的使用一直是高冷的美人,沒有走入平常百姓家。

fpga (現場可程式設計門陣列)由於其硬體並行加速能力和可程式設計特性,在傳統通訊領域和ic設計領域大放異彩。一路走來,fpga並非乙個新興的硬體器件,由於其開發門檻過高,硬體加速演算法的發布和部署保護要求非常高,fpga的使用一直是高冷的美人,沒有走入平常百姓家。也就導致fpga的計算潛力還沒有得到深入的挖掘。

阿里雲虛擬化團隊異構計算和高效能計算團隊一直致力於將計算資源"平民化";高效能計算團隊在做的e-hpc就是要讓所有雲上使用者都能夠瞬間擁有乙個小型的超算集群,使得使用超算不再僅僅是一些超算中心和高校的特權;而異構計算團隊則致力於將目前最快,最新的計算裝置在雲上提供給使用者,使得曾經高冷的計算資源不再拒人千里之外:推出了fpga雲伺服器faas 服務,其中的f1和f2例項已經對外提供服務,可以通過一鍵部署的方式把intel和xilinx的小規格的器件計算能力賦予客戶。

2023年5月,新晉的大規格fpga例項,基於xilinx 16nm virtex ultrascale+ 器件vu9p的例項f3正式發布。下面將對阿里雲fpga計算(下面簡稱faas)服務本身,以及這次發布的f3例項的底層硬體架構和平台架構進行技術解讀。

faas

阿里fpga雲伺服器平台faas(fpga as a service)在雲端提供統一硬體平台與中介軟體,可大大降低加速器的開發與部署成本。加速器開發商的加速器可以形成服務提供給加速器使用者,消除加速技術與終端使用者的硬體壁壘。使用者則能夠在無需了解底層硬體的情況下,直接按需使用加速服務。

為了給加速器提供方和使用方提供更加高效、統一的開發及部署平台,faas提供兩大套件:hdk和sdk。

hdkhdk給所有的加速器開發者提供統一的fpga硬體介面,提前幫使用者解決了fpga開發中難度最大的高速介面開發及除錯,例如pcie、serdes介面、ddr控制器等等;使得使用者能夠直接得到硬體平台和fpga介面的最大效能,不會因為團隊開發能力和經驗的欠缺,造成硬體平台效能浪費;高效、可靠、統一的介面套件也為雲上平台的安全隔離、裝置穩定提供了保障,不會因為使用者的介面設計問題,造成伺服器宕機;同時可以杜絕使用者在fpga端對主機的非法操作,為整個雲上安全提供保障。

hdk包括兩個部分,shell和 role;shell部署在靜態區域,提供上述統一介面部分。

在提供統一介面、安全性和便捷性的前提下,阿里雲faas hdk 也盡最大的努力保證使用者設計的靈活性,role的概念應運而生。role部署在動態區域,是在shell之外,預先開發並提供的,使用者可以配合使用者邏輯(customer logic)使用。不同於shell,使用者可以根據需要,隨時更換role部分;這種shell + role的組合方式,保證了shell的最輕量化,兼顧了統一性、便捷性和靈活性。

sdksdk包括兩個部分:

 和hdk(shell+role)對應的主機端驅動(drivers)和軟體庫(libraries)

 fpga管理工具 faascmd套件

驅動和軟體庫和hdk的shell以及role相對應,和hdk一起,為使用者提供統一及靈活的軟體支援,比如dma驅動、暫存器訪問驅動等等。

faas 的ip市場

faas幫助降低了fpga邏輯開發者開發的准入門檻:雲上即開即用的fpga資源,靈活的付費模式使得硬體資源觸手可及;fpga的邏輯開發上,簡化了開發流程,統一了開發介面,把核心加速邏輯從周邊硬體裝置的介面除錯中隔離出來,使得fpga的新興應用可以只關注業務加速的核心邏輯,快速迭代;在這兩點上,阿里雲的faas 邁出了fpga資源平民化的第一步。

但是即便是大大簡化的開發流程,觸手可及的硬體資源,fpga依然有一定的開發門檻。如何把已有的fpga 邏輯ip價值最大化,聯通fpga加速的需求方和提供方呢?重要的一點就是如何解決在公共雲資料中心層面保證fpga加速ip的安全性,特別是對不可信的第三方進行輸出和部署這個難題, faas是如何解決這個問題的呢?

答案是通過阿里雲的faas的ip市場。技術上,通過與xilinx聯合開發的定製虛擬化技術達到ip加速與部署環境的強隔離,ip的使用者對原始ip的網表檔案完全隔離,網表檔案的傳輸,部署,加速流程全程對使用者都不可見,同時加速計算能力又可以透明的向ip使用方第三方使用者開放,這是阿里雲在fpga雲上加速服務另外乙個技術創新。這個創新,完全杜絕了fpga ip在雲上輸出的時候被盜版的可能,提供了非常高的安全保護機制。

在阿里雲faas ip 市場的幫助下,即便是從來沒有任何fpga開發經驗的使用者,也可以一鍵從ip市場中獲取相應的加速邏輯,並部署到對應的fpga器件上面去。相信通過即開即用的硬體資源,統一的軟硬體邏輯開發介面和ip市場,阿里雲能夠真正實現fpga計算資源平民化的承諾。

f3硬體架構

阿里雲faas的f3例項在底層硬體上,是使用阿里雲自主研發的高效能單卡雙晶元的vu9p的板卡。這裡要划重點啦:單卡雙晶元。一定有使用者要問為什麼要這麼設計呢?單卡雙晶元的硬體設計有什麼好處呢?

首先,對於使用者來說,通過單卡雙晶元的這樣的規格設計,與阿里雲配套自研的伺服器一起,最高可以提供單例項16 塊 vu9p的計算例項。16塊 vu9p這是非常高的計算密度了,這是設計單卡雙晶元的第乙個目的:通過提高計算密度,在同等計算單元下整合了更多的加速晶元,能夠有效降低單位計算力的成本,從成本和單位例項的垂直計算力提公升上客戶可以雙重受益。

單卡雙晶元的兩個vu9p晶元通過pcie 橋接入系統,那麼雙晶元之間的互相通訊呢?是不是只能通過pcie的匯流排來進行呢,答案是否定的,除了fpga direct這種通過pcie互相通訊的能力之外,在阿里雲的自研的板卡上也是有特殊考慮的。在兩個晶元之間,設計了乙個高速互聯通道,使得兩個fpga之間可以通過這個特殊的通道以高達600gb/s的速率進行通訊,這個通訊技術稱之為fpga link。要知道,現在的資料中心主流部署的接入交換機光口通訊也只能達到100gb/s的通訊速率,更高的200gb/s的交換機還在試部署中。

不少應用場景對板載的ddr儲存還是有要求的。阿里雲的f3例項,為每個fpga搭配了客戶可見的64gb的ddr記憶體,這64gb的ddr分成4個通道,分別連線到vu9p的3個矽單元上面,其中乙個通道對應的16gb ddr保留常駐,其餘3個通道對應的48gb儲存以可選的方式可以被客戶邏輯載入使用。

目前,看到了雙晶元例項除了fpga direct技術和高達600gb/s的fpga link高速互聯能力之外,另外值得一提的是:雙晶元的例項與其他的雙晶元例項板卡之間也可以通過400gb/s的光口進行互聯,而且400gb/s的以太協議驅動是通過xilinx預置的mac硬核來加速,不占用邏輯面積;通過以太或者自定義的輕量級通訊協議,能夠在16晶元之間,以及更多的晶元之間搭建2維mesh或者環形互聯,進一步擴充套件多片互聯的使用模式和應用場景。

最後,上一張圖,讓大家對上面做的硬體的技術解析有乙個相對更具體的認識。

f3邏輯結構

f3邏輯結構,先給大家上一幅圖:

shell是fpga的靜態區域,內部包含使用者pcie、管理pciee、板卡管理系統和乙個ddr訪問通道。為了提高板卡的安全和穩定性,使用者無權修改shell區域。

role:

在設計中提出了role的概念,role和shell是類似的封裝。而role跟custom logic一起在動態區域。role的提出,可以更加輕量化shell。通過role實現了同乙個shell既可以支援opencl開發,也可以支援rtl開發;最後就是role的再次抽象降低了使用者對於fpga的開發門檻。我們提供基礎的role,也允許使用者自行設計role。我們希望更多第三方的設計者通過分享自己role,使得faas平台更加精彩.

role內部結構簡介

interconnect:該部分主要是提供給使用者四路ddr通道的訪問和user_pcie對四路ddr通路的訪問。 該模組幫助使用者隔離了時鐘域,使使用者邏輯在同乙個時鐘域上對4路ddr通道進行訪問。

inter chip interconnect: fpga 單卡雙晶元間互聯通路;

card interconnect: fpga 卡間互聯通路;

custom logic:使用者自定義邏輯部分;

使用者邏輯是屬於role的一部分,屬於動態載入區域。 為了方便使用者標準化使用,我們在rtl設計中使用了標準的axi-4和axi-lite介面。

FPGA資源平民化的新晉 F3 技術解析

摘要 fpga 現場可程式設計門陣列 由於其硬體並行加速能力和可程式設計特性,在傳統通訊領域和ic設計領域大放異彩。一路走來,fpga並非乙個新興的硬體器件,由於其開發門檻過高,硬體加速演算法的發布和部署保護要求非常高,fpga的使用一直是高冷的美人,沒有走入平常百姓家。fpga 現場可程式設計門陣...

如何將FPGA資源平民化?阿里工程師有了新突破

阿里雲ecs的異構計算團隊和高效能計算團隊一直致力於將計算資源 平民化 高效能計算團隊在做的e hpc就是要讓所有雲上使用者都能夠瞬間擁有乙個小型的超算集群,使得超算不再僅僅是一些超算中心和高校的特權 而我們異構計算團隊則致力於將目前最快 最新的計算裝置在雲上提供給使用者,使得曾經高冷的計算資源不再...

智慧型家居要走平民化路線

日前,名匠裝飾與海爾湖南共同宣布達成智慧型家居戰略合作,聯手布局智慧型家居生態圈。發布會上,多款智慧型產品跨界首發。通過多方聯合補貼的方式提高價效比,解決 的痛點,相關的售後服務也將更有保障,推動智慧型家居以 平民 走進千家萬戶。海爾湖南相關負責人說。智慧型家居市場規模巨大 智慧型家居概念進入國內數...