片上异构多核计算平台的性能加速方法

文档序号:6434880阅读:180来源:国知局
专利名称:片上异构多核计算平台的性能加速方法
技术领域
本发明属于片上异构多核计算平台的性能优化技术领域,具体涉及一种片上多核计算平台的任务调度系统及其采用的性能加速方法。
背景技术
随着超大规模集成电路(VLSI)的复杂性按照摩尔定律飞速提高,单个处理器的性能提升已经到达极限,多核处理器已经成为微处理器体系结构发展的必然方向。特别是单片异构多核系统,它将通用处理器、DSP、ASIP、甚至混合信号电路等异构处理单元集成在同一块芯片上,充分发挥异构处理单元各自的优势,可以满足嵌入式系统对实时性和功耗等方面的要求,成为嵌入式系统的研究热点。在对于给定的任务集合,为了能够使其在可重构计算平台上高效的完成,发挥可重构计算平台中各个器件的能力,首先需要对任务进行合理的划分,划分出在通用处理器 (General-Purpose Processor,GPP)上运行的软件任务和布局在可重构逻辑单元上的硬件任务;同时还要决定任务与GPP和可重构逻辑单元的动态映射关系。软硬件任务划分和任务调度是保证任务集合在可重构计算平台上高效运行的重要技术。由于片上多核系统上提供了充分的计算资源,为任务的高效运行提供了保证,因此,在此基础上提高任务集在多核平台上的并行性是提高系统吞吐率的一个有效手段。然而,在目前的异构多核系统中仍然存在两个关键问题首先,如何对软硬件任务进行高效划分仍然是目前领域研究的一个难点。通常采用的软硬件任务划分方法无非是静态划分与动态划分其中静态划分需要对任务进行预处理,在很多场景不能实现,而动态划分又会带来额外的开销,因此,如果存在一种行之有效的形式化软硬件划分描述,则会对任务划分带来明显的好处。常用的编程模型例如MPI也需要程序员对任务进行手动划分,甚至需要显示地进行任务的并行调度,从而任务能够取得的加速效果和性能提升收到了程序员本身的很大限制。第二,随着片上集成度的不断增大,越来越多的计算资源可以集成到单块芯片中。 与此同时,异构的计算资源能够发挥各自的计算性能优势,从而获得更高的任务并行性。而为了量化软硬件计算资源的数目给系统性能带来的性能提升,需要一种性能评价方法,便于对计算资源进行配置。总的来说,目前的并行编程模型中的任务并行调度方法中的任务划分和调度方法均需要程序员进行手动干预和配置,从而限制了平台能够获得的性能优化效果,并且不能获得平台性能针对计算资源和任务序列的影响。本发明因此而来。

