娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年01月14日(星期二)

正在發(fā)生

2019年01月14日 | FPGA虛擬化技術將成為未來主攻方向

發(fā)布者:RadiantSerenity 來源: 老石談芯關鍵字:FPGA 手機看文章 掃描二維碼
隨時隨地手機看文章

利用FPGA虛擬化突破時空限制

 

在傳統(tǒng)的FPGA開發(fā)模型中,使用者通常使用硬件描述語言(HDL)對應用場景進行建模,然后通過特定的FPGA開發(fā)工具將硬件模型映射到FPGA上,最終生成可以運行的FPGA映像。

 

這種開發(fā)模式的另外一個主要缺點是,F(xiàn)PGA只能由單一用戶開發(fā)和使用,而與應用場景、FPGA的產(chǎn)品種類等無關。比如對于一個對資源需求不大、而且不需要連續(xù)運行的應用而言,大部分FPGA的硬件資源在大部分時間內(nèi)都會閑置。很顯然,這樣很難在時空范圍內(nèi)對FPGA進行充分利用,見下圖。

 

image.png


為了提高FPGA的開發(fā)效率、更好的利用FPGA的邏輯資源、方便FPGA的大規(guī)模部署和應用,需要將FPGA進行一定程度的邏輯抽象,使頂層用戶不必太多關注于FPGA硬件邏輯的實現(xiàn)方式與細節(jié)。由此,F(xiàn)PGA虛擬化技術就應運而生。

 

可以說,F(xiàn)PGA虛擬化技術打破了時間和空間維度的限制,使用戶能夠輕松的在不同時間,對多個FPGA的各類資源進行充分的調(diào)度與使用,見上圖。

 

FPGA虛擬化技術目前仍在發(fā)展初期,是工業(yè)界和學術界研究的熱點。在本文中將介紹三種主流的FPGA虛擬化技術的實現(xiàn)方法:

 

  1. FPGA Overlay

  2. 部分重構與虛擬化管理器

  3. FPGA資源池與虛擬化框架

  

FPGA Overlay

 

Overlay本意是覆蓋或疊加,它在網(wǎng)絡技術里是一種構建虛擬邏輯網(wǎng)絡的方法。它的實現(xiàn)方法通常是在物理網(wǎng)絡架構的基礎上,增加一層虛擬的網(wǎng)絡平面,使得上層應用與底層物理網(wǎng)絡相分離。這個虛擬的網(wǎng)絡平面本質(zhì)上可以通過隧道封裝技術實現(xiàn),在數(shù)據(jù)中心網(wǎng)絡中常用的VxLAN就是Overlay的主流標準之一。

 

Overlay中增加虛擬層次的方法與本章開頭給出的FPGA虛擬化方法非常類似。事實上,F(xiàn)PGA Overlay可以說是目前應用最廣泛的FPGA虛擬化方法之一。和網(wǎng)絡技術相似,F(xiàn)PGA Overlay是一層位于FPGA硬件層之上,并連接頂層應用的虛擬可編程架構,如下圖所示。


image.png


Overlay的具體實現(xiàn)形式有很多種,它既可以是工程中常用的軟核通用處理器,也可以是一組支持更高級編程模型的可編程邏輯處理單元,稱為CGRA(Coarse-Grained Reconfigurable Array),或者是一些實現(xiàn)特定功能的專用處理器,如Virtual Box公司開發(fā)的針對加速向量計算的向量處理器(Vector Processor)等等。

 

使用Overlay的主要目的是為上層用戶提供一個他們更為熟悉的編程架構與接口,便于他們通過諸如C語言等高層語言對Overlay中的通用處理器等進行編程,而不需擔心具體的硬件電路實現(xiàn),由此實現(xiàn)了對FPGA底層硬件資源的抽象和虛擬化。

 

另外,由于Overlay層提供的邏輯處理單元或軟核處理器通常與底層FPGA硬件無關,因此方便了上層設計在不同F(xiàn)PGA架構之間的移植。

 

使用Overlay的另外一個好處是可以在很大程度上縮短FPGA的編譯時間。相比通常只有幾分鐘的軟件編譯時間,F(xiàn)PGA的編譯需要經(jīng)過邏輯綜合、映射、布局布線等多項步驟,對于一個中等規(guī)模的FPGA設計而言,整個編譯過程通常會長達幾個小時之久。由于Overlay層的邏輯架構相對固定,因此可以由Overlay的提供者提前進行全部或部分編譯。用戶在使用時,就只需編譯自己編寫的邏輯部分即可,這樣大大縮短了整體的開發(fā)時間,也方便對應用進行調(diào)試和修改。

 

