《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模拟设计 > 设计应用 > 一种基于FPGA资源的并行计算系统设计及实现
一种基于FPGA资源的并行计算系统设计及实现
电子技术应用
刘红伟1,2,周宇1,2,李茂娇1,2,潘灵1,2,贾明权1,2,张昊1,2
1.西南电子技术研究所;2.敏捷智能计算四川省重点实验室
摘要: 针对目前通用的CPU和现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)结合的异构资源架构功能开发效率缓慢的问题,结合Linux操作系统内核,沿用现有的软硬件线程并行计算思想,创新性地提出了一种代理线程管理方法,使得硬件线程可以和软件线程进行统一的管理,实现了一种FPGA资源可灵活重构使用的并行计算系统架构。该系统架构能够实现功能线程的资源隔离、接口隔离,实现多个功能线程同时开发。通过采用Strassen算法矩阵乘法和冒泡排序两个功能的硬件线程重构设计对该并行系统思想进行了系统性和可行性验证。结果表明,该系统能够实现不同功能线程的脱耦开发,多个并行算法在动态区高效部署,只需编译该动态区,不会重新编译其他动态区和静态区,极大提高了系统软件功能集成及实现效率的提升。
中圖分類號:TP872 文獻標(biāo)志碼:A DOI: 10.16157/j.issn.0258-7998.256888
中文引用格式: 劉紅偉,周宇,李茂嬌,等. 一種基于FPGA資源的并行計算系統(tǒng)設(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)有足夠的能力將某個問題的完整算法配置在其中,結(jié)合FPGA并行計算與可重構(gòu)特性,可將FPGA劃分為多個可重構(gòu)區(qū)域進行并行計算實現(xiàn)高性能計算。在航空航天、通信服務(wù)、醫(yī)療、智能終端中,高性能嵌入式計算起了至關(guān)重要的作用[1]。Sun公司提出了SPARC高性能嵌入式計算平臺,在電信服務(wù)、醫(yī)療成像方面已經(jīng)得到了廣泛的應(yīng)用。高性能FPGA資源設(shè)備廣泛應(yīng)用的同時,高性能系統(tǒng)的編譯也是重要的一部分,傳統(tǒng)的編譯方法在應(yīng)對大規(guī)模的單元時總是會顯得力不從心,效率低下,傳統(tǒng)的FPGA設(shè)計流程(綜合->布局布線)在面對數(shù)百萬乃至上千萬個邏輯單元的大規(guī)模設(shè)計時,編譯時間(尤其是布局布線階段)可能長達(dá)數(shù)十小時。這不僅嚴(yán)重拖慢了開發(fā)迭代速度,也極大地限制了FPGA在需要快速重構(gòu)的場景中的應(yīng)用。迫切需要研究出合適的嵌入式FPGA資源系統(tǒng)架構(gòu),提升資源的利用效率。

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

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

本文結(jié)合FPGA實時操作系統(tǒng)和高性能計算平臺調(diào)度系統(tǒng)用來實現(xiàn)FPGA硬件資源合理劃分,應(yīng)用功能靈活部署,通過FPGA實時操作系統(tǒng)中的可重構(gòu)計算單元針對動態(tài)區(qū)資源靈活調(diào)度,控制計算單元的起停,使得計算單元功能算法可獨立脫耦設(shè)計。同時,動態(tài)區(qū)資源的分割,接口界面清晰,能夠?qū)崿F(xiàn)不同團隊同時獨立為不同的可重配置區(qū)域進行設(shè)計、編譯和驗證,將一個巨大的編譯任務(wù)拆分成多個小型編譯任務(wù),編譯時間從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.敏捷智能計算四川省重點實驗室,四川 成都 610036)


subscribe.jpg

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