雷达信号处理软件组件的部署方法与流程

文档序号:15888430发布日期:2018-11-09 19:47阅读:356来源:国知局
雷达信号处理软件组件的部署方法与流程

本发明涉及一种雷达信号处理方法,尤其涉及一种雷达信号处理软件组件的部署方法。

背景技术

现代战争中,雷达面临的战场环境和作战对象是复杂多样的。因此,研究对战场目标和环境适应能力更强的雷达,提高雷达的战场生存能力是雷达技术发展的主要目标。能根据目标和环境智能地选择发射波形、工作方式以及进行资源的最优分配的雷达,被认为是未来雷达发展的重要方向。工作方式是雷达信号处理机的一个重要参数,工作方式的选择是由发射波形决定的,而发射波形又是根据战场场景、作战目标变化的。当工作方式发生变化后,信号处理机对回波数据处理的流程也需发生相应的变化。所以,能够根据工作方式自适应调整处理流程的技术是雷达信号处理机软件技术发展重要方向,即未来的雷达信号处理机软件需具备实时构建新的工作流程图并具备迅速向硬件处理器部署新的处理软件组件的能力。

目前信号处理机的软件设计流程是由设计者先根据雷达工作方式设计工作流程图,在对平台处理能力、经济性要求、性能指标等因素进行综合考虑及计算后,再通过人工编写相应处理器的运行代码,将功能构件映射至各个处理器,从而实现流程的处理,它主要存在以下不足:第一,不能实现信号处理机工作方式的实时增加、删除和更改;第二,雷达工作时,每种工作流下的功能、数据流向固定,不能对功能构件、数据流向、软硬件映射关系等进行实时调整。



技术实现要素:

本发明所要解决的技术问题是克服现有技术的缺陷,提供雷达信号处理软件组件的部署方法,实现雷达信号处理软件组件向硬件处理器的动态部署,使雷达信号处理机具备快速响应雷达工作方式变化的能力,从而达到对工作方式自适应调整的目的。

为解决上述技术问题,本发明提供雷达信号处理软件组件的部署方法,包括以下步骤:

(1)信息获取:系统接收前端输入的工作流程图信息,所述工作流程图信息包括描述信息及软硬件约束条件;

(2)图的解析:将步骤(1)中描述信息进行解析量化,得到图中组件的序列号、依赖关系、数据集格式信息,并将解析量化得到的图中组件的序列号、依赖关系、数据集格式信息以邻接表的方法进行存储;

(3)得到详细图组件信息:从构件组件数据库中获得组件可处理的数据维度信息、组件在不同核数下的数据通过率;

(4)组件排序:将所述图中组件按照入度顺序进行排序;

(5)关键路径计算:通过计算所述各个图中组件的最早时间eft时间、最迟发生时间lft得到图的关键路径长度,以及各个组件的主从关系表;

(6)图中组件以及cpu核分组:按照关键路径的时间序列,采用枚举法将图中组件进行有序分组,组件组数计算公式为2n-1;而cpu核则为无序分组,cpu组数为2n-1,其中n为组件数量;

(7)分图组件组与核组适配:计算图中组件的各个分组在不同核数时的处理时间并存储,得到分图组件组与核组适配的结果;

(8)选择最佳部署方案:将分图组件组与核组适配的结果按照输入的软硬件约束条件进行筛选,选择延迟周期和硬件规模最小的组合进行输出,得到最佳的组合;

(9)推送部署方案:将经步骤(8)适配后最佳的组合推送至轮循架构系统的各个cpu。

进一步的,步骤(1)中的所述工作流程图采用dag有向无环图模型进行建模。

进一步的,步骤(2)中的所述的邻接表的方法具体包括以下步骤:

1)建立邻接任务池:邻接任务池池中包括邻接矩阵及依赖关系表,采用双向链表的方法表示组件的依赖关系;

2)解析描述依赖关系的字符串:从所述字符串中解析得到前置邻接点、后继邻接点在图中的序号以及两者间传输的数据集,并将两者加入双向链表;

3)得到邻接矩阵:对表示依赖关系的双向链表进行顺序计算,得到图中各个组件间的邻接关系,即每个组件与其它组件之间的连接线的个数。

进一步的,步骤(5)中所述的关键路径计算具体包括以下步骤:

1)出入度计算:计算各个邻接点(组件)出入度,通过查询所述邻接矩阵,得到各个组件的入度;

2)按入度排序:依次将入度减1,记录每次减1后入度为零的邻接点(组件),最终得到按照入度排序的组件序列,如果在减1后,找不到入度为零的邻接点,则表示此图中有环,非有向无环图;

3)计算最早时间eft;

4)计算最迟发生时间lft;

5)得到主从节点:如果某个邻接点(组件)的eft、lft相等,则表示此组件为关键路径上的点,为主节点,否则为从节点;