Overlay技術與高層次綜合(High-Level Synthesis,簡稱HLS)技術的主要區(qū)別在于,前者引入的Overlay層往往并不能完全隱藏底層的FPGA結構,由此可能帶來額外的開發(fā)難度和成本。這通常體現(xiàn)在兩個方面:


第一,Overlay層往往不能實現(xiàn)上層用戶的全部邏輯。例如,使用軟核處理器時,通常用它們進行數(shù)據(jù)通路和邏輯的控制,此時仍然需要專門的硬件工程師開發(fā)數(shù)據(jù)通路的部分。

 

第二,Overlay還沒有一個業(yè)界統(tǒng)一的標準化開發(fā)模型。如果在Overlay中使用專門的處理器陣列或CGRA,由于目前并沒有一個類似在HLS中采用的通用標準,那么就需要軟件工程師提前學習和掌握所用的CGRA的編程模型,也需要有硬件工程師團隊負責在FPGA中實現(xiàn)和優(yōu)化Overlay層中的CRGA硬件電路。

 

部分可重構與虛擬化管理器


部分可重構(Partial Reconfiguration)是FPGA的主要特點之一,它體現(xiàn)了FPGA特有的靈活性。具體來說,部分可重構是指,可以將FPGA內(nèi)部劃分出一個或多個區(qū)域,并在FPGA運行過程中單獨對這些區(qū)域進行編程和配置,以改變區(qū)域內(nèi)電路的邏輯,但并不影響FPGA其他電路的正常運行。

 

部分可重構使得FPGA可以在時間和空間兩個維度,由硬件直接進行多任務的切換,如下圖所示。


image.png


利用部分可重構技術,可以將FPGA劃分成若干個子區(qū)域,作為虛擬FPGA供單個或多個用戶使用,同時保留一部分邏輯資源作為不可重配置區(qū)域,用來實現(xiàn)必要的基礎架構,如內(nèi)存管理與網(wǎng)絡通信等。

 

一個典型的例子是微軟的Catapult項目。在他們2014年ISCA會議上發(fā)表的文章中介紹,每個FPGA都在邏輯上被劃分成“Role”和“Shell”兩部分,如下圖所示。

 

image.png


其中,Role為可重構的邏輯單元,可以根據(jù)不同用戶應用進行編程和配置;Shell為不可重配置區(qū)域,包含了不同應用都可能需要的基礎架構,比如DRAM控制器、高速串行收發(fā)器、負責與主機通信的PCIe模塊與DMA、控制重構的Flash讀寫模塊,以及其他各種I/O接口等等。

 

在這篇文章中,微軟在其數(shù)據(jù)中心的1632臺服務器中部署了Intel的Stratix V系列FPGA,在Role部分對微軟必應(Bing)搜索引擎的文件排名運算進行了硬件加速,并達到了高達95%的吞吐量提升,同時功耗的增加不超過10%,總成本增加不超過30%。

 

另外一個基于FPGA部分可重構技術進行FPGA虛擬化的例子,是IBM的cloudFPGA項目。在它2015年發(fā)表的文章中,F(xiàn)PGA被劃分成三部分:管理層(Management Layer)、網(wǎng)絡服務層(Network Service Layer)以及虛擬FPGA層(vFPGA),如下圖所示。


image.png


其中,vFPGA本質(zhì)上就是一個或多個可以動態(tài)重構的FPGA區(qū)域,它們可以共同屬于一個用戶,或分屬多個用戶,運行著相同或不同的應用。

 

在一個vFPGA進行動態(tài)重構時,其他vFPGA的運行不會受到影響。管理層是不可被用戶配置的區(qū)域,主要負責對這些vFPGA進行內(nèi)存的分配和管理。vFPGA和管理層類似于傳統(tǒng)虛擬化架構中虛擬機和Hypervisor的關系。網(wǎng)絡服務層則主要負責控制多個vFPGA與數(shù)據(jù)中心網(wǎng)絡的通信,并在FPGA硬件上實現(xiàn)了L2-L4層網(wǎng)絡協(xié)議,供所有vFPGA使用。

 

為了通過部分重構技術進行FPGA虛擬化,通常都需要引入額外的管理層。與Hypervisor類似,管理層對虛擬后的FPGA進行各類資源的統(tǒng)一管理與調(diào)度,如Catapult項目中的Shell層,以及cloudFPGA項目中的Management層。

 

