摘要: 阿里FPGA雲服務器平臺FaaS(FPGA as a Service)在雲端提供統一硬件平臺與中間件,可大大下降加速器的開發與部署成本。普惠開發者算法
FPGA (現場可編程門陣列)因爲其硬件並行加速能力和可編程特性,在傳統通訊領域和IC設計領域大放異彩。一路走來,FPGA的技術並非一個新興的硬件器件,因爲其開發門檻太高,硬件加速算法的發佈和部署保護要求很是高,FPGA的使用一直是高冷的美人,沒有走入日常百姓家。也就致使FPGA的計算潛力尚未獲得深刻的挖掘。編程
阿里FPGA雲服務器平臺FaaS(FPGA as a Service)在雲端提供統一硬件平臺與中間件,可大大下降加速器的開發與部署成本。用戶能夠直接使用部署加速器提供商提供的加速服務;也能夠在無需瞭解底層硬件的狀況下,快速開發和部署本身的定製加速器。
安全
FaaS平臺提供給全部的加速器開發者統一的FPGA硬件接口Shell,提早幫用戶解決了FPGA開發難度最大的高速接口開發及調試,例如PCIe,Fiber接口, DDR控制器等等,大大簡化了開發的時間;用戶可以直接獲得硬件平臺和FPGA接口的最大性能,不會由於團隊開發能力和經驗的欠缺,形成硬件平臺性能浪費。服務器
在提供統一接口提供安全性和便捷性的前提下,阿里雲FaaS也盡最大努力保證用戶設計的靈活性和快捷性,Role的概念應運而生。Role在動態區域,不一樣於Shell,用戶能夠根據須要,隨時更換Role部分;這種Shell + Role的組合方式,保證了Shell的最輕量化,極大的提高了開發的便捷性,大大縮短了開發所需時間。性能
與Shell和 Role對應,在服務器端,FaaS也提供相應的驅動和軟件庫,爲用戶提供統一及靈活的軟件支持,好比DMA驅動,寄存器訪問驅動等等。測試
傳統的FPGA開發若是從硬件設計開始,須要經歷原理設計、PCB設計、PCB生產、裝配測試等 漫長的硬件週期; 在邏輯設計階段,也須要從板卡啓動調試、接口調試、驅動開發等最底層的工做開始;這些工做完成以後,開能開始正常的邏輯開發工做。阿里雲
阿里FaaS平臺大大簡化了整個FPGA的設計流程。使用FaaS實例,無需硬件週期;邏輯設計階段,也可直接跳過板卡啓動調試以及接口調試,能夠直接開始用戶邏輯設計;並且,Role的提供,也可簡化或者省略一部分用戶邏輯的設計。
設計
原文連接中間件