6)得到关键路径:将所述从节点并入关键路径中,得到最终关键路径。

进一步的,步骤(6)中所述图中组件以及cpu核分组,采用轮循处理架构方法处理图中组件以及cpu核分组,具体步骤如下:

1)根据得到的各个图中组件的最大并行度计算整个工作流的完成时间t,进而得到轮循的cpu数量cn,公式为cn=t/prt,其中t为整个工作流的完成时间,prt为雷达重复周期;

2)将得到的cpu数量cn与系统给定的数量最大值max比较:若cn<max,则不需要进行图分割,若cn>max,则需要进行图分割。

3)将图中排序后的软件组件进行分组,组间和组内的软件组件排序皆与所述关键路径上的序列一致。

进一步的,所述并行度是指在多核系统中输入的数据集可被分割处理的大小,不同的软件组件处理的数据维度不同。

进一步的,所述步骤(7)的具体步骤如下:

1)计算关键路径长度:计算关键路径上节点在单核时的处理时间,此时间为系统最长时间lt,以此时间作为基准进行筛选图组和核组的组合;

2)选择组件组;

3)选择相应的核组;

4)计算组件在当前核组下的时间:计算组在分配核时的处理时间pt;

5)筛选组合:比较lt与pt,lt大于pt则记录,否则放弃。

本发明所达到的有益效果:本发明的雷达信号处理软件组件的智能部署方法,能够实现系统中工作方式级、组件级、构件级模块的实时在线增、删、改等操作,并通过软件再部署的方法,实现信号处理软件的在线重构及升级。

附图说明

图1是本发明主流程示意图。

图2是本发明雷达信号处理软件组件部署系统组成示意图。

图3是本发明雷达信号处理功能流程示意图(a)以及对应的dag示意图(b)。

图4是本发明雷达信号处理工作流程图邻接表的示意图。

图5是本发明雷达信号处理软件组件部署方法的关键路径计算流程示意图。

具体实施方式

实施例1

雷达系统接收到前端输入的工作流程图描述信息后,首先对描述信息解析,得到工作所需的软件组件和组件间依赖关系,然后对图中的功能组件按照上下文依赖关系进行排序和图分割,再将分割后各个分图与核组进行适配,从而得到各种分组时的系统延迟时间,根据输入的延迟时间和硬件规模约束条件,选择最佳的组件部署方法,其对应的雷达信号处理软件的部署系统如图2所示,包括对外接口管理器、资源管理器、图解析器、调度方案。雷达信号处理软件组件的部署方法,如图1所示,具体步骤为:

(1)进行信息获取:获取图的描述信息及软硬件约束条件。

(2)进行图的解析:将输入的对于图的描述进行解析量化,得到图中组件的序列号、依赖关系、数据集格式等信息,并将信息以邻接表的方法进行存储。

雷达信号处理机的工作流程采用流程图的方式展现,是由多个软件组件按照一定的依赖关系组合起来,雷达信号处理功能流程图的各个功能组件是流数据在信号处理机运行过程中各个阶段的具体处理方法。由多个软件组件按照一定的依赖关系连接而成的图,可用dag(dag:directedacyclicgraph)有向无环图模型来对其进行建模。dag图是组合优化问题建模与求解的重要工具,此模型能够对流程图中的各个功能的属性进行详细描述,并且能够清晰表达出各个功能之间的依赖关系。图3为雷达信号处理功能流程图(a)以及对应的dag图(b)。其中,节点表示任务组件,边表示任务之间的依赖以及通信关系,边上的权值表示通信量。dag使用有向边表示任务之间的依赖关系,g=(v,e,t,c)。(v:任务,e:任务ni到nj的边,t表示任务ni的计算时间开销,表示任务ni到nj的通信时间开销)。圆中上半部分为构件在图3(b)中的序号,下半部分为构件的运算时间。

在对输入的dag图解析时,具体为:1)建立邻接任务池:池中包含邻接矩阵及依赖关系表等,采用双向链表的方法表示组件的依赖关系。2)解析描述依赖关系的字符串:从字符串中解析得到前置邻接点、后继邻接点在图中的序号以及两者间传输的数据集,并将两者加入双向链表。3)得到邻接矩阵:对表示依赖关系的双向链表进行顺序计算,得到图中各个组件间的邻接关系,即每个组件与其它组件之间的连接线的个数。采用邻接表存储的方法对其的进行量化存储,从而实现了流图的计算机结构存储。采用邻接表法则,为后续图中软件构件向硬件平台的部署创造了查询、调度条件。图4为图3(b)邻接表的表示方法。

(3)得到详细组件信息:从构件组件数据库中获得组件可处理的数据维度信息、组件在不同核数下的数据通过率等。

