《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 一種基于FPGA資源的并行計(jì)算系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)
一種基于FPGA資源的并行計(jì)算系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)
電子技術(shù)應(yīng)用
劉紅偉1,2,周宇1,2,李茂嬌1,2,潘靈1,2,賈明權(quán)1,2,張昊1,2
1.西南電子技術(shù)研究所;2.敏捷智能計(jì)算四川省重點(diǎn)實(shí)驗(yàn)室
摘要: 針對目前通用的CPU和現(xiàn)場可編程邏輯門陣列(Field Programmable Gate Array,F(xiàn)PGA)結(jié)合的異構(gòu)資源架構(gòu)功能開發(fā)效率緩慢的問題,結(jié)合Linux操作系統(tǒng)內(nèi)核,沿用現(xiàn)有的軟硬件線程并行計(jì)算思想,創(chuàng)新性地提出了一種代理線程管理方法,使得硬件線程可以和軟件線程進(jìn)行統(tǒng)一的管理,實(shí)現(xiàn)了一種FPGA資源可靈活重構(gòu)使用的并行計(jì)算系統(tǒng)架構(gòu)。該系統(tǒng)架構(gòu)能夠?qū)崿F(xiàn)功能線程的資源隔離、接口隔離,實(shí)現(xiàn)多個(gè)功能線程同時(shí)開發(fā)。通過采用Strassen算法矩陣乘法和冒泡排序兩個(gè)功能的硬件線程重構(gòu)設(shè)計(jì)對該并行系統(tǒng)思想進(jìn)行了系統(tǒng)性和可行性驗(yàn)證。結(jié)果表明,該系統(tǒng)能夠?qū)崿F(xiàn)不同功能線程的脫耦開發(fā),多個(gè)并行算法在動態(tài)區(qū)高效部署,只需編譯該動態(tài)區(qū),不會重新編譯其他動態(tài)區(qū)和靜態(tài)區(qū),極大提高了系統(tǒng)軟件功能集成及實(shí)現(xiàn)效率的提升。
中圖分類號:TP872 文獻(xiàn)標(biāo)志碼:A DOI: 10.16157/j.issn.0258-7998.256888
中文引用格式: 劉紅偉,周宇,李茂嬌,等. 一種基于FPGA資源的并行計(jì)算系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)[J]. 電子技術(shù)應(yīng)用,2025,51(12):8-13.
英文引用格式: Liu Hongwei,Zhou Yu,Li Maojiao,et al. Design and implementation of a parallel system based on FPGA resources[J]. Application of Electronic Technique,2025,51(12):8-13.
Design and implementation of a parallel system based on FPGA resources
Liu Hongwei1,2,Zhou Yu1,2,Li Maojiao1,2,Pan Ling1,2,Jia Mingquan1,2,Zhang Hao1,2
1.Southwest Institute of Electronic Technology;2.Agile and Intelligent Computing Key Laboratory of Sichuan Province
Abstract: Addressing the challenge of low development efficiency in the heterogeneous resource architecture combining general-purpose CPUs and Field Programmable Gate Arrays (FPGAs), a novel proxy-based thread management framework is proposed by leveraging existing software and hardware thread parallel computing paradigms based on the Linux operating system kernel, enabling the unified management of hardware and software threads. This innovation leads to a parallel computing system architecture that can realize the flexible reconfiguration of FPGA resources using. The proposed architecture ensures functional thread isolation and interface separation, supporting concurrent development of multiple functional threads. This article verifies the validation of the system by conducting the hardware thread redesign of Strassen's matrix multiplication algorithm and bubble sort algorithm, which demonstrates the system's ability to achieve functional thread decoupling and significantly improve the development efficiency of system software functionalities.
Key words : heterogeneous resource architecture;proxy thread;flexible reconfiguration;parallel computing;resource isolation

引言

隨著電子工業(yè)水平的發(fā)展,F(xiàn)PGA的性能不斷提升,F(xiàn)PGA已經(jīng)有足夠的能力將某個(gè)問題的完整算法配置在其中,結(jié)合FPGA并行計(jì)算與可重構(gòu)特性,可將FPGA劃分為多個(gè)可重構(gòu)區(qū)域進(jìn)行并行計(jì)算實(shí)現(xiàn)高性能計(jì)算。在航空航天、通信服務(wù)、醫(yī)療、智能終端中,高性能嵌入式計(jì)算起了至關(guān)重要的作用[1]。Sun公司提出了SPARC高性能嵌入式計(jì)算平臺,在電信服務(wù)、醫(yī)療成像方面已經(jīng)得到了廣泛的應(yīng)用。高性能FPGA資源設(shè)備廣泛應(yīng)用的同時(shí),高性能系統(tǒng)的編譯也是重要的一部分,傳統(tǒng)的編譯方法在應(yīng)對大規(guī)模的單元時(shí)總是會顯得力不從心,效率低下,傳統(tǒng)的FPGA設(shè)計(jì)流程(綜合->布局布線)在面對數(shù)百萬乃至上千萬個(gè)邏輯單元的大規(guī)模設(shè)計(jì)時(shí),編譯時(shí)間(尤其是布局布線階段)可能長達(dá)數(shù)十小時(shí)。這不僅嚴(yán)重拖慢了開發(fā)迭代速度,也極大地限制了FPGA在需要快速重構(gòu)的場景中的應(yīng)用。迫切需要研究出合適的嵌入式FPGA資源系統(tǒng)架構(gòu),提升資源的利用效率。

