一种在多核DSP下的海量数据流多模态调度方法技术

技术编号:17097255 阅读:36 留言:0更新日期:2018-01-21 08:55
本发明专利技术公开了一种在多核DSP下的海量数据流多模态调度方法,包括主控核和加速核,主控核和加速核之间通过请求包队列传输请求,基于数据维度和数据优先顺序,确定连续选择、随机选择和螺旋选择三种数据块选择方法,根据负载均衡确定循环调度和负载均衡调度两种数据块多核分配方法,对通过数据块分组方法根据分配粒度选定的数据块加载多个计算核中进行处理。采用多层次的数据块调度方式,满足了数据块调度时的系统负载、数据相关性、处理粒度、数据维度和顺序的需求,具有良好的通用性和移植性;从多个层面扩展了数据块调度的模式和形态,具有更强的适用范围,用户只需配置数据块调度方式和分配粒度,系统自动完成数据调度,提高了并行开发的效率。

A multimodal scheduling method for mass data flow under multi core DSP

The invention discloses a massive data in the multi-core DSP flow under multi mode scheduling method, including the main control and accelerate the nuclear nuclear nuclear and main control, accelerate the nuclear through request packet queue transmission request, data dimension and data priority based on deterministic continuous selection, random selection and screw selection of three kinds of data block selection method, is determined according to the cyclic scheduling and load balancing scheduling two data block allocation method of multi-core load balancing of data blocks through grouping method according to the selected data block allocation granularity load multiple computing kernel for processing. By scheduling the multi-level data block, and meets the requirements of load, system data block scheduling data correlation, processing granularity, data dimension and order, has good versatility and portability; from the angle of expansion of the mode and form of block scheduling, which have more scope, users only configuration data block scheduling and allocation granularity, automatic data scheduling, improve the efficiency of parallel development.

【技术实现步骤摘要】
一种在多核DSP下的海量数据流多模态调度方法
本专利技术属于多核并行计算领域,具体涉及一种在多核DSP下的海量数据流多模态调度方法。
技术介绍
随着高性能多核DSP处理器在武器装备系统中的广泛应用,武器装备逐渐朝着高性能、智能化、小型化方向发展,这需要充分利用多核DSP并行计算的能力,而目前在多核DSP上主要提供了两种并行计算模型:针对共享存储的OpenMP模型和针对分布式存储的OpenEM模型。其中OpenMP模型的数据计算和传输主要使用共享内存完成,不存在数据流调度问题。而OpenEM模型中数据计算需要将数据传输至局部存储,因此需要完成数据流调度,其调度方式为动态负载均衡,该方法主要利用了多核DSP的多核导航器硬件,实现了数据块的硬件排队,达到了较为理想的负载均衡效果,但OpenEM并未针对数据块的调度粒度、处理顺序和数据维度等特性考虑数据块调度问题。这已不适用于目前流行的高级图像算法和机器学习等算法,如地形跟踪/回避、多模地形/电磁/景象匹配定位导航、模式识别(目标检测、识别和跟踪)、深度学习(聚类、分类、SVM和图结构计算等)等。目前,针对数据块的调度粒度、处理顺序和维度的调本文档来自技高网...
一种在多核DSP下的海量数据流多模态调度方法

【技术保护点】
一种在多核DSP下的海量数据流多模态调度方法,其特征在于,包括主控核和加速核,所述主控核和加速核之间通过请求包队列传输请求,基于数据维度和数据优先顺序,确定连续选择、随机选择和螺旋选择三种数据块选择方法,根据负载均衡确定数据库循环调度和数据库负载均衡调度两种数据块多核分配方法,对通过数据块分组方法根据分配粒度选定的数据块加载多个计算核中进行处理。

