首页> 中国专利> 信号处理并行计算软件的动态重配置方法

信号处理并行计算软件的动态重配置方法

摘要

本发明公开了一种信号处理并行计算软件的动态重配置方法,其包括两个步骤:首先是软件架构图配置与生成,通过计算任务图与并行处理系统硬件特征模型的最优匹配,生成软件架构图;然后是软件架构图分布,针对实际处理器数量与拓扑结构,将配置好的软件架构图分布到实际并行处理系统的各个处理器上。并行处理系统硬件特征包括处理器的内部层次结构和存储结构、处理器计算性能、以及处理器之间通信网络的通信带宽。与现有技术相比,本发明的信号处理并行计算软件重配置方法,是在系统执行时动态分布计算任务到多核处理器,以实现自适应变粒度并行计算,因而,能够实现在线的计算弹性。

著录项

  • 公开/公告号CN102929725A

    专利类型发明专利

  • 公开/公告日2013-02-13

    原文格式PDF

  • 申请/专利权人 中国人民解放军海军工程大学;

    申请/专利号CN201210450556.1

  • 申请日2012-11-12

  • 分类号G06F9/50(20060101);

  • 代理机构42104 武汉开元知识产权代理有限公司;

  • 代理人黄行军;胡红林

  • 地址 430033 湖北省武汉市解放大道717号

  • 入库时间 2024-02-19 17:52:51

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-07-08

    授权

    授权

  • 2013-03-20

    实质审查的生效 IPC(主分类):G06F9/50 申请日:20121112

    实质审查的生效

  • 2013-02-13

    公开

    公开

说明书

技术领域

本发明涉及并行计算,具体地指一种信号处理并行计算软件的动态重 配置方法。

背景技术

面向功能及操作需求的按需计算可能面对各种需求变化,因此,要求 实时并行计算技术能支持这种在线变化,并同时考虑有限计算资源和 其计算能力的约束,这就是所谓的计算弹性,是多传感器信号处理等 许多并行计算软件系统的高性能特征。

随着需求的不同,信号处理并行计算量和数据存储量是变化的。例如 ,在传感器阵列数字波束形成中,阵型、波束数、工作频段及采样频 率的变化均会导致阵列处理部分算法和/或计算量的改变,而算法与计 算量的变化必然导致计算任务与数据流向的变化,即计算结构的变化 。若考虑有限硬件资源条件的约束,传统的软件编制方法将无法适应 上述的计算弹性,必须发展软件技术以适应计算任务的多粒度与可变 粒度。

实现计算粒度的变化,应受到实时性能的约束,因而所需的计算、通 信和存储资源也将随之而变。尤其是当计算任务所对应的硬件资源需 求增大时,软件应能及时对计算任务进行资源重分配,否则将影响实 时性能。因此必须对多粒度或变粒度计算任务按资源特性重新进行并 行分解,然后动态分布到计算平台上。

鉴于上述特征,当软件系统因计算需求变化或资源故障而引起性能异 常时,软件系统需要有自适应动态重配置软件和分配硬件资源的能力 。 

然而,现有的能支持计算弹性的并行任务分解映射方法,没有考虑隔 离应用需求与硬件资源的各种异构影响因素(包括:处理器结构、互 联网络结构、计算性能与通信带宽等),使分解映射的优化方法有很 大的代价,甚至因网络互联拓扑结构不确定而造成无解,即无法重分 配计算任务 或无法支持计算弹性。

目前,信号处理并行计算软件通常是在设计阶段实现应用并行化,也 就是事先将应用划分成若干个计算任务,并将各个计算任务程序代码 分别编译连接后,利用开发环境提供的工具加载执行程序到处理器。 这种方法通常存在以下缺点:

1、处理器资源是预先分配的,一旦计算任务所需的算法粒度与算法本 身发生变化后,必须重新编写代码、至少重编译和重加载程序代码, 因而,软件系统不具有在线的计算弹性。

2、计算任务进程是静态编码和加载的,进程间数据流是固定的,因而 ,程序编码是与处理器分布紧密相关,软件无法适应硬件平台的变化 ,不便于系统扩展。 