发明内容
为了克服背景技术中存在的不足,本发明的一个目的在于提供一个片上多核计算平台上的任务划分模块和利用所述任务划分模块所使用的性能优化方法,通过获得系统加速比与任务划分策略的关系来指导任务划分,并通过最大加速比与计算平台参数的关系来指导平台的配置。为了解决现有技术中的这些问题,本发明提供的技术方案是一种片上异构多核计算平台的性能加速方法,所述片上异构多核计算平台包括执行任务的通用处理器、若干个硬件IP核以及核心调度模块;所述核心调度模块负责任务划分与调度,将任务分配到不同的计算单元上运行;其特征在于所述方法包括以下步骤(1)以单核处理器上运行的性能加速比为评价指标,在固定硬件平台的前提下评测核心调度模块的软硬件任务划分方案对加速比的影响,获得最优性能条件下硬件平台中的任务类型、通用处理器的数目、硬件加速部件的数目以及单个硬件加速部件的加速比参数;(2)根据最优性能条件下硬件平台中的任务类型、通用处理器的数目、硬件加速部件的数目以及单个硬件加速部件的加速比参数进行硬件平台的重配置。优选的,所述方法步骤(1)按照如下方法进行评测核心调度模块的软硬件任务划分方案对加速比的影响Al)首先,将平台中通用处理器与相同类型的IP核进行归类,按照计算处理时间进行降序排列,记录IP核的种类N,相应种类的IP核记作IPi,其中1 < i < N ;A2)如果将IPl上超出IP2执行时间的任务全部转移的通用处理器的执行时间不超过IP2的执行时间,则将IPl对应的这部分任务转移到通用处理器上执行,否则,转移部分IPI的任务使IPI的执行时间和通用处理器的执行时间相同,评测结束;A3)如果将IP1,IP2上超出IP3执行时间的任务全部转移到通用处理器的执行时间不超过IP3的执行时间,则将IP1,IP2对应的这部分任务转移到通用处理器上执行,否则,转移部分IP1,IP2的任务使IP1,IP2的执行时间和通用处理器的执行时间相同,评测结束;A4)按照A2、A3)步骤继续循环执行,直到IP1,IP2,· · · IPd上超出IPd+Ι执行时间的任务转移到通用处理器上执行会超过IPd+Ι的执行时间,此时转移部分IP1,IP2,. . . IPd 的任务使IPl,IP2,· · · IPd和通用处理器的执行时间相同,评测结束;其中N = d+1。本发明技术方案中硬件加速部件为IP核,该异构多核片上系统包括多个执行任务的通用处理器模块,以及若干个硬件加速部件构成,除此之外,系统中还存在一个核心调度模块。任务在运行时首先在核心调度模块上进行任务划分与调度,然后被分配到不同的计算单元上运行。本发明以系统针对单核处理器上运行的性能加速比为评价指标,在固定硬件平台的前提下,获得软硬件任务划分方案对加速比的影响。评测划分任务的硬件性能时,首先, 将系统中通用处理器与的相同类型的IP核进行归类,按照计算时间进行降序排列,记录IP 核的种类N。如果将IPl上超出IP2执行时间的任务全部转移的通用处理器的执行时间不超过IP2的执行时间,则将IPl对应的这部分任务转移到通用处理器上执行,否则,转移部分IPl的任务使IPl的执行时间和通用处理器的执行时间相同,算法结束;如果将IP1,IP2 上超出IP3执行时间的任务全部转移到通用处理器的执行时间不超过IP3的执行时间,则将IP1,IP2对应的这部分任务转移到通用处理器上执行,否则,转移部分IP1,IP2的任务使 IPl, IP2的执行时间和通用处理器的执行时间相同,算法结束;按照上述方法继续执行,直到IP1,IP2,... IPd上超出IPd+Ι执行时间的任务转移到通用处理器上执行会超过IPd+1的执行时间,此时转移部分IPl,IP2,... IPd的任务使IPl,IP2,... IPd和通用处理器的执行时间相同,算法结束。所述方法可以给出最优性能随着平台中的任务类型、通用处理器的数目、硬件加速部件的数目以及单个硬件加速部件的加速比等参数的变化,来指导对硬件平台进行配置。与现有技术相比,本发明具有以下显著的优点1、本发明在给定硬件平台参数的前提下,可以直接判断任务划分策略对系统加速比的影响。因此,本发明可以在程序运行之前给出适合任务运行的任务划分策略。2、本发明提出的性能优化方法,还适用于未给定硬件平台的情况。由于平台中集成了不同类型的计算资源,该性能优化方法可以进一步获得以平台中的任务类型、通用处理器的数目、硬件加速部件的数目以及单个硬件加速部件的加速比等参数的变化,来指导对硬件平台进行配置。综上所述,本发明得到一种异构多核片上系统及其采用的性能优化方法。进行硬件性能的评价机制是以任务相对于单核处理器上的加速比为主要评价指标。该异构多核片上系统包括多个执行任务的通用处理器模块,以及若干个硬件加速部件构成,除此之外,系统中还存在一个核心调度模块。任务在运行时首先在核心调度服务模块上进行任务划分与调度,然后被分配到不同的计算单元上运行。而本发明提出的性能评价方法以平台中的任务类型、通用处理器的数目、硬件加速部件的数目以及单个硬件加速部件的加速比为参数, 能够自动获得不同类型的任务划分对系统性能带来的影响,并能够获得使系统获得最优性能的划分方案。进一步的,本发明所涉及的方法还可以给出最优性能随上述参数的变化,用以指导对硬件平台进行配置。该方法可以显著提高系统的加速运行效能,使系统的全部资源都得到了充分的利用。


