《電子技術應用》
您所在的位置:首頁 > 模拟设计 > 设计应用 > 一种基于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 文獻標志碼:A DOI: 10.16157/j.issn.0258-7998.256888
中文引用格式: 劉紅偉,周宇,李茂嬌,等. 一種基于FPGA資源的并行計算系統(tǒng)設計及實現(xiàn)[J]. 電子技術應用,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已經有足夠的能力將某個問題的完整算法配置在其中,結合FPGA并行計算與可重構特性,可將FPGA劃分為多個可重構區(qū)域進行并行計算實現(xiàn)高性能計算。在航空航天、通信服務、醫(yī)療、智能終端中,高性能嵌入式計算起了至關重要的作用[1]。Sun公司提出了SPARC高性能嵌入式計算平臺,在電信服務、醫(yī)療成像方面已經得到了廣泛的應用。高性能FPGA資源設備廣泛應用的同時,高性能系統(tǒng)的編譯也是重要的一部分,傳統(tǒng)的編譯方法在應對大規(guī)模的單元時總是會顯得力不從心,效率低下,傳統(tǒng)的FPGA設計流程(綜合->布局布線)在面對數百萬乃至上千萬個邏輯單元的大規(guī)模設計時,編譯時間(尤其是布局布線階段)可能長達數十小時。這不僅嚴重拖慢了開發(fā)迭代速度,也極大地限制了FPGA在需要快速重構的場景中的應用。迫切需要研究出合適的嵌入式FPGA資源系統(tǒng)架構,提升資源的利用效率。

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

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

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


本文詳細內容請下載:

http://ihrv.cn/resource/share/2000006869


作者信息:

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

潘靈1,2,賈明權1,2,張昊1,2

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

2.敏捷智能計算四川省重點實驗室,四川 成都 610036)


subscribe.jpg

此內容為AET網站原創(chuàng),未經授權禁止轉載。