如今,將FPGA作為主要計(jì)算器件成為高性能智能計(jì)算平臺的一部分與其他類型計(jì)算資源協(xié)同工作已經(jīng)成為研究的熱點(diǎn)之一[2-4],但是適應(yīng)高性能計(jì)算的軟件系統(tǒng)發(fā)展還遠(yuǎn)遠(yuǎn)達(dá)不到需求,可重構(gòu)高性能嵌入式多FPGA并行計(jì)算系統(tǒng)成為嵌入式高性能智能計(jì)算平臺里的軟件系統(tǒng)的重要組成部分[5-7]。

可重構(gòu)系統(tǒng)的早期研究[8]中實(shí)現(xiàn)了針對傳統(tǒng)的操作系統(tǒng)的擴(kuò)展,該操作系統(tǒng)雖然支持多任務(wù)、多線程,但是每個(gè)任務(wù)的線程只能按照設(shè)計(jì)好的調(diào)度流程順序執(zhí)行,而不能做到并行執(zhí)行,所以該系統(tǒng)并不是具有實(shí)際意義的多任務(wù)、多線程操作系統(tǒng)。IMEC(Inter University Micro Electronic Center)的研究人員[9]提出了一個(gè)可重構(gòu)操作系統(tǒng)(Operating System for Reconfigurable Systems,OS4RS),該系統(tǒng)可以實(shí)現(xiàn)多任務(wù)的創(chuàng)建、執(zhí)行、刪除,多任務(wù)間的數(shù)據(jù)通信,不同任務(wù)間的動態(tài)切換等。同時(shí)該系統(tǒng)可以實(shí)時(shí)跟蹤各任務(wù)的執(zhí)行狀態(tài)。復(fù)旦大學(xué)的研究人員以 μC/OS-II 實(shí)時(shí)操作系統(tǒng)為原型[10],提出了SHUM UCOS(Software-Tasks Hardware-Tasks Uniform Management UCOS),該操作系統(tǒng)可以進(jìn)行統(tǒng)一的多線程編程模型,支持可重構(gòu)的實(shí)時(shí)操作系統(tǒng)。該操作系統(tǒng)在管理硬件線程和軟件線程時(shí)使用統(tǒng)一的平臺,這樣將可以極大地縮短線程調(diào)度的時(shí)間。它還可以實(shí)時(shí)跟蹤和管理可重構(gòu)硬件資源的使用情況, 可根據(jù)硬件線程所需資源進(jìn)行預(yù)配置,從而有效地提高資源利用率。雖然在μC/OS-II基礎(chǔ)上有些提升,但是該系統(tǒng)只支持全局靜態(tài)可重構(gòu)。總體來說,國內(nèi)在可重構(gòu)系統(tǒng)的研究上還是處于起步階段,還在奮力地追趕中,但是與可重構(gòu)計(jì)算系統(tǒng)相關(guān)應(yīng)用的研究也在同步開展。

本文結(jié)合FPGA實(shí)時(shí)操作系統(tǒng)和高性能計(jì)算平臺調(diào)度系統(tǒng)用來實(shí)現(xiàn)FPGA硬件資源合理劃分,應(yīng)用功能靈活部署,通過FPGA實(shí)時(shí)操作系統(tǒng)中的可重構(gòu)計(jì)算單元針對動態(tài)區(qū)資源靈活調(diào)度,控制計(jì)算單元的起停,使得計(jì)算單元功能算法可獨(dú)立脫耦設(shè)計(jì)。同時(shí),動態(tài)區(qū)資源的分割,接口界面清晰,能夠?qū)崿F(xiàn)不同團(tuán)隊(duì)同時(shí)獨(dú)立為不同的可重配置區(qū)域進(jìn)行設(shè)計(jì)、編譯和驗(yàn)證,將一個(gè)巨大的編譯任務(wù)拆分成多個(gè)小型編譯任務(wù),編譯時(shí)間從O(n2)降低到接近O(n),極大提升系統(tǒng)功能開發(fā)和集成效率。


本文詳細(xì)內(nèi)容請下載:

http://www.ihrv.cn/resource/share/2000006870


作者信息:

劉紅偉1,2,周宇1,2,李茂嬌1,2,

潘靈1,2,賈明權(quán)1,2,張昊1,2

(1.西南電子技術(shù)研究所,四川 成都 610036;

2.敏捷智能計(jì)算四川省重點(diǎn)實(shí)驗(yàn)室,四川 成都 610036)


subscribe.jpg

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。