但是,管理層的引入勢必會占用原本可以用于應用邏輯的可編程資源,同時對系統(tǒng)的整體性能帶來負面影響。

 

另外,對FPGA強行劃分多個可重構區(qū)域,也可能會嚴重影響系統(tǒng)性能。比如,一旦劃分了可重構區(qū)域,就代表著其他應用邏輯不能使用該區(qū)域內(nèi)的硬件資源,這樣會嚴重影響編譯時布局布線的靈活度,導致某些時序路徑必須“繞道”,以避免這些可重構區(qū)域,從而造成過長的布線延時。另一方面,如果劃分了過少的可重構區(qū)域,就可能會造成FPGA資源的空置和浪費。

 

因此,如何優(yōu)化FPGA上可重構區(qū)域的劃分數(shù)目,以及針對動態(tài)重構進行布局布線工具的優(yōu)化設計,是當前學術界和工業(yè)界正在探索的問題。

 

FPGA資源池與虛擬化框架


為了實現(xiàn)多用戶的支持,與其在單一FPGA芯片上使用動態(tài)重構技術劃分多個可重構區(qū)域,也可以使用多個FPGA級聯(lián),使每個FPGA負責單個或少量用戶,并通過一個整體的虛擬化框架完成系統(tǒng)的集成與資源調(diào)度。同樣的,這個架構也可以支持單一個用戶同時需求多個FPGA的應用場景。這種多租戶的FPGA虛擬化架構通常需要軟硬件兩個層面的支持:

 

硬件層面,需要實現(xiàn)多FPGA互聯(lián),形成FPGA“資源池”,同時也要支持其他硬件結構,比如CPU、GPU,或者其他硬件加速器等。

 

軟件層面,需要有一個虛擬化框架,對用戶任務進行有效的FPGA部署。具體來說,就是對各類硬件資源進行分配調(diào)度,管理包括FPGA在內(nèi)的各個加速器之間的通信和數(shù)據(jù)傳輸,控制FPGA的連接方式,以及對FPGA進行動態(tài)重構和配置等等。

 
image.png


上文提到的微軟Catapult項目和IBM cloudFPGA項目都有各自的對多租戶的支持。比如,微軟在2016年MICRO會議上發(fā)表的論文提到,每個FPGA內(nèi)都集成了一個Elastic Router,多個用戶可配置模塊(Role)可以通過Elastic Router提供的虛擬通道與外界進行網(wǎng)絡通信,如下圖所示。

 

image.png


在更高層面,Catapult提出了一種“硬件即服務(Hardware-as-a-Service)”的使用模型,如下圖所示。



image.png 


這個HaaS模型通過一個中心化的資源管理器(Resource Manager,RM),對數(shù)據(jù)中心里的FPGA資源進行統(tǒng)一管理和調(diào)度。每個FPGA資源池中,都有一個服務管理器(Service Manager,SM)通過API與RM進行通信。SM對整個資源池的FPGA進行管理,實現(xiàn)諸如FPGA負載均衡、互聯(lián)管理、故障處理等功能。

 

在cloudFPGA項目中,F(xiàn)PGA與CPU完全解耦,直接作為網(wǎng)絡設備接入數(shù)據(jù)中心網(wǎng)絡,并成為池化的硬件加速資源。同時,IBM提出了一個基于OpenStack的虛擬化框架和加速服務,使得用戶可以通過在FPGA中預先設定的management IP地址對FPGA資源池進行服務注冊、任務分配、FPGA配置以及使用。

 

在池化FPGA和虛擬化框架領域其他的代表性工作還有來自英國Maxeler公司開發(fā)的基于FPGA的數(shù)據(jù)流引擎(Dataflow Engine),及其一系列開發(fā)環(huán)境與框架。在傳統(tǒng)的基于CPU的計算架構中(見下圖),CPU通過讀取內(nèi)存中的指令和數(shù)據(jù)進行相應的計算,當前指令的計算結果會寫入內(nèi)存,并在讀取下一條指令和數(shù)據(jù),直到程序運行結束。

 

image.png


與之對應的,在基于數(shù)據(jù)流的架構中,只需在應用開始時從內(nèi)存中讀取數(shù)據(jù),隨后會在FPGA上進行數(shù)據(jù)流處理和計算,所有中間數(shù)據(jù)不會返回內(nèi)存,直到計算結束。這樣從根本上杜絕了訪存的性能瓶頸。多個數(shù)據(jù)流引擎的計算節(jié)點可以互聯(lián),并與x86 CPU、網(wǎng)絡單元、存儲單元等共同組成完整的計算集群,如下圖所示。

 