因此,研究一种信号处理并行计算软件动态重配置方法,对于克服上 述缺陷,形成高性能的灵巧计算具有进步意义与实用价值。

发明内容

本发明的目的就在于克服上述现有技术的不足,而提供信号处理并行 计算软件的动态重配置方法,该方法支持多粒度或变粒度计算任务的 在线并行分解,能够根据信号处理算法或任务计算量的需求,动态管 理处理器资源,并能将计算任务动态分布到多核处理器中。

实现本发明目的采用的技术方案是:

一种信号处理并行计算软件的动态重配置方法,包括以下步骤: 

(1)以信号处理的数据吞吐要求为目标,通过计算任务图与并行处理 系统硬件特征的最优匹配,生成软件架构图;

(2)针对处理器的数量与拓扑结构,将所述软件架构图分布到实际并 行处理系统的各个处理器上。 

其中,所述计算任务图是面向数据驱动型信号处理应用的数据流图, 具有多计算粒度和可变计算粒度,所述计算粒度为计算任务在处理器 上的最短计算时间。

所述并行处理系统硬件特征包括处理器的内部层次结构和存储 结构、处理器计算性能、以及处理器之间通信网络的通信带宽。

与现有技术相比,本发明的信号处理并行计算软件重配置方法,是在 系统执行时,动态分布计算任务到多核处理器,以实现自适应变粒度 并行计算,因而能够实现在线的计算弹性。 

附图说明

图1为本发明信号处理并行计算软件的动态重配置方法的流程图;

图2为图1中软件架构图重配置的流程图;

图3为本发明信号处理并行计算软件的动态重配置方法的操作示意图;

图4为图3中计算实体的结构框图;

图5为图4中任务池数据结构示意图;

图6为图4中数据端口链表结构示意图;

图7为图3中将软件构架图的分布流程示意图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步的说明。

本实施例中,信号处理并行计算应用软件运行在多核集群平台的并行 处理系统上。该并行处理系统中的处理器为SMP多核处理器,处理器计 算速度和网络带宽等性能特征可被测量。SMP多核处理器具有“节点- 内核”两级结构,各内核与片内的存储器对称连接。 

在本实施例中,所述计算任务图是面向数据驱动型信号处理应用的数 据流图,其中的信号处理计算任务具有多计算粒度和可变计算粒度特 点。所述计算粒度用该计算任务在处理器上最短计算时间衡量。所述 数据驱动的信号处理受到数据吞吐率的实际约束。

如图1和图3所示,本发明信号处理并行计算软件的动态重配置方法包 括以下步骤:

步骤S100配置并生成软件构架图。 

优化匹配器以数据吞吐指标为目标,根据监视分析器在线获取的 实时数据吞吐量与并行处理系统的硬件结构特征和性能特征,生成软 件构架图。 其中,所述并行处理系统硬件结构特征和性能特征包括 处理器的内部层次结构和存储结构、处理器计算性能、以及处理器之 间通信网络的通信带宽;

本步骤生成的软件构架图包括多个可配置的计算软件实体、发送连接 器和接收连接器,其中发送连接器和接收连接器通过数据端口与计算 实体连接,两个计算实体之间通过发送、接收连接器连接。如图4所示 ,计算实体内嵌配置信息包,配置信息包包括以下配置属性:计算任 务及其执行序列、硬件资源需求、数据端口、实例运行线程与特定内 核间的绑定关系。其中,计算任务是并行处理软件中的最小计算粒度 ,计算任务配置的变化反映计算粒度的变化。因此,所述配置信息包 可适时体现并行计算粒度的变化。

计算软件实体具有动态可重配置特征,如图4所示,其内部包含以下控 制逻辑单元:① 启停(生命期)控制器;②任务池控制器;③ 端 口控制器;④ 线程控制器。为了从外部能够控制上述内部控制逻辑 单元的操作,计算软件实体还定义有相应管理接口:启停(生命期) 管理接口、任务管理接口、端口管理接口和线程管理接口,外部控制 进程通过管理接口实施启停(生命期)控制、任务池控制、端口控制 和线程控制操作。上述配置信息包是由优化匹配器和所述计算实体内 嵌控制逻辑单元共同作用,并被动态设置或更新。 

