APP下载

基于VPX服务器的雷达实时并行信号处理系统的研究

2019-04-11徐敏超

火控雷达技术 2019年1期
关键词:调用信号处理线程

李 飞 宋 慧 徐敏超

(武汉滨湖电子有限责任公司 武汉 430205)

0 引言

对于高速的雷达实时信号处理而言,仅靠单处理机系统已经很难达到理想的计算速度,必须通过并行处理技术来实现。尤其是对于如今功能强大的信号处理系统,其信号处理方式及其结构都比较复杂,系统对实时性、运算精度、数据吞吐量和负载均衡提出了更高要求,因此使用具有每秒几十亿甚至几百亿次运算速度的大规模实时并行处理系统势在必行[1]。

雷达信号处理就是典型的实时信号处理,其信号数据具有连续性、吞吐量大以及快速性的特征,随着多核处理器的发展以及实时操作系统的不断优化,使得多核框架多线程并行运算下的实时信号处理具有很高的性能[2]。VPX服务器是将多个高性能的多核处理器通过高速传输总线互联构成大规模的嵌入式并行处理机,具有强大的计算能力和大容量高速内存,同时具有Serial RapidIO(SRIO)、万兆以太网等多种高速数据接口,能够满足雷达信号处理对运算量、存储量及吞吐量的要求,在VPX服务器下进行并行实时信号处理系统的研究,具有重要的研究意义与价值[3]。

1 VPX服务器

基于VPX架构,将多个高性能的多核处理器通过高速传输总线互联构成大规模的嵌入式并行处理机,能够大大提升系统的处理性能,其高速的处理能力,以及特殊考虑的加固方法,可很好的满足雷达信号处理系统的需求。另外,考虑雷达系统标准化、模块化、可扩展的发展潮流,基于标准的VPX硬件平台,结合雷达信号处理系统的特点及需求构建标准化、通用化、系统规模可扩放的嵌入式并行处理系统成为提高雷达系统性能的关键,能够满足雷达对系统功能、系统灵活性、系统可靠性以及系统开发时间周期等各方面的需求。

该服务器的内部布局如图1所示,支持12插槽+双电源的VPX系统,计算模块、交换模块和交换后插模块采用热备份设计,其中计算模块支持多种备份模式,交换模块和交换后插模块整体支持1+1备份,多种备份模式的设计,方便使用者根据环境需要进行剪裁和灵活配置,具有广泛的使用性;服务器将交换单元和机箱管理单元集成在交换模块上,减少了整机板卡数量,大大缩小结构尺寸;服务器支持远程媒体重定向和远程管理功能,通过网络可在远端实时操作各计算模块单元,监控服务器板卡电压、温度等情况,根据需要开关机等操作,减少对操作空间的局限。

图1 刀片式加固服务器内部布局图

雷达数据由交换模块分发给各个计算模块进行信息处理,数据交换支持20G的SRIO交换和40G网络交换,其数据业务原理框图如2所示。当数据从自定义光协议接口进入服务器,数据首先经数据接口模块解码并打包成SRIO数据帧,预处理后发送到交换模块中的SRIO交换芯片,SRIO交换芯片根据预先配置好的分发策略将数据发送到各个计算模块进行计算和处理。通过配置分发策略,各个计算模块可以协同或者独立处理同一业务标识的数据,增加了数据处理的灵活性。40G以太网用于实现计算模块之间的数据交互和信号处理系统与数据处理系统之间的数据交互,而且以太网编程易实现可灵活配置,并且可以遵循OpenDDS规范,方便基于以太网开发通信中间件。

图2 刀片式加固服务器数据业务原理框图

2 信号处理系统任务模块设计

2.1 信号处理系统任务划分

雷达信号处理系统主要功能是通过光纤接收数字接收机下行的实时数据,进行脉冲压缩、副瓣对消、动目标检测、杂波图处理、恒虚警检测、干扰分析等处理后,将处理结果送至数据处理和终端显示[4]。

根据信号处理流程和实时性的要求,把信号处理系统按照以下准则划分为多个标准模块。首先,根据上一章介绍的服务器的对外接口,由于SRIO的实时性比40G以太网高,使用SRIO传输数字接收机下行的实时数据,同时40G以太网的带宽比SRIO大,并且网络编程简单易实现,用于计算模块之间数据交互和信号处理系统与数据处理系统之间的数据交互。

然后,测试服务器计算模块的CPU计算性能,计算模块采用Intel Xeon E5-2648L v4处理器(14核心,主频1.8GHz),浮点理论峰值计算能力403GFLOPs,使用单精度FFT测试该CPU的单核心计算性能,测试结果见表1所示。

表1 单核心FFT性能测试

FFT点数绑定单核心计算结果(ms)10240.00320480.00640960.01181920.023163840.047327680.096

最后考虑信号处理各个流程之间的并行性,将信号处理系统大致按功能分割为各个功能模块:数据接收模块、脉冲压缩模块、副瓣对消模块、动目标检测模块、杂波图模块、恒虚警模块、干扰分析、数据发送模块和数据交互模块等。

2.2 模块设计

数据接收模块负责把数字接收机下行的实时数据传输到服务器,即把自定义协议的光纤数据转换为SRIO数据包组播给各个计算模块,其中最大支持4路4.5G光纤。在上一节中的图2数据业务原理框图,数据接口模块中的FPGA把自定义光纤数据转换为SRIO数据包,并对多路光纤数据进行同步,通过交换模块广播到各个计算模块,计算模块上使用DMA设计一个环形缓存区,缓存SRIO数据包,再由应用程序循环读取SRIO数据包。