Maxeler還提供了一種類似于Java的編程語言,稱為MaxJ,用來對數(shù)據(jù)流圖進行描述和建模。然后通過對應的編譯器MaxCompiler,將數(shù)據(jù)流圖映射到底層的FPGA硬件平臺,從而對上層用戶虛擬化了底層電路邏輯的具體實現(xiàn)。

 

image.png


目前,這套數(shù)據(jù)流引擎架構已經(jīng)被用在多個高性能計算的應用場景,比如蒙特卡洛仿真、金融風險計算、科學計算,以及一些新興的應用場景,如卷積神經(jīng)網(wǎng)絡(CNN)的硬件加速等等。

 

在虛擬化框架協(xié)議方面的另一個主要工作是對MapReduce框架的FPGA支持。MapReduce是Google提出的針對大規(guī)模數(shù)據(jù)處理的并行計算框架,已被用于多種計算平臺和架構,如多核CPU、Xeon Phi和GPU等等。通過MapReduce框架,上層用戶只需要調(diào)用給定的軟件庫和API,而不需要知道底層的硬件結構。

 

MapReduce的核心即為map和reduce兩個函數(shù)的實現(xiàn),為了對MapReduce增加FPGA支持,可以首先設計map和reduce的FPGA硬件模塊以及對應的編程接口,然后通過MapReduce框架調(diào)用,這樣可以實現(xiàn)FPGA的分布式部署和配置。在這里,map和reduce的FPGA設計可以通過傳統(tǒng)的硬件描述語言(HDL)完成,也可以通過高層語言,如OpenCL等,并借助高層次綜合工具完成設計。

 

小結

 

與軟件虛擬化類似,F(xiàn)PGA虛擬化技術抽象了具體的FPGA體系結構與硬件資源,使得用戶能在更高的邏輯層級上利用FPGA進行應用的硬件加速。

 


關鍵字:FPGA 引用地址:FPGA虛擬化技術將成為未來主攻方向

上一篇:萊迪思半導體任命Sherri Luther為首席財務官
下一篇:小科普—什么是eFPGA

推薦閱讀

可拓展的中央計算系統(tǒng),為3級和以上自動駕駛提供解決方案基于開放的標準,與DeepScale、Steer、StradVision和AAI技術合作伙伴進行合作DriveCoreTM包括三大組成部分:DriveCoreTM Compute,Runtime和Studio美國當?shù)貢r間1月9日,全球汽車座艙電子領導者偉世通(納斯達克證券交易代碼:VC),在CES展上展出了首次亮相的DriveCore?自動駕駛平臺。DriveCore?...
集微網(wǎng)消息 1月14日,低迷已久的領益智造發(fā)布了一份關于公司簽署《收購意向書》的公告。公告一出,該公司股價漲幅超5%;截止發(fā)稿,領益智造報2.89元/股。據(jù)悉,領益智造與Salcomp Holding AB(以下簡稱“Holding AB”)于近日簽署了《收購意向書》,領益智造擬收購Holding AB所有持有的Salcomp Plc(以下簡稱“Salcomp”或“標的公司”)100%股權。...
綠芯半導體開始為在苛刻環(huán)境下需要擦寫超耐久性的應用存儲提供NVMe U.2 EnduroSLC?工業(yè)級企業(yè)固態(tài)盤EX系列樣品。采用綠芯EnduroSLC技術設計,綠芯NVMe U.2 EX系列固態(tài)盤產(chǎn)品提供超強的數(shù)據(jù)保持和高達5年30 DWPD的超高擦寫耐久性。NVMe U.2 EnduroSLC工業(yè)級企業(yè)固態(tài)盤給用戶帶來的收益有: 超高的耐久性:每天全盤擦寫 30次,壽命不小于5年高容量...
Maxim Integrated Products, Inc 近日宣布推出DS28E40 DeepCover?汽車應用安全認證器,通過對汽車零部件進行安全認證,確保其為原裝正品,幫助設計師提高汽車的安全性、可靠性和數(shù)據(jù)完整性,同時降低設計復雜度并縮短軟件開發(fā)時間。在一個關鍵系統(tǒng)中,只有正品部件才能提供最高安全性和可靠性。作為Maxim Integrated滿足AEC-Q100 1級標準的汽車系...

史海拾趣