(4)图中组件排序:将图中组件按照入度顺序进行排序。

(5)关键路径计算:通过计算各个组件的lft、eft时间得到图的关键路径长度,以及各个组件的主从关系表。

关键路径(criticalpath)是指完成dag图中所有组件的最长路径,关键路径上所有节点的完成时间决定了整个流程图的时间延迟量。在获取关键路径的同时,还可以得到dag图中的各个组件之间的串、并联关系以及可并行处理的任务列表、任意时刻软件组件的状态等。关键路径的获取主要是通过计算各个组件最早(eft)和最迟发生时间(lft)得到。通过关键路径法可计算得到各个组件的eft、lft,主节点为关键路径上的节点,从节点则为非关键路径上的节点,可与主节点并行处理。每个dag图的关键路径并不是一成不变的,它是随着部署方案、数据处理时间、通讯时间变化的。

关键路径计算的步骤如下:1)计算各个邻接点(组件)出入度:通过查询邻接矩阵,得到各个组件的入度。2)按照入度排序:依次将入度减1,记录每次减1后入度为零的邻接点(组件),最终得到按照入度排序的组件序列,如果在减1后,找不到入度为零的邻接点,则表示此图中有环,非有向无环图。3)计算eft:计算得到最早时间eft。4)计算lft:计算得到最迟发生时间lft。5)得到主从节点:如果某个邻接点(组件)的eft、lft相等,则表示此组件为关键路径上的点,为主节点,否则则为从节点。6)得到关键路径:将从节点并入关键路径中,得到最终关键路径。

(6)图中组件以及cpu核分组:按照关键路径的时间序列,采用枚举法将组件进行有序分组,组总数计算公式为2n-1;而cpu核则为无序分组,组数为2n-1

由于雷达信号处理系统待处理的数据集可被抽象为一个数据立方,由通道、脉冲、距离单元(cpr)三个维度组成,雷达信号处理软件组件的并行度主要是指在多核系统中输入的数据集可被分割处理的大小,不同的软件组件处理的数据维度是不同的,例如fft组件通常可处理的最小维度为脉冲维,而求模组件则能到距离单元的维度。对滑窗计算的软件组件,可用下列公式进行计算。以mti组件为例,输入维度为(6,10,1024)的数据集,在20核的cpu中进行3脉冲滑窗计算,其中mti要求可处理数据的维度为(p,r),其最大并行度计算如下:

ca=ceil(6×(10-3+1)/ceil(6×(10-3+1)/20))

pb=floor(20/ca)

最大并行度:p=ca×pb=16

采用轮循处理架构时的图分割和核组划分。根据得到的各个组件的最大并行度计算整个工作流的完成时间t,进而得到轮循的cpu数量cn,公式如下:cn=t/prt,其中t为整个工作流的完成时间,prt为雷达重复周期。然后将得到的cpu数量k与系统给定的数量最大值max比较:如果k<max,则不需要进行图分割;如果k>max,则需要进行图分割。将图中排序后的软件组件进行分组,组间和组内的软件组件排序皆与关键路径上的序列一致。

以图3(b)中关键路径为例,图可划分为有顺序的2n-1组共31种分法,分组情况如下(123456为各个组件在图中的序号):

分为1组时:[123456]

分为2组时:[1][23456];[12][3456];[123][456];[1234][56];[12345][6];

分为6组时:[1][2][3][4][5][6]

采用轮循处理架构时,各个cpu处理的都是同一张dag图,每个cpu的核数也进行分组,不同的是核组为无序分组,即不考虑核的序号,分组总数为,假设共有6个核,[]内数字为分配的核数量,则有:

分为1组时:[6]

分为2组时:[1][5];[2][4];[3][3];

(7)分图组件组与核组适配:计算图组件的各个分组在不同核数时的处理时间并存储。

分图组件组与核组适配的步骤如下:1)计算关键路径长度:计算关键路径上节点在单核时的处理时间,此时间为系统最长时间lt,以此时间作为基准进行筛选图组和核组的组合。2)选择组件组:依次在分图组件组中选择一种分组,如分为1组时的分组[123456]。3)选择相应的核组:如组件组分为1组时的核组也只有一种,即[6]。4)计算组件在当前核组下的时间:计算组件1、2、3、4、5、6在分配6个核时的处理时间pt。5)筛选组合:比较lt与pt,如果大于则记录否则放弃。

(8)选择最佳部署方案:将分图组件组与核组适配的结果按照输入的软硬件约束条件进行筛选,选择延迟周期和硬件规模最小的组合进行输出。

(9)推送部署方案:将经适配后最佳的组合推送至轮循架构系统的各个cpu。

获取组件序列和cpu信息,将图中组件分组,将cpu核进行分组,计算图组中组件在每种核组时的处理时间,选择满足策略的图组和核,并输出。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1