Research on Software and Hardware Collaborative Design of Heterogeneous Fusion Processing Module Based on OpenVPX Standard

WEN Minhua, SHI Tianjie, TIAN Jing

JPRMG ›› 2024, Vol. 44 ›› Issue (3) : 103-108.

PDF(864 KB)
PDF(864 KB)
JPRMG ›› 2024, Vol. 44 ›› Issue (3) : 103-108. DOI: 10.15892/j.cnki.djzdxb.2024.03.014

Research on Software and Hardware Collaborative Design of Heterogeneous Fusion Processing Module Based on OpenVPX Standard

Author information +
History +

Abstract

With the continuous progress of computer hardware and software technology, the task functions integrated in the airborne computing platform are increasing day by day, resulting in the scale and complexity of the internal computing needs of the platform. In the face of the rapid growth of intelligent applications, the traditional single processor architecture is no longer enough to cope with a variety of complex tasks. Therefore, based on the OpenVPX standard, this study defines and designs a 3U heterogeneous fusion processing module that conforms to the hardware open architecture to meet the needs of a variety of complex tasks. This research also proposes a heterogeneous computing resource pooling technology, which aims to achieve rapid deployment and efficient operation of multi-type task applications, while reducing communication latency, and significantly improving the processing power and applicability of computing platforms. Experimental verification shows that, compared with multi-CPU architecture, the processing time of the heterogeneous fusion processing module designed in this paper is about 4.8 times shorter when executing specific neural network algorithms, which proves that its performance is significantly improved. The results of this study not only demonstrate the significant performance advantages of heterogeneous fusion processing modules in airborne intelligent computing applications, but also provide innovative solutions and technical support for the future development of aviation computing platforms.

Key words

airborne computing platform / OpenVPX / hardware open architecture / heterogeneous fusion processing / resource pooling

Cite this article

Download Citations
WEN Minhua, SHI Tianjie, TIAN Jing. Research on Software and Hardware Collaborative Design of Heterogeneous Fusion Processing Module Based on OpenVPX Standard[J]. Journal of Projectiles, Rockets, Missiles and Guidance, 2024, 44(3): 103-108 https://doi.org/10.15892/j.cnki.djzdxb.2024.03.014

0 引言

随着计算机软硬件技术的不断发展,越来越多的任务功能被综合到机载计算平台中,使得平台内的计算规模和复杂度日渐提高。面向不同任务的应用需求,设计开放式、模块化、标准化的计算平台,对于提升系统的互联互通互操作能力及实现软硬件组件复用具有重要意义。另外,随着各类智能化应用的爆发式增长,传统以单一处理器架构的为主的处理模块已经难以满足多种复杂的任务的有效运行。异构融合技术将不同架构及计算特点的处理器或者处理单元融合在一起,以充分利用各类处理器的优势,实现更高的计算性能及更好的扩展性[1]
针对标准化的嵌入式计算平台设计,近年来,美国大力推广模块化开放式系统设计方法MOSA、HOST、FACE、SOSA等开放系统标准,并在新型飞机、无人机、车辆中积极应用,其主要目标就是解决计算机硬件模块和平台软件的重用性低,提高计算机软硬件组件的互换性[2],实现统型化的计算平台设计,节省开发验证成本,缩短产品研制周期。然而,我国在嵌入式计算机标准的指定和推等方面仍处于发展阶段,缺乏相对权威的统一行业标准。
针对异构融合计算,在硬件层面上,国内外研究者们探索了多种异构计算模型;例如NVDIA公司于2018年推出的Jetson AGX Xavier芯片,其采用“CPU+GPU”协同计算架构,为边缘计算设备提供高密度的计算能力、高能效比以及强大的AI推理能力[3]。谷歌于2016专门为加速机器学习工作负载而设计的一种应用特定集成电路(ASIC)——TPU,并且形成“CPU+TPU”的计算框架,用于提高神经网络的训练和推理效率[4]。在软件层面上,为了简化异构系统的编程难度,研究者们开发了多种编程模型和工具,如OpenCL、CUDA等。这些工具允许开发者更高效地开发并行应用程序,并有效利用异构计算资源。然而,如何将各类异构融合计算软硬件新技术应用到嵌入式计算平台上,仍亟待解决。
因此,结合以上两点需求,本文基于硬件开放式系统架构标准HOST Tier 2所采用的嵌入式计算机标准:OpenVPX,结合目前典型智能应用所需的异构处理器类型,在硬件层面提出一种符合OpenVPX标准的异构融合处理模块的设计。另外,在软件层面上,根据处理模块内的异构处理器提出一套异构计算资源池化方法,可有效满足多类型机载任务系统的应用在模块上的快速部署和运行、降低应用运行时的通信时延,大大提升航电系统任务计算平台的计算能力和通用性。