問答坊 | AI 解惑

學習嵌入式--選擇考研深造還是進入企業(yè)技術部工作學習?

本人為在校大學生,想請問各位, 想學好嵌入式是考研深造還是進入企業(yè)技術部邊工作邊學習? 就當前的社會形勢,那個各位實在? 請各位電子行業(yè)的前輩們指點迷津,分析分析當前高校關于嵌入式教學的情況 以及現(xiàn)在嵌入式行業(yè)的技術情形。 在此 ...…

查看全部問答∨

AT91初始化代碼手冊中文翻譯版

介紹 由于多種原因基于ARM的AT91的大多數(shù)應用代碼使用C語言編寫。然而,啟動順序要求初始化ARM處理器和嚴重依賴于寄存器結構的關鍵設備和內(nèi)存映射處理機,和存儲器重映射操作。由于這個原因,C啟動序列必須用匯編編寫。 這個應用筆記描述了一個AT ...…

查看全部問答∨

復合絕緣子憎水性帶電檢測儀

       復合絕緣子憎水性帶電檢測儀 華北電力大學(北京) 國內(nèi)唯一一家010-60120676 13601208165 okgod123@126.com 于老師    填補我國復合絕緣子憎水性在線檢測領域空白的新型產(chǎn)品。結構簡單,操作方便,判斷 ...…

查看全部問答∨

工資帳面漲了,實際收入?yún)s少了

昨天發(fā)工資,工資條上稅前工資漲了,結果實際收入?yún)s少了。媽的,一問HR,說以前公司避稅了,現(xiàn)在公司是正規(guī)企業(yè),全部要交稅了。操!…

查看全部問答∨

離職在讀工程碩士選專業(yè)方向的問題

  我?guī)臀遗笥褑栆粋€問題,希望大家能夠幫幫忙謝謝:   以下是她的問題:   她本專業(yè)學的是計算機的偏軟件,工作一年半,做的是硬件研發(fā),畫板子,寫程序都有.現(xiàn)在離職在讀工程碩士  最近要選方向  她 ...…

查看全部問答∨

MSP430F149單片機,串口通信

我使用USART1模塊進行串口通訊,但調(diào)試的時候發(fā)現(xiàn)程序進不了中斷。 相關代碼: #include "msp430x14x.h" #define uchar unsigned char #define uint  unsigned int #define URXD1 BIT7 #define UTXD1 BIT6 uchar dataSedBuffer[100]={ ...…

查看全部問答∨

五折出幾本W(wǎng)inCE相關書籍

由于本人轉(zhuǎn)行,不再從事WinCE開發(fā),這些書對我也無太大作用,近期還打算搬家,書籍攜帶不方便,決定將這些書籍轉(zhuǎn)讓給需要的人,讓其能發(fā)揮應有的作用。 本人愛護書籍,看書時也沒有筆畫的習慣,除了一本買的早翻的多,比較舊,其他都很新。 《Win ...…

查看全部問答∨

51學習

誰有C51的學習ppt能不能給小弟傳一份,急需,先謝了 郵箱huatian008@126.com…

查看全部問答∨

無條件恒流”轉(zhuǎn)變?yōu)椤坝袟l件恒流”的新型LED智能恒流驅(qū)動器

replyreload += \',\' + 765665;Timson,如果您要查看本帖隱藏內(nèi)容請回復…

查看全部問答∨

【FPGA讀書會】王金明_Verilog程序設計教程實例研讀,歡迎跟帖討論

  學習FPGA的一個最簡單的方法,就是總結和研究別人設計的成果,并從中學到自己的需要的東西。從今日開始,我呼吁本壇(FPGA)XDJM靜下心來讀讀王金明_Verilog程序設計教程實例這本書,看看書中有那些金子能供我們撿到!      ...…

查看全部問答∨
小廣播
最新嵌入式文章

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 东乡族自治县| 安义县| 虞城县| 鹰潭市| 布尔津县| 宾阳县| 镇康县| 漠河县| 灵璧县| 和平县| 株洲市| 阳朔县| 保亭| 永平县| 土默特左旗| 贵定县| 淮滨县| 弋阳县| 讷河市| 潼关县| 桦甸市| 阿克苏市| 绵阳市| 绥中县| 自治县| 长沙市| 池州市| 平凉市| 惠安县| 岚皋县| 枞阳县| 彭阳县| 华安县| 乐昌市| 林芝县| 滨州市| 涿鹿县| 广饶县| 贵港市| 综艺| 和龙市|