数据交互模块负责计算模块之间经过交换模块1使用40G以太网进行数据交互,基于OpenDDS设计通信中间件,如图3通信中间件原理示意图所示,通信中间件是一个基于分布式系统的网络环境中的复杂需求设计出来的一个通信方案以及相关的实现,通讯中间件具备DDS数据收发功能,脱离地址的数据,通讯无中心节点的数据通讯,提供可靠持久的通讯能力,支持QoS等功能。

图3 通信中间件原理示意图

脉冲压缩模块、副瓣对消模块、动目标检测模块、杂波图模块、恒虚警模块和干扰分析等模块主要是由FFT、IFFT和矩阵乘加运算等基础运算构成,调用Intel公司开发的科学计算库(MKL)来实现基础运算,然后再通过基础运算实现信号处理的各个模块。把信号处理分割成标准的子模块,不仅有利于工程实现,可灵活调用,而且利于信号处理系统的扩展。

3 任务模块的并行与线程同步

3.1 任务模块并行化

雷达信号处理对实时性要求很高,采用多线程并行计算开发信号处理程序,并对每个线程绑定CPU核心,每个线程执行一个或多个任务模块。线程作为操作系统的最小调度单元,具有轻量化,创建回收方便等特点。基于多线程的并行计算有MPI、OpenMP、Pthreads等多种规范,在本文中采用Pthreads规范编程。

3.2 线程同步

实现线程同步保证数据安全,在线程间加互斥锁和信号量。当多个线程同时需要读取共享内存的数据时,采用信号量同时触发多线程,多线程并发访问该内存的数据;当多个线程不仅需要读取同一内存的数据,而且需要修改该内存的数据的时候,使用互斥量控制同一时间内只允许一个线程操作共享数据,其它需要操作数据的线程进行等候,这样排除了多线程对共享数据并发操作。

3.3 整机测试

通过整机雷达验证该信号处理系统的性能,该雷达是二维相控阵雷达,常规工作模式下在方位上从-45°到+45°范围内相扫,每0.5°一个波位,每个波位驻留25个脉冲。使用两块计算模块,在每个计算模块上分别进行初始化和创建线程池,然后调用线程池中线程,分配信号处理任务模块,并为每个调用的线程绑定一个CPU核心。

图4 信号处理系统功能流程图

如图4所示,根据常规模式所需要的线程和计算量,为每个线程分配任务模块,采用如下步骤:

步骤1:两个计算模块分别调用一个线程绑定数据接收模块,接收雷达数字接收机的下行数据,该下行数据使用一路4.5G光纤传输,包含10路主通道数据和4路辅助通道数据;

步骤2:计算模块1调用两个线程绑定脉冲压缩模块,每个线程实现5路主通道的脉冲压缩,计算模块2调用一个线程绑定4路辅助通道的脉冲压缩;

步骤3:计算模块1调用一个线程绑定数据交互模块,接收计算模块2送来的辅助通道脉冲压缩数据,同时计算模块2调用一个线程绑定数据交互模块,发送辅助通道脉冲压缩数据;

步骤4:计算模块调用一个线程绑定副瓣对消模块,每个线程实现5路主通道的副瓣对消;

步骤5:计算模块1调用两个线程绑定动目标检测模块,每个线程实现5路动目标检测;

步骤6:计算模块1调用两个线程绑定杂波图模块和恒虚警检测模块,每个线程实现5路主通道的杂波图和恒虚警检测;

步骤7:计算模块1调用1个线程绑定数据发送模块,实现与数据处理系统的数据交互。

计算模块1和计算模块2中的每一个方框代表一个线程,每个线程绑定一个CPU核心,线程之间是并行的并通过互斥量和信号量进行线程同步。通过整机实测,常规工作模式下信号处理系统的结果送到终端显示如图5连续相扫8圈的终端界面截图所示,168个波位分别对应雷达的-42°到+41.5°,每0.5°对应一个波位,连续相扫8圈,信号处理系统能够实时连续地跟踪目标。

经过整机测试表明该信号处理系统能够持续、稳定地运行。当需要增加光纤路数或者面对不同型号雷达需求的时候,由于已经把信号处理系统分成标准的模块,并且可以根据计算量增添计算模块,这样就可快速构建信号处理系统,降低了开发难度和开发周期。

图5 相扫8圈终端画面

4 结束语

本文提出了一种基于VPX刀片加固服务器和多线程并行计算的雷达实时并行信号处理系统,该信号处理系统采用标准的模块化设计,实现了基于多CPU多线程实时信号处理并行软件的研制,并通过模块化信号处理系统以及线程间的同步来提高实时信号处理的并行处理性能。实际运行时间表明系统不仅能够保证需求的性能要求,也能保证CPU的运行负载不会持续高负载运行,具有良好的健壮性,能够持续、稳定地进行高性能并行运算,并且可根据雷达信号处理的需求进行灵活配置,具有很强的扩展性和广阔的工程应用前景。

猜你喜欢

调用信号处理线程
5G终端模拟系统随机接入过程的设计与实现
包装过程称量信号处理方法研究
实时操作系统mbedOS 互斥量调度机制剖析
浅析体育赛事售票系统错票问题的对策研究
系统虚拟化环境下客户机系统调用信息捕获与分析①
基于属性数据的系统调用过滤方法
利用RFC技术实现SAP系统接口通信
C++语言中函数参数传递方式剖析
Java的多线程技术探讨