1 基于OpenVPX标准的异构融合处理模块设计研究

1.1 计算架构设计

目前,传统的以单一中央核心处理器(CPU)为基础的机载处理模块已经无法满足机载任务领域各类新兴的应用的部署和高效运行。以CPU和xPU(GPU、NPU、FPGA等)协同工作的异构计算架构已经被广泛应用于高性能计算、人工智能计算等领域[5]。在此架构下,CPU负责控制和管理系统的运行,处理操作系统级别的任务以及一些通用处理任务,xPU则根据自身计算架构专注于执行各类大规模的计算密集型任务[6]。因此,文中借鉴异构融合计算思想,提出了一种机载嵌入式领域下的异构融合处理模块的设计,模块硬件计算架构设计如图1所示。
Fig.1 Hardware architecture diagram of the heterogeneous fusion processing module

图1 异构融合处理模块硬件架构图

Full size|PPT slide

可以看到,本文所设计的异构融合处理模块设计为以1个中央处理器芯片为处理核心,3个不同类型的处理器芯片为加速协处理器的计算架构,每个处理器芯片外围配置内存及其他所需电路。其中,CPU作为模块上的主处理器,主要负责模块总体控制及管理;另外,对于一些通用应用或者难以进行加速的应用任务也可以选择在CPU上部署和运行。
图形处理器(GPU)具备强大的并行处理能力[7],主要负责运行机载视频图形处理、显示控制、语音处理、同时具备部署AI训练等任务的能力,可有效解决目前大部分机载人工智能类算法的部署和加速运行问题[8]
神经网络处理器(NPU)主要可以有效加速以矩阵&向量计算为主的神经网络类应用,针对该类计算,相比于CPU和GPU,其计具有更高的计算效率和能效比,因此很适合运行有着严苛时间要求的机载智能类任务[9]
FPGA芯片定制化程度高,可通过烧入硬件逻辑配置文件可以实现应用场景的灵活配置[10]。因此,对于一些需要定制化加速的任务应用,可以选择通过开发定制化逻辑代码将其“硬化”在模块FPGA芯片上。

1.2 互连总线设计

1.2.1 高速通信网络数据总线

异构融合处理模块对外设计高速通信网络,通过设计一块网卡实现模块内部-外部高速数据通信功能。具体地,我们将高速网络所需的网络协议栈处理功能及其相关网络驱动全部卸载至网卡中;网卡中通过烧写网络协议功能的FPGA硬件逻辑将以上功能“硬化”。在大流量的情况下,尽可能采用流式传输,降低DMA的启动次数,降低网络的中断处理,进一步降低网络延迟。

1.2.2 内部高速互连总线

异构融合处理模块内部的核心互连总线设计为两个阶段;第一阶段模块采用为PCIe 3.0总线将模块内所有处理器进行互连,其中CPU作为PCIe RC设备,其他异构处理器作为PCIe EP设备,RC设备可以通过 PCIe RC和PCIe EP设备进行通信,EP设备间通过模块内部设计的PCIe Switch 芯片进行相互访问[11]
第二阶段,异构融合处理模块处理异构处理器芯片之间将设计为CXL总线,该总线基于PCIe5.0的基础架构实现。采用CXL互连总线架构,可以为本文所设计异构融合处理模块中的CPU及其他异构处理器建立缓存一致的内存资源池[12],即整个处理模块的异构处理器之间实现高效的内存共享,大大降低异构处理协同处理任务时的通信延迟,提升模块总体计算算力及性能。

1.2.3 硬件开放式架构设计

