一种基于Navigator的多核嵌入式DSP并行编程模型实现方法_3

文档序号:8498593阅读:来源:国知局
oenix实现过程中,使用Navigator实现通信和同步是两种不同的模式。在通信的过程中,核O对Phoenix中env变量进行初始化,因此需要将关键结构体env的地址传递给其他核,所以在实现的过程中,每个描述符通过指针指向一个数据缓冲,将需要传递的数据,例如erw的地址存储在该数据缓冲中;接收端获取描述符后,从描述符指向的数据缓冲中读取env的地址,即可完成环境变量env的更新和同步。而在实现同步的过程中,不需要发送任何数据,只需要获取描述符,同时实现描述符从发送队列到接收队列的移动即可。
[0034]本发明在测试时选取了 Phoenix三种不同的应用进行测试,分别是word_count、linear_regress1n和histogram。同时对于每一个应用,选取三种不同规模的输入文件进行测试。对于word_count,测试文件分为三种大小:10M、50M和10M ;对于linear_regress1n,测试文件大小为:50M、100M和500M ;对于histogram,测试文件大小为:50M、10M 和 400M。
[0035]word_count应用主要是统计输入文本文件中单词出现的频率。Map操作主要对分割后的输入数据块进行处理,统计当前数据块中单词出现的频率,处理后的中间结果键/值对中,key为单词内容,value为1,表明该单词出现一次;Reduce操作对Map操作的结果进行合并,将同一个单词的出现次数进行累加求和;而Merge操作是对Reduce操作的结果再次进行合并,得到最终的输出结果。输出的结果仍然为键/值对的形式,key为单词内容,value为该单词在文本文件中出现的次数总和。
[0036]linear_regress1n应用主要是对输入文本文件中的单词建立坐标系,求取其最佳拟合直线。文本文件中包含大量单词,通过单词内容,可以获取其对应的坐标值。Map操作对输入数据块的坐标值进行分析,计算特定的统计量,例如X轴和I轴方向的平方和等,在本应用中,计算了 5个统计量的和,分别是x、y、x2、y2和x*y ;Reduce操作中对整个文本中的上述5个变量进行累加求和,得到最佳拟合直线的参数值。
[0037]histogram应用对输入的一幅bmp图像进行处理,针对其中每个像素的RGB三分量,统计其值(该值的范围为O到255)出现的频率。算法中将不同的图像块作为Map操作的输入数据,对RGB三分量进行解析,将统计的数据存入中间结果中;Reduce操作对Map操作的结果进行统计求和,最终的输出结果保存在键/值对中,key为O到255的像素值,value为该像素值在输入图像中出现的次数总和,该value值中包括每个像素的RGB分量。
[0038]在三个应用运行的过程中,均对算法执行的时间进行统计,图7、图8和图9为针对不同规模的输入文件三个应用执行所需的时间。从对比图中可以看出,无论是哪一个具体的应用,随着处理核数的增加,算法执行所需的时间都在递减。同时处理的文件越大,递减的趋势越明显。
[0039]经过上述实现,可以将Phoenix并行编程模型运行在嵌入式多核DSP平台上,不但能够通过硬件资源的使用提升性能,而且该实现方法具有很强的可扩展性。
[0040]对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
[0041]此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
【主权项】
1.一种基于Navigator的多核嵌入式DSP并行编程模型实现方法,其特征在于,包括:DTI推出的KeyStone架构中包含软件组件Multicore Navigator,通过该组件实现设备构件间的数据管理以及同步通信;2)将KeyStone架构下多核嵌入式处理器的DSP核划分为主核和从核,所述主核完成整个应用的初始化以及必须执行且只能执行一次的操作;所述从核执行必要的初始化操作; 3)从核和主核共同完成并行编程模型中的各种操作,核间通过Navigator实现同步和通信。
2.根据权利要求1所述的基于Navigator的多核嵌入式DSP并行编程模型实现方法,其特征在于,所述步骤I)中,通过Navigator中的QMSS和PKTDMA,利用其硬件队列,能够实现核间的同步和通信。
3.根据权利要求2所述的基于Navigator的多核嵌入式DSP并行编程模型实现方法,其特征在于,所述QMSS中共包含8192个硬件队列,使用其中特定用于发送的队列和带有优先级的硬件队列完成核间同步和通信。
4.根据权利要求2所述的基于Navigator的多核嵌入式DSP并行编程模型实现方法,其特征在于,所述核间的同步和通信过程中,使用QMSS中的描述符完成数据信息的传递。
5.根据权利要求4所述的基于Navigator的多核嵌入式DSP并行编程模型实现方法,其特征在于,所述描述符所携带的缓冲区位于共享内存中,该共享内存为多核间共享。
6.根据权利要求4所述的基于Navigator的多核嵌入式DSP并行编程模型实现方法,其特征在于,所述描述符的传递操作通过PKTDMA中的Tx DMA以及Rx DMA完成。
7.根据权利要求1所述的基于Navigator的多核嵌入式DSP并行编程模型实现方法,其特征在于,所述步骤2)中,多核嵌入式处理器为同构或异构处理器,所述核的数量至少为8个,其中,所述主核为核0,所述从核为除核O外的其他核。
8.根据权利要求1所述的基于Navigator的多核嵌入式DSP并行编程模型实现方法,其特征在于,所述步骤2)中,所述主核完成整个应用的初始化以及必须执行且只能执行一次的操作,该初始化流程包括对QMSS和PKTDMA及其硬件队列的初始化操作,以及对并行编程模型中各环境变量的初始化。
9.根据权利要求1所述的基于Navigator的多核嵌入式DSP并行编程模型实现方法,其特征在于,所述步骤3)中,所述从核和主核共同完成并行编程模型中的具体操作,选择部分核或者全部核实现并行执行;核间通过Navigator实现运行过程中的同步和通信。
【专利摘要】本发明公开了一种基于Navigator的多核嵌入式DSP并行编程模型实现方法,包括:TI推出的KeyStone架构中包含软件组件Multicore Navigator,通过该组件实现设备构件间的数据管理以及同步通信;将KeyStone架构下多核嵌入式处理器的DSP核划分为主核和从核,所述主核完成整个应用的初始化以及必须执行且只能执行一次的操作;所述从核执行必要的初始化操作;从核和主核共同完成并行编程模型中的各种操作,核间通过Navigator实现同步和通信。本发明使用多核间共享内存,实现了对数据处理的零拷贝,既充分使用了嵌入式处理器的硬件资源,又能够满足并行编程的应用需求。
【IPC分类】G06F9-38, G06F9-46
【公开号】CN104820582
【申请号】CN201510245420
【发明人】沈沛意, 张亮, 朱光明, 宋娟, 杨瑞捷
【申请人】西安电子科技大学
【公开日】2015年8月5日
【申请日】2015年5月14日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1