为了计算实体内部计算任务执行序列的动态组合和替换,实现计算功 能的可配置,计算实体内嵌有任务池和任务池控制器。任务池用于存 放计算任务的执行对象指针和计算任务的执行序列,任务池控制器实 施任务池中计算任务的配置与动态加载,还能依据配置信息包中的配 置属性,实时更改数据端口与任务池中计算任务的绑定关系。任务池 中的每个计算任务关联一个输入数据块表和输出数据块表,分别用于 存储该计算任务所要处理的输入和输出数据块指针。

如图5所示,任务池的数据结构定义为一个链表,其链表中的每 一节点存储一个计算任务信息,包括计算任务编号、执行对象指针、 以及计算任务与输入输出端口的连接关系。计算任务在链表中的存放 顺序表示执行顺序。由于任务池中的计算任务是动态变化的,因此, 任务池控制器将依据配置信息实时更改任务池中的输入、输出数据缓 冲区与计算任务的连接关系。

任务池中计算任务是按顺序执行,前序任务的输出数据块应是后序任 务的输入数据块。为了减少任务间的数据块拷贝,使计算任务和数据 块结构松耦合。为此,在计算任务内部定义数据块表,用于存储该任 务所要加工的数据块指针,其中第一个计算任务的输入数据块指针将 指向输入端口缓冲区列表,作为任务池的始端数据。

计算实体还包括端口控制器和端口链表,用于提供计算实体的数据输 入和数据输出端口的管理。端口控制器能够动态地创建或修改数据端 口链表,并通过释放或重建与数据端口关联的发送连接器和接收连接 器,从而动态改变计算实体进程间的数据链路。 

如图6所示为输入数据端口链表结构,其中的每一节点存储输入端口指 针、输入数据缓冲区指针等信息。 

为了匹配于本实施实例SMP多核处理器内部“节点-内核”两层结构, 以及处理器片内的多个内核共享存储的结构特点,本实例生成的软件 构架图中计算实体的硬件资源需求属性具有粗、细粒度两个层次。所 述粗粒度计算属性为计算任务池中的计算任务所需SMP多核处理器的数 量(或称服务器刀片数),所述细粒度计算属性为计算实体的一个实 例完成计算所需的处理器的内核数,并且一个内核绑定一个线程。

下面分别以如何生成软件构架图,配置计算实体进行说明。

采取图分割方法,优化配置软件架构图,目的是优化计算实体的任务 池和配置信息包、以及计算实体间的拓扑关系。配置后得到的每个计 算实体具有合适的粗粒度计算属性。即所述任务池中计算任务总的计 算时间费用匹配于并行处理系统硬件的处理能力,并要求由所述计算 实体的实例构成的信号处理流水线没有瓶颈,且满足数据吞吐实际应 用要求。具体 如图2所示,包括以下步骤:

步骤S101:以数据吞吐需求指标为优化目标,将相邻的、计算粒度小 的计算任务合并为一个任务簇。

步骤S102:合并得到的任务簇的粒度属性值若不大于计算阈值ub,任 务簇映射到一个计算实体的任务池中,并可被单独调度到一个多核处 理器上成为一个实例,如图7中的计算实体1。该计算实体的粗粒度属 性值为1。

步骤S103:如果一个计算任务的计算粒度属性值大于阈值,该任务则 单独映射到一个计算实体,并将该任务所处理的数据块分解为多个数 据项,该计算实体将被分布到多个多核处理器上,不同处理器上的实 例将处理不同的数据项,如图7计算实体2,其粗粒度属性值为2。