OpenVPX是一种基于VPX(VITA 46)标准的开放计算平台规范,其提供了一种可互操作性和可扩展性的机制,可以满足不同的计算系统和应用需求,被广泛应用于航空航天领域[13]
OpenVPX提供了一种模块化硬件设计方案,可以实现功能、接口和性能上的快速升级和扩展。在OpenVPX的模块化架构中,包括处理模块、控制模块、交换模块、电源模块等。其中,处理模块通过主接口与主控制模块、交换模块和其他处理模块进行通信,其可以提供不同的计算、数据处理和存储功能,以支持系统的不同应用需求。
文中所设计的异构融合处理模块符合OpenVPX标准,其中模块的尺寸按照3U标准,采用VPX标准底板连接器。底板信号主要分为3个区域:P0,P1,P2。P0主要定义模块的供电和基础离散量信号,包括12 V模块供电电压设计。其他离散量均按照规范去设计,主要包括系统复位、GA离散量、NvSram只读使能、参考时钟等信号。P1和P2区可定义差分信号或者单端信号,根据本模块设计需求,在P1区域定义对外调试以太网,高速无损以太网差分信号,PCIe差分信号等信号。P2区域预留差分信号和单端信号,为模块扩展升级预留。

2 异构融合处理模块的资源池化策略研究

面向上一章节所设计的标准异构融合处理模块,文中对其内部计算资源从虚拟化与计算资源的统一管理两个方面提供支持:虚拟化支持可以满足应用按需拉取、动态加载运行的需要;计算资源的统一管理将分布式环境中的所有计算资源进行整合,支持针对任务的具体需求,计算最佳的部署位置,并按需提供资源配额。

2.1 异构融合处理资源虚拟化

资源虚拟化技术可以将物理设备资源进行抽象、转换为虚拟的、可按份额分配的计算机资源提供给应用使用。目前,成熟的计算资源虚拟化技术主要包括虚拟机和容器技术。虚拟机技术是通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,可实现将一台物理计算机模拟为多台计算机来运行任务。每个虚拟机都安装自己的客户操作系统,为应用提供特定的运行环境。虚拟机监视器位于硬件和虚拟机之间,负责虚拟机的创建、运行等管理。容器技术属于操作系统虚拟化的范畴,主要通过命名空间、控制组、联合文件系统将资源、设备等进行逻辑隔离,为应用提供了从视图上看是独占的操作系统。容器引擎负责容器的创新、运行、销毁等管理[14]
虚拟机与容器架构比较如图2所示。相比虚拟机技术,由于容器共享了底层操作系统,因此容器镜像比较小,具有轻量、启动速度快、跨平台迁移等优点,同时容器技术不需要指令转换,在性能上要远超虚拟机方式虚拟化实现。
Fig.2 Comparison of virtual machine and container computing resource virtualization architectures

图2 虚拟机和容器计算资源虚拟化架构对比

Full size|PPT slide

2.2 异构融合处理资源管理

异构处理资源在本文所设计的异构融合处理模块中作为CPU的协处理计算硬件,为机载不同种类的任务提供运行与加速功能[15],异构处理资源包括GPU,NPU,FPGA等。通过容器技术实现各类应用及子应用、依赖工具以及驱动的封装,部署时由平台管理根据特定应用所需的异构计算资源将应用调度到符合任务处理资源要求的节点,通过将操作系统的异构处理设备挂载到容器内部,完成容器与异构处理资源绑定,如图3所示。
Fig.3 Heterogeneous processing resource operation and management frameworks

图3 异构处理资源运行和管理框架

Full size|PPT slide

另外,机载计算平台中通常包含多个文中所设计的OpenVPX标准的异构融合处理模块,即整个任务平台包含多种不同的异构处理资源池。因此整个系统中分布式计算平台的平台管理通过设备插件机制实现异构处理设备资源的感知和分配。设备插件用于提供各种设备资源的监控和分配功能。整个设备管理过程包括以下部分:设备插件的启动和注册、设备的状态管理、设备的分配及设备的使用。异构计算资源管理的整体架构如图4所示。
Fig.4 Heterogeneous processing resource management architecture diagram

图4 异构处理资源管理架构图

Full size|PPT slide

2.2.1 设备插件的启动和注册

节点代理和设备插件之间通过通信,节点代理开放设备插件的注册服务,设备插件可以通过该服务进行注册。