【技术特征摘要】
1.一种在多核DSP下的海量数据流多模态调度方法,其特征在于,包括主控核和加速核,所述主控核和加速核之间通过请求包队列传输请求,基于数据维度和数据优先顺序,确定连续选择、随机选择和螺旋选择三种数据块选择方法,根据负载均衡确定数据库循环调度和数据库负载均衡调度两种数据块多核分配方法,对通过数据块分组方法根据分配粒度选定的数据块加载多个计算核中进行处理。2.根据权利要求1所述的一种在多核DSP下的海量数据流多模态调度方法,其特征在于,在多核DSP下的海量数据流多模态调度方法主要在主控核实现,具体流程如下:S101、用户根据需求设置数据块的调度组合方式和分配粒度;S102、用户在分割数据块时,根据调度方式将数据块分配至不同的队列;S103、当数据块分割完成后,若系统设置了数据块选择方式,则根据选择的调度方式调整数据块的顺序,并根据不同的数据块分配方式加入相应的调度队列中;S104、在数据块开始调度后,根据不同的数据块分配和分组方式,从不同的调度队列中取出数据块并分配至加速核处理。3.根据权利要求2所述的一种在多核DSP下的海量数据流多模态调度方法,其特征在于,所述数据块连续选择方法为数据块连续调度顺序调整主要针对每个核上处理的数据块顺序,即每个核的数据块号是连续的,具体的调整步骤为:S201、按照任务设定的数据块分组大小,计算数据块的组数,判断数据块分组是否合理;S202、计算每个核均匀分配的数据块个数和剩余数据块个数;S203、判断数据块的绑定个数是否大于1,若小于1跳转至S205;S204、根据绑定大小,修正每个核均匀分配的数据块个数和剩余数据块个数;S205、判断临时数据块队列中是否还有剩余的数据块,若有跳转至S206;否则结束调整;S206、从临时数据块队列中取出数据块;S207、判断数据块的分配类型,若为循环分配类型,调整至S208;若为负载均衡分配类型调整至S213;S208、判断剩余的数据块个数是否大于零,且当前数据块个数是否等于每个核均匀分配的数据块个数加上绑定大小,若满足,则跳转至S209;S209、当前核数据块分配完毕,将核号修改为下一个核号,修改剩余数据块的大小,同时将当前数据个数块置零;S210、判断剩余的数据块个数是否小于等于0,且当前数据块个数是否等于每个核均匀分配的数据块个数,若满足,则跳转至S211;S211、当前核数据块分配完毕,将核号修改为下一个核号,同时将当前数据块个数置为零;S212、将数据块添加至当前核的加速核调度队列,并增加当前数据块个数,跳转至S205;S213、将数据块直接添加至全局的数据块调度队列,跳转至S205。4.根据权利要求2所述的一种在多核DSP下的海量数据流多模态调度方法,其特征在于,所述数据块随机选择方法为数据块随机调度顺序调整主要针对整体的调度顺序,首先按照随机的顺序从临时调度队列中取出数据块,然后再将其插入相应的调度队列中,具体的调整步骤为:S301、按照任务设定的数据块分组大小,计算数据块的组数,判断数据块分组是否合理S302、设置随机阈值,计算每个核均匀分配的数据块个数和剩余数据块个数;S303、判断数据块的绑定个数是否大于1,若大于1调整至S304;S304、根据绑定大小,重新设置随机阈值,计算每个核均匀分配的绑定个数和剩余绑定个数;S305、判断临时数据块队列中是否还有剩余的数据块,若由调整至S306;否则结束调整S306、根据随机阈值,获取一个随机的数据块索引;S307、判断当前绑定个数是否大于1,若大于则跳转至S308;否则跳转至S317;S308、根据绑定大小计算当前的数据块的索引号,从临时数据块队列中取出所有的绑定数据块;S309、判断数据块的分配类型,若为循环分配类型,调整至S310;若为负载均衡分配类型调整至S315;S310、判断剩余的绑定个数是否大于零,且当前绑定个数是否等于每个核均匀分配的绑定个数加上1,若满足,则跳转至S311;S311、当前核数据块分配完毕,将核号修改为下一个核号,修改剩余绑定大小,同时将当前绑定个数块置零;S312、判断当前绑定个数是否小于等于0,且当前绑定个数是否等于每个核均匀分配的绑定个数,若满足,则跳转至S311;S313、当前核数据块分配完毕,将核号修改为下一个核号,同时将当前绑定个数置为零;S314、将数据块添加至当前核的加速核调度队列,跳转至S316;S315、将数据块直接添加至全局的数据块调度队列;S316、从临时队列中删除所有绑定的数据块,修改随机阈值,跳转至S305;S317、直接从临时队列中取出数据块;S318、判断数据块的分配类型,若为循环分配类型,调整至S319、;若为负载均衡分配类型调整至S323;S319、判断剩余的数据块个数是否大于零,且当前数据块个数是否等于每个核均匀分配的数据块个数加上1,若满足,则跳转至S320;S320、当前核数据块分配完毕,将核号修改为下一个核号,修改剩余数据块的大小,同时将当前数据个数块置零;S321、判断当前数据块个数是否小于等于0,且当前数据块个数是否等于每个核均匀分配的数据块个数,若满足,则跳转至S322;S322、当前核数据块分配完毕,将核号修改为下一个核号,同时将当前数据块个数置为零;S323、将数据块添加至当前核的加速核调度队列,并增加当前数据块个数;S324、将数据块直接添加至全局的数据块调度队列;S325、从临时数据块队列中删除数据块,修改随机阈值,跳转至S305。5.根据权利要求3或4所述的一种在多核DSP下的海量数据流多模态调度方法,其特征在于,所述数据块分组方法具体为:从分配粒度方面设计了组调度,所述组调度数据块分配时以组为单位,其主要过程为:在创建任务时,通过指定任务中数据块绑定的大小,决定数据块的调度粒度,在调度时,一组中的数据块一定会被调度到同一加速单元上,数据块的组调度主要被用于当某一运算的数据量过大,超过了加速单元的本地存储,必须被切分成多个较小的数据块的情况下。6.根据权利要求2所述的一种在多核DSP下的海量数据流多模态调度方法,其特征在于,所述数据块螺旋选择方法为数据块螺旋调度顺序调整主要针对整体的调度顺序和数据维度特性,首先若选择螺旋调度,用户必须调用接口设置螺旋调度的起始块,然后从起始块开始按照螺旋的顺序依次从临时调度队列中取出数据块,然后再将其插入相应的调度队列中,具体的调整步骤为:S401、根据用户设置的起始调度块的信息,计算起始调度块的索引号,同时标识该块已经被访问,并记录前一个数据块访问索引为当前索引号;S402、根据索引从临时数据块队列...

【专利技术属性】
技术研发人员:江磊刘从新李申
申请(专利权)人:西安微电子技术研究所
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1