下面结合附图及实施例对本发明作进一步描述图1是本发明片上异构多核计算平台的只包含硬件IP核的架构示意图;图2是本发明片上异构多核计算平台包含通用处理器与硬件IP核的架构示意图;图3是本发明的性能优化方法的流程图。
具体实施例方式上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段, 并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。 以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。实施例异构多核系统与同构多核系统相比最主要的区别在于能加速的运算并不能分配到全部的加速部件上运行,而只能分配到特定的部件上运行,因此系统的加速比受限于运行时间最长的加速部件。本实施例首先考虑只有硬件加速部件IP核,且每种功能的硬件加速部件IP核只有一种的简化架构,如图1所示。该片上多核计算平台的任务调度系统,包括一个任务划分模块以及多个硬件IP核。所述任务划分模块通过任务的属性及目前系统的运行状态,将任务请求划分到到不同的硬件IP核上执行。 首先,将平台中通用处理器与相同类型的IP核进行归类,按照计算处理时间进行降序排列,记录IP核的种类N,相应种类的IP核记作IPi,其中;假定IPi的加速比为SiG = 1,2,. . .,η),在IPi上执行的任务比例为在执行并行任务的时候通用处理器(GPP)处于空闲状态,则系统加速比为
Speedupi t,S) =-^―-如果每种硬件加速部件IP核有Ici个,则系统的加速比为 Speedupi f.,S.,k.~) =---卜!/; +腿^M = U,..., }(式幻。
.=1 Ks,如果系统中还包含m个通用处理器,整个系统的框架如图2所示,m个通用处理器 GPP1 GPPm可以执行所有硬件加速部件IP核上的功能,GPP0是核心调度模块——调度处理器。假定每种硬件加速部件IP核的任务的Pi (i = 1,2,. . .,η)比例在软件计算服务体上执行,并且假定核心调度模块调度处理器理想化,即所有的服务体可以同时开始运算, 且直到运行完毕,否则不需要停顿,根据下面的式(6),系统能够获得的最大加速比为
SpeedupiJt ’ S1 ’ Iii ’ Pi ’ m) =-----n- fΣ/jPj(式 3)
l-XZ+maxj·7'1^U = 1,2,..., }
Ii^Si m为了对式3进行简化,需要确定Pi (i = 1,2,...η)的取值使得整个系统的加速比最大。为此这里给出一个计算Pi (i = 1,2,...η)的算法,假设;所有任务全部在GPPtl上运行的时间为1,算法具体运行步骤描述如下步骤1 如果将IP1上IP1超出IP2执行时间的任务全部转移的通用处理器的执行时间不超过IP2的执行时间,则将IP1对应的这部分任务转移到通用处理器上执行,否则,转移部分IP1的任务使IP1的执行时间和通用处理器的执行时间相同,算法结束。步骤2 如果将IP1, IP2上超出IP3执行时间的任务全部转移到通用处理器的执行时间不超过IP3的执行时间,则将IP1, IP2对应的这部分任务转移到通用处理器上执行,否则,转移部分IP1, IP2的任务使IP1, IP2的执行时间和通用处理器的执行时间相同,算法结束O步骤3 按照上述流程运行,将IP1, IP2, ...,IPd上超出IPd+1执行时间的任务转移到通用处理器上执行会超过IPd+1的执行时间,此时转移部分IP1, IP2,...,IPd的任务使 IP1, IP2,...,IPd和通用处理器的执行时间相同,算法结束。如果在算法执行过程中的某阶段任务完全转移,则最优策略中这些比例任务也必定是在软件处理器上执行。如果少于比例的任务在通用处理器上执行,则该硬件加速部件IP核的执行时间会大于其它所有服务体的执行时间,与最优策略矛盾。算法结束时,參与任 务转移的的所有硬件加速部件IP核和通用处理器的执行时间相同。如果某个硬件加速部件IP核大于通用处理器的执行时间,则将执行时间最长的 硬件加速部件IP核上的微小量任务转移到通用处理器上得到更优的策略,与最优策略矛 盾;某个硬件加速部件IP核的执行时间小于通用处理器的执行时间,则将通用处理器上该 硬件加速部件IP核对应的任务转移微小量到硬件加速部件IP核上,得到更优的策略,与最 优策略矛盾。图3是算法运行过程的ー个示例,系统中包含4种类型的IP核,初始时GPPl
GPRii对应的柱状条长度为0,IPi对应的柱状条的长度为さ(i = 1,2,3,4),算法第一歩
将IP1中的编号为1的部分调度到通用处理器上,此时所有任务的最终完成时间有Linel 标识,然后考虑如果加编号为2的部分全部调度到通用处理器上,则通用处理器的执行时 间会超过Line2,因此d为2,最终的调度结果为通用处理器、IP1和IP2执行时间相同,都在 Line3时完成任务。最优调度中d的取值满足
权利要求
1.一种片上异构多核计算平台的性能加速方法,所述片上异构多核计算平台包括执行任务的通用处理器、若干个硬件IP核以及核心调度模块;所述核心调度模块负责任务划分与调度,将任务分配到不同的计算单元上运行;其特征在于所述方法包括以下步骤(1)以单核处理器上运行的性能加速比为评价指标,在固定硬件平台的前提下评测核心调度模块的软硬件任务划分方案对加速比的影响,获得最优性能条件下硬件平台中的任务类型、通用处理器的数目、硬件加速部件的数目以及单个硬件加速部件的加速比参数;(2)根据最优性能条件下硬件平台中的任务类型、通用处理器的数目、硬件加速部件的数目以及单个硬件加速部件的加速比参数进行硬件平台的重配置。
2.根据权利要求1所述的方法,其特征在于所述方法步骤(1)按照如下方法进行评测核心调度模块的软硬件任务划分方案对加速比的影响Al)首先,将平台中通用处理器与相同类型的IP核进行归类,按照计算处理时间进行降序排列,记录IP核的种类N,相应种类的IP核记作IPi,其中KiSN;A2)如果将IPl上超出IP2执行时间的任务全部转移的通用处理器的执行时间不超过 IP2的执行时间,则将IPl对应的这部分任务转移到通用处理器上执行,否则,转移部分IPl 的任务使IPl的执行时间和通用处理器的执行时间相同,评测结束;A3)如果将IP1,IP2上超出IP3执行时间的任务全部转移到通用处理器的执行时间不超过IP3的执行时间,则将IP1,IP2对应的这部分任务转移到通用处理器上执行,否则,转移部分IP1,IP2的任务使IP1,IP2的执行时间和通用处理器的执行时间相同,评测结束;A4)按照A2、A3)步骤继续循环执行,直到IPI, IP2,... IPd上超出IPd+Ι执行时间的任务转移到通用处理器上执行会超过IPd+Ι的执行时间,此时转移部分IP1,IP2,…IPd的任务使IPl,IP2,…IPd和通用处理器的执行时间相同,评测结束;其中N=d+1。
全文摘要
本发明公开了一种片上异构多核计算平台的性能加速方法,所述片上异构多核计算平台包括多个执行任务的通用处理器、若干个硬件IP核以及核心调度模块;所述核心调度模块负责任务划分与调度,将任务分配到不同的计算单元上运行;其特征在于所述方法包括以下步骤(1)以单核处理器上运行的性能加速比为评价指标,在固定硬件平台的前提下评测核心调度模块的软硬件任务划分方案对加速比的影响,获得最优性能条件下硬件平台中的任务类型、通用处理器的数目、硬件加速部件的数目以及单个硬件加速部件的加速比参数;(2)根据最优性能条件下硬件平台中的任务类型、通用处理器的数目、硬件加速部件的数目以及单个硬件加速部件的加速比参数进行硬件平台的重配置。该方法可以显著提高系统的加速运行效能,使系统的全部资源都得到了充分的利用。
文档编号G06F9/50GK102360313SQ201110301740
公开日2012年2月22日 申请日期2011年9月29日 优先权日2011年9月29日
发明者冯晓静, 周学海, 张军能, 李曦, 王爱立, 王超, 陈香兰 申请人:中国科学技术大学苏州研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1