2.2.2 设备资源的状态管理

设备插件注册成功后,节点代理会调用设备插件获取设备信息,包括资源的设备数量和健康状态,随节点状态上报至管理节点。

2.2.3 设备资源的分配和使用

平台管理在进行资源调度时,会根据节点的资源状态以及应用所需的资源配置为应用选择有合适异构资源的节点。节点运行应用时,节点代理会向设备插件调用资源分配方法,设备插件会进行初始化操作并将用设备所需的配置信息传递给容器运行时进行容器配置。

3 实验与验证

为了对异构融合处理模块的功能、性能和多CPU架构的处理模块进行比对,搭建了两类原型系统,并选取机载智能计算应用分别部署在两类原型系统上以测试。其中,异构融合处理原型系统核心处理器配置为1块飞腾D2000,1块英伟达jeston agx xavier处理器,1块华为atlas200板卡以及1块赛灵思ZYNQ 7z100 FPGA芯片,每个异构处理器通过4路PCIe3.0总线与D2000进行互连。多CPU处理原型系统配置为3块飞腾D2000处理器。处理器之间同样采用4路PCIe3.0 总线进行互连,经实测,两类原型系统静态功耗基本相同。
针对智能计算类应用,选取神经网络目标识别与决策算法,该算法将来自不同设备的多种数据进行融合,并将融合后的数据根据输入要求分别喂入以卷积神经网络为核心的目标识别分支和以循环神经网络为主的决策分支,最终完成目标识别及自主决策。异构融合处理系统中的部署策略是根据数据流向,将算法多源数据融合部分在CPU上执行,目标识别部分部署在GPU上执行,自主决策部分部署在FPGA上进行定制化推理和加速。相应的,该算法被分割成同样的3部分分别运行在3个CPU处理器中。表1为神经网络目标识别与决策算法在两类原型系统上的性能对比。
Table 1 Performance comparison between heterogeneous fusion processing system and multi cpu processing system in airborne intelligent computing applications

表1 机载智能计算应用下异构融合处理原型与多CPU处理原型系统性能对比

Segment run delay/ms Total delay
(including
transfer)/ms
Total power
consumption/W
Multi-source data
fusion part
Target recognition part Autonomous
decision part
Heterogeneous fusion
Processing prototype
40.9 986.7 106.8 1 354.2 59.4
Multi-CPU
Processing prototype
41.2 5 436.8 867.4 6 545.5 63.7
可以看到,在功耗相差不大情况下,异构融合原型系统完成一次神经网络目标识别与自主决策算法完成的执行仅需要1 354 ms,而传统多CPU处理架构下完成一次程序的完整执行需要约6 546 ms,提升约4.8倍。其中,在神经网络前向计算部分由于涉及大量的矩阵乘加计算,使用异构处理器的进行并行加速效果显著。

4 结论

针对航空计算平台在智能化和任务复杂性提升背景下的需求,设计并实现了一种基于OpenVPX标准的3U异构融合处理模块,该模块采用了软硬件协同设计方法。在硬件层面,通过深入研究异构处理器并进行创新性设计,实现了一个标准化、模块化的计算框架。软件层面上,本研究引入了异构计算资源池化技术,旨在增强机载计算平台的计算效率和适用性。实验结果证明,与常规的多CPU架构相比,本研究所提出的异构融合处理模块原型系统在执行神经网络目标识别与决策算法时,整体处理时间显著缩短了约4.8倍,突显了其卓越的性能表现。 此项研究的成果不仅为航空智能计算应用提供了一种高效率的解决方案,而且为未来航空计算平台的技术进步提供了创新的设计思路和技术支持。尽管如此,本研究中提出的资源池化技术在资源管理和监控机制方面尚显初步,未来的工作将致力于针对航空计算资源的动态需求,开发更为高效的资源调度策略。这将进一步提升异构资源池的利用效率和系统响应速度,从而增强异构融合处理模块的实际应用价值。

References

