基于多核处理器的雷达多通道处理与优化

2019-04-26 05:03窦泽华黎贺
电子技术与软件工程 2019年4期
关键词:运算量内存处理器

文/窦泽华 黎贺

随着作战场景的日益复杂,以及雷达技术的不断发展,雷达处理通道数越来越多,带宽(采样率)越来越高。以泰勒斯公司的GM200雷达为例,处理通道数大于20个,采样率5MHz,总数据率大于6.4Gbps;另一方面现代信号处理技术快速发展,运算量较传统雷达信号处理技术大幅增加。高数据率、大运算量,对后端处理的需求越来越高。

幸运的是处理器的能力也在不断进步,多核CPU,众核GPU的出现,使得高数据率、大运算量的处理成为可能。以目前市场上的商用服务为例,四颗CPU(E5或E7)架构的服务器,最大有60个计算核。如此多的计算核(并且按照发展趋势CPU核的数量会越来越多),雷达信息处理软件该如何设计,以便充分发挥其计算性能。

本文以实际工程中的某产品为例,探讨多核CPU下的使用方案,并在实施过程中对不必要的多余内存操作进行优化,进一步提高处理通过率。为后续雷达高数据率、大运算量处理提供工程参考。

1 需求分析

1.1 产品介绍

某雷达通道数24个,采样率5MHz,分6根光纤,每个光纤传输4个通道数据,总数据量6.7Gbps。如图1所示。

雷达阵面下行的每个光纤内4个通道的数据打包格式如图2所示。

对信息处理而言,第一级处理的任务是将6根光纤数据接收缓存,并完成光纤之间的数据同步、通道数据拆分(将属于同一个通道的数据整理在一起),以方便后续处理。其对内存数据的频繁操作,使其成为整个信息处理的瓶颈。本文就以通道拆分为例,研究多核CPU的高数据率、大运算量的应用。

图2:光纤内多通道数据格式

图3:方法(1)处理器执行示意图

图4:方法(2)处理器执行示意图

1.2 处理平台介绍

本文使用基于2颗Intel志强E5处理器的刀片服务器作为处理平台,其关键参数如下:

(1)计算资源:双路Intel Xeon E5-2648L v3(12核,1.8GHz)

(2)内存资源:板载DDR4 2133MT/s 64GB

该处理平台除去操作系统、中间件驱动使用的4个核,总计有20个核用于计算。

2 方案设计

2.1 方案比较

根据上述需求,通道拆分需要完成6根光纤数据的拆分重组,基于多核处理器有多种并行处理方法:

方法(1)按光纤数量并行,6根光纤并行处理,按照此方法,只有6个核在运行,有14个核处于空闲状态,处理时间T1;

方法(2)按24个通道并行,由于处理平台只有20个计算核,一次并行20个通道,剩下的4个通道还得处理一遍,此时会有16个核处于空闲状态,处理时间2T2;

方法(3)按数据点数并行,一次并行20个点,依次执行,最后一次执行可能不足20个点,处理时间

三种方法的并行示意图如图3、图4、图5所示。

方案(1)和方案(2)并行颗粒度较粗,均会出现多个核的空闲,且每次执行时间较长,没有充分发挥多核的性能。只有在光纤数量、通道数量是核的整数倍时,效率最高,但实际工程中该情况较少;方案(3)并行颗粒度最细,虽然在最后一次执行也存在部分核的空闲,但每次执行只处理1个数据点,执行时间短,整体效率最高。在工程中,也可以考虑舍弃最后小于20(即核的数量)个点的数据,对雷达系统影响甚微。

根据上述分析,多核并行处理,要求并行的颗粒度越细,执行效率越高。

2.2 方案实施

根据上述分析,设计多通道收数预处理的处理流程如下(图6):

(1)6个核并行接收6根光纤的数据;

(2)通道拆分前,完成6根光纤数据的合并;

(3)通道拆分:6根光纤24个通道的数据整理;

(4)通道整理,按需求完成有效通道的整理。

2.3 方案优化

对初步方案的处理性能进行测试,整体数据通过率7.05Gbps。相比输入数据率6.7Gbps,系统余量只有5%,处理能力临界,存在系统饱和的风险,需要对方案进行优化。

对照流程图,步骤(3)的通道拆分经过方案的比较,提升空间不大。初步方案为考虑软件的通用性,在通道拆分前后对数据整理以满足步骤(3)通道拆分接口的简化统一,但其对内存访问频繁,占据一半的处理时间。

按照尽量减少对内存的访问原则,对初步方案作以下优化:2.3.1 多核光纤收数

步骤(1)设计6个核并行接收6根光纤的数据,同样存在并行颗粒度过粗,处理核空闲,效率不高。改进为6根光纤串行收数,每根光纤20个核并行访问内存。

2.3.2 舍弃多光纤数据合并,

步骤(2)的数据合并是为了方便步骤(3)通道拆分的执行。舍弃该步骤后,步骤(3)的通道拆分采用6根光纤串行,依次调用通道拆分函数完成6根光纤的数据拆分。因为通道拆分是按数据点并行,所以6根光纤串行处理,并不会降低效率改造后的流程图

2.3.3 舍弃拆分后的通道整理

通道拆分后,在某些应用模式下,24个通道中的部分数据并不完全需要,或者需要调整数据顺序,方便后续的处理,因此需要对拆分后的24个通道再进行一次整理。

舍弃该步骤后,结合第2.3.2条优化,在每根光纤数据拆分的同时,根据应用模式需求,完成拆分后的数据存放。

最终优化后的处理流程如图7所示。

优化后的整体数据通过率大于14Gbps,比初始方案提高1倍,系统余量50%,大大满足系统需求。可见内存作为处理器的外设存储设备,是多核/众核高性能处理器的性能瓶颈,对处理能力的影响巨大。工程使用过程中,应尽量减少对内存的频繁访问操作。

3 结束语

本文基于24核双CPU处理平台,探讨了雷达多通道的处理方式。

(1)多核并行颗粒度越细,对多核的利用效率越高。对于后续的脉冲压缩、CFAR等需要访问相邻数据的算法,可考虑将数据划分成若干片段进行并行,最大程度接近最优的方案;

(2)内存作为处理器的外设,已成为高性能处理的瓶颈,处理过程中应尽量较少对内存的读写操作,以此提高整体通过率。

基于上述多核多通道并行处理的方法,已经在某软件化雷达项目中成功应用。

图5:方法(3)处理器执行示意图

图6:多通道预处理流程图

图7:多通道预处理流程图

猜你喜欢
运算量内存处理器
外部高速缓存与非易失内存结合的混合内存体系结构特性评测
“春夏秋冬”的内存
用平面几何知识解平面解析几何题
减少运算量的途径
让抛物线动起来吧,为运算量“瘦身”
Imagination的ClearCallTM VoIP应用现可支持Cavium的OCTEON® Ⅲ多核处理器
ADI推出新一代SigmaDSP处理器
基于内存的地理信息访问技术
AItera推出Nios II系列软核处理器