多核和多CPU编程——任务调度

一、调度算法分类

任务分解后,具体如何安排任务到硬件上执行,就需要对任务执行更高效更便捷进行分析。基本上,就可以形成算法模型。任务并行的调度算法基本有三大类:
1、树结构算法
其实就是任务执行是有先后顺序和依赖相关的,这些就可以通过一个树的遍历来完成。
2、Fork-join算法
并行任务调度算法中很常见的,其主要核心是任务窃取(也就是前面提到的线程的窃取)
3、图调度算法
图调度算法和树算法基本原理有些类似,只是具体的调度方式有所不同。在前面的DAG中已经分析过,主要是在形成的任务图中,进行分层并行。

二、具体的技术和算法

1、任务表调度
表调度的基本算法是对任务进行权重的优先级进行排序构造一个任务列表,然后根据权重分配到具体的线程(CPU核心)执行,直到将所有任务执行完成。它可划分为静态调度和动态调度两种。如MCP和DLS算法等。
2、基于任务复制的调度
此调度方法其实是利用CPU的空闲时间进行前置任务的复制,从而避免前置任务数据的传输,提高CPU的利用率。它可以分为只复制直接前驱任务和复制所有前驱动任务两种方式。如DSH和BTDH等。
3、基于任务集群的调度
这种方法是把所有的任务映射到指定的集群上,算法在每一步都把上一步的一些集群形成新的集群,同一集群在同一处理器上运行,然后算法再在CPU上完成对集群内任务的调度(即任务的优先排序和数量的最优匹配)。如MD和DSC算法等。
4、随机搜索调度
它是指有导向的随机选择来搜索任务调度的方式。这类技术通过组合前面的搜索结果的知识和特定的随机特点来产生新的结果。常见的有遗传算法和模拟煺火算法就是此类。

三、总结

任务调度算法是一个NP问题,可以不断的完善调优。正如古人所言:“苟日新,日日新”。学习计算机技术也是如此!

光电经纬仪是最早、最广泛应用于飞行器测控领域的光电跟踪测量设备,它 的组成部分包括大地测量光学经纬仪、激光跟踪测量系统、微机控制系统与图像 处理系统组成。光电经纬仪通过记录飞行过程中的目标图像,并测量传动机架的 角度,从而获得目标飞行参数,它在飞行实况记录中发挥重要的作用 [1] 。此外, 它还可以实现迅速定位目标位置和自动跟踪高速目标,已被广泛地应用于诸如航 天发射、飞行器测控等光电测量领域 [1] 。 随着数字图像处理等技术的发展,光电经纬仪由胶片式成像向数字式成像转 变。此外,高帧速率、高分辨率成像传感器技术已被广泛应用于光电经纬仪。这 些给光电经纬仪实时图像处理平台的发展带来新的挑战:复杂图像处理算法的实 现和数据吞吐量的巨大需求 [1-2] 。 DSP 作为一种密集型数据运算与实时信号处理的微处理器,能够很好的满足 复杂图像处理算法、实时性处理的需求。DSP 技术经过多年的发展,被广泛应用 在信号、图像、通信等技术领域,尤其是高性能计算、高速实时图像处理、超大 数据量处理的军用电子领域 [2] 。现今的图像处理平台由于芯片单片运算能力受到 限制,绝大部分使用了多个 DSP + FPGA 的架构,才能勉强实现实时图像处理任 务 [3] 。但是这样的平台带来的困难是显而易见的: 1. 系统结构复杂。采用多片 DSP+FPGA 的架构,系统的整体处理性能受片 间(DSP 与 FPGA 之间、DSP 与 DSP 之间)通信带宽瓶颈而下降。 2. 系统功耗大。多片 DSP 在单块电路板上的集成度越高,带来了单板整体 功耗的增加和散热的问题,导致单板多片 DSP 整体处理性能的可靠性和稳定性。 3. 系统调试困难。由于系统结构的复杂,导致系统的调试异常的困难。芯 片之间的任务分配、数据传输、并行处理非常复杂,使得产品在设计、调试、生 产阶段的难度加大。 本文研究的课题来源于光电经纬仪图像处理平台由多片 DSP 架构升级到多 核 DSP 架构而提出的系统应用需求。结合实验室的项目情况,本文将重点放在 多核 DSP 并行的以下相关技术: 1. DSP+FPGA 架构下图像数据流的设计。光电经纬仪的图像处理系统需要 兼容前端的多种图像输入格式,包括 CameraLink、SDI 以及光纤接口,DSP+FPGA载板搭配不同的子板就可以实现输入的灵活性;此外,DSP+FPGA 图像处理系 统中的高速 SRIO 接口用于图像数据通信。本文在 CameraLink 和 SRIO 这两个关 键接口做了一定的研究工作。 2. 多核环境下并行访问共享/外部存储器的性能研究和设计原则分析。多核 DSP 中存在多个主设备,包括多个 DSP 内核、多个 EDMA 设备等,它们并行访 问存储器的数据带宽,对于应用程序存储资源的安排、软件结构的设计是至关重 要的。 3. 多核 DSP 并行调度方案的研究。多核 DSP 图像处理平台,一方面要实 现复杂的图像处理算法,另一方面要满足超大运算量对实时性处理的需求。基于 多核的系统应用开发关键的一步,就是选择合适的处理模型实现任务并行调度。 本文将介绍多核 DSP 并行调度的几种方案,并以算法实例对主从模型进行分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值