其中,计算阈值(ub)为一个计算实体实例在一个多核处理器上运行 时间的上限值,受限于SMP多核处理器的计算能力、网络带宽以及数据 吞吐需求。如果应用的信号处理的并行计算数据流的数据吞吐为h,网 络平均单位通信时延Δ,计算实体进程总的通信量为com,若计算和通 信没有重叠,那么该计算实体进程的执行时间上限应为ub=1/h-Δ*co m;若计算和通信有重叠,那么ub =1/h。由此,可以确定一个计算实 体粗粒度属性值s,满足s=c/ub,其中c表示所述计算实体内部任务池 内计算任务总的计算费用,即,其中w(t)表示计算任务t在所述多核 处理器上的计算时间费用。 

采取计算实体内置线程控制器的方式,控制线程分解与分布操作,包 括:

实时分析计算实体实例进程的计算时延,根据处理器内部的内核结构 和数量以及存储结构和层次,将该进程分解为层次化的多个线程,得 到该计算实体的细粒度计算属性;将多个线程一一绑定到处理器内核 上,使得计算实体实例进程的计算费用最小。

步骤S200、 将软件构架图分布到并行处理系统中的各个SMP多核处理 器上,具体步骤如下:

步骤2.1粗粒度分布

主进程执行最优调度算法,即首先根据所述计算实体粗粒度计算属性 值,按数据并行方式实例化计算实体为若干个计算进程,约束于并行 软件架构图。每个计算进程实例被独立分布到一个空闲的多核处理器 上,分布原则是负载平衡和通信费用最小。如图7所示,计算实体1的 计算粗粒度属性值是1,计算机实体1的实例进程为P1,被单独地调度 到一个SMP多核处理器上成为一个实例。如果一个计算任务的计算粗粒 度属性值是2,因而该计算实体2的2个实例进程p21和p22分别分布到2 个多核处理器上。并将该计算任务所处理的数据块分解为两个数据项 ,不同SMP多核处理器上的实例将处理不同的数据项;

然后是计算实体实例进程的配置操作。主进程通过计算实体实例进程 的配置信息包接口写入该实例进程的配置信息,并通过端口管理接口 驱动端口控制器设置该实例进程的数据端口链表和连接器,完成数据 流重定向;通过任务管理接口驱动其中任务池控制器操作。

步骤2.2、细粒度分布

主进程通过计算进程的线程管理接口驱动线程控制器实施细粒度线程 分布操作,即进程实例进入线程的自主分解运行状态,并将线程绑定 到内核,如图7所示,如计算实体的细粒度计算属性值为3,线程控制 器就将进程实例分为3个线程,每个线程分布到一个SMP多核处理器的 内核中。

本发明中所依赖的实时数据吞吐、并行处理系统资源信息是由监视器 实时获取和更新。

此外,由于计算实体的硬件资源需求是可配置的,其硬件资源需求属 性的数据结构匹配于处理器内部结构特征,因而,按硬件资源的实际 情况,计算实体可以被动态地分布或迁移到并行处理系统中具有相同 结构特征的处理器上,而与处理器的实际数量无关。由此,提高了并 行计算软件的硬件平台适应性,便于实现与扩展。  

再者,本发明本质上是将影响信号处理应用的实时性能之不同层 面因素(如应用的计算方法、软件结构、并行处理器结构、处理器计 算性能与网络通信带宽、处理器物理分布等)一一隔离开来,允许其 有独立的自适应调节规范。这样,将影响应用系统性能的各种影响因 素解耦合。

基于所述解耦合方法,本发明在软件架构图的配置时只考虑计算需求 、处理器内部结构特征及网络带宽的影响因素,而无须考虑网络互连 结构的变化,从而简化了应用并行化的计算代价,并克服了由于网络 拓扑结构不确定而造成的优化匹配算法解的不确定问题。由于所述优 化匹配是在线动态的过程,因而所述计算任务图中的计算任务及数据 的划分可以事先凭直觉、按照领域应用的自然边界进行分解,只要求 每个任务功能和任务间的接口及数据通信是清晰和明确的。

本发明通过两步骤重配置这一技术手段,简化了具体应用分解过程, 使信号处理应用软件达到以实时性能满足为基本要求,同时适应计算 的多粒度或变粒度需求变化,动态配置硬件资源的目的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号