《电子技术应用》
您所在的位置:首页 > 模拟设计 > 设计应用 > 一种基于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资源的并行计算系统设计及实现[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

引言

随着电子工业水平的发展,FPGA的性能不断提升,FPGA已经有足够的能力将某个问题的完整算法配置在其中,结合FPGA并行计算与可重构特性,可将FPGA划分为多个可重构区域进行并行计算实现高性能计算。在航空航天、通信服务、医疗、智能终端中,高性能嵌入式计算起了至关重要的作用[1]。Sun公司提出了SPARC高性能嵌入式计算平台,在电信服务、医疗成像方面已经得到了广泛的应用。高性能FPGA资源设备广泛应用的同时,高性能系统的编译也是重要的一部分,传统的编译方法在应对大规模的单元时总是会显得力不从心,效率低下,传统的FPGA设计流程(综合->布局布线)在面对数百万乃至上千万个逻辑单元的大规模设计时,编译时间(尤其是布局布线阶段)可能长达数十小时。这不仅严重拖慢了开发迭代速度,也极大地限制了FPGA在需要快速重构的场景中的应用。迫切需要研究出合适的嵌入式FPGA资源系统架构,提升资源的利用效率。

如今,将FPGA作为主要计算器件成为高性能智能计算平台的一部分与其他类型计算资源协同工作已经成为研究的热点之一[2-4],但是适应高性能计算的软件系统发展还远远达不到需求,可重构高性能嵌入式多FPGA并行计算系统成为嵌入式高性能智能计算平台里的软件系统的重要组成部分[5-7]。

可重构系统的早期研究[8]中实现了针对传统的操作系统的扩展,该操作系统虽然支持多任务、多线程,但是每个任务的线程只能按照设计好的调度流程顺序执行,而不能做到并行执行,所以该系统并不是具有实际意义的多任务、多线程操作系统。IMEC(Inter University Micro Electronic Center)的研究人员[9]提出了一个可重构操作系统(Operating System for Reconfigurable Systems,OS4RS),该系统可以实现多任务的创建、执行、删除,多任务间的数据通信,不同任务间的动态切换等。同时该系统可以实时跟踪各任务的执行状态。复旦大学的研究人员以 μC/OS-II 实时操作系统为原型[10],提出了SHUM UCOS(Software-Tasks Hardware-Tasks Uniform Management UCOS),该操作系统可以进行统一的多线程编程模型,支持可重构的实时操作系统。该操作系统在管理硬件线程和软件线程时使用统一的平台,这样将可以极大地缩短线程调度的时间。它还可以实时跟踪和管理可重构硬件资源的使用情况, 可根据硬件线程所需资源进行预配置,从而有效地提高资源利用率。虽然在μC/OS-II基础上有些提升,但是该系统只支持全局静态可重构。总体来说,国内在可重构系统的研究上还是处于起步阶段,还在奋力地追赶中,但是与可重构计算系统相关应用的研究也在同步开展。

本文结合FPGA实时操作系统和高性能计算平台调度系统用来实现FPGA硬件资源合理划分,应用功能灵活部署,通过FPGA实时操作系统中的可重构计算单元针对动态区资源灵活调度,控制计算单元的起停,使得计算单元功能算法可独立脱耦设计。同时,动态区资源的分割,接口界面清晰,能够实现不同团队同时独立为不同的可重配置区域进行设计、编译和验证,将一个巨大的编译任务拆分成多个小型编译任务,编译时间从O(n²)降低到接近O(n),极大提升系统功能开发和集成效率。


本文详细内容请下载:

https://www.chinaaet.com/resource/share/2000006870


作者信息:

刘红伟1,2,周宇1,2,李茂娇1,2,

潘灵1,2,贾明权1,2,张昊1,2

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

2.敏捷智能计算四川省重点实验室,四川 成都 610036)


subscribe.jpg

此内容为AET网站原创,未经授权禁止转载。