[1]
阳王东, 王昊天, 张宇峰, 等. 异构混合并行计算综述[J]. 计算科学, 2020, 47(8): 5-16.
YANG W D, WANG H T, ZHANG Y F, et al. Heterogeneous hybird parallel computing overview[J]. Computer Science, 2020, 47(8): 5-16.
[2]
陈文奎, 陶建义. 美航空电子设备综合化技术发展综述[J]. 外军信息战, 2005(5): 2-5.
CHEN W K, TAO J Y. A survey on the development of integrated avionics technology in the United States[J]. Foreign Military Information Warfare, 2005(5): 2-5.
[3]
JEONG E, KIM J, HA S. TensorRT-based framework and optimization methodology for deep learning inference on Jetson bourd[J]. ACM Transactions on Embedded Computing syestems, 2022, 21(5): 1-26.
[4]
DEAN J, CORRADO G S, MONGA R, et al. [C]// NIPS. Proceedings of the 25th International Conference on Neural Information Processing Systems. New York: Curran Associates Inc., 2012: 1223-1231.
[5]
张峰, 翟季冬, 陈政, 等. 面向异构融合处理器的性能分析, 优化及应用综述[J]. 软件学报, 2020, 31(8): 2603-2624.
ZHANG F, ZHAI J D, CHEN Z, et al. A survey on performance analysis, optimization, and application of heterogeneous fusion processors[J]. Journal of Software, 2020, 31(8): 2603-2624.
[6]
吕相文. 高性能计算云环境下GPU并行计算技术及应用研究[D]. 南京: 南京航空航天大学, 2024.
LU X W. Research on GPU parallel computing technology and application in high-performance computing cloud environment[D]. Nanjing: Nanjing University of Aeronautics and Astronautics, 2024.
[7]
张锦涛, 赵惊涛, 王真理. FPGA与GPU并行计算分析——以Kirchhoff叠前时间偏移为例[J]. 地球物理学进展, 2013, 28(3): 1464-1471.
ZHANG J T, ZHAO J T, WANG Z L. Analysis of parallel computing with FPGA and GPU: a case study of kirchhoff pre-stack time migration[J]. Progress in Geophysics, 2013, 28(3): 1464-1471.
[8]
宋奋韬, 王梦莹, 付志远. FPGA发展概论[J]. 科技信息, 2012, (23): 145.
SONG F T, WANG M Y, FU Z Y. An introduction to the development of FPGA[J]. Science and Technology Information, 2012, (23): 145.
[9]
李若. Kneron发布全系列低功耗人工智能专用处理器IP[J]. 计算机与网络, 2018, 44(4): 1.
LI R. Kneron releases a full series of low-power AI processor IPs for artificial intelligence[J]. Computer and Network, 2018, 44(4): 1.
[10]
李景欣. 基于Vitis的FPGA目标检测算法加速器设计[D]. 大连: 大连理工大学, 2024.
LI J X. Design of FPGA-based object detection algorithm accelerator based on vitis[D]. Dalian: Dalian University of Technology, 2024.
[11]
孙铭. 嵌入式平台中的PCI Express总线技术研究[D]. 西安: 西安电子科技大学, 2015.
SUN M. Research on PCI express bus technology in embedded platforms[D]. Xi’an: Xidian University, 2015.
[12]
KRISHNAMOORTHY R, FESQ P. PCI express technology: evolution, performance, and future directions[J]. IEEE Transactions on Parallel and Distributed Systems, 2016, 27(9): 2594-2607.
[13]
COOPER R, VANGAL R. The role of open standards in high-performance embedded computing[C]// IEEE. Proceedings of the 2011 IEEE Aerospace Conference. New York: IEEE, 2011: 1-10.
[14]
虞保忠, 郝继锋, 周霆, 等. 云计算应用中的嵌入式容器技术研究[J]. 单片机与嵌入式系统应用, 2021, 21(5): 8-10.
YU B Z, HAO J F, ZHOU T, et al. Research on embedded container technology in cloud computing applications[J]. Application of Microcomputers and Embedded Systems, 2021, 21(5): 8-10.
[15]
敬超, 胡君达, 谭华. 面向CPU/GPU异构服务器集群的节能调度算法[J]. 计算机仿真, 2023, 40(3): 520-528.
JING C, HU J D, TAN H. Energy-efficient scheduling algorithm for CPU/GPU heterogeneous server clusters[J]. Computer Simulation, 2023, 40(3): 520-528.
PDF(864 KB)

81

Accesses

0

Citation

Detail

Sections
Recommended

/