用于动态循环‑处理器映射的调度设备和方法技术

技术编号:16672734 阅读:38 留言:0更新日期:2017-11-30 17:16
本发明专利技术公开一种调度设备以及一种用于将程序块映射到包括至少两种类型的核心c1、c2的异构多核系统的核心的方法,所述方法包括以下步骤:在运行时估计(S1)用于并行执行至少一个程序块的所述异构多核系统的可用资源;确定(S2)所述程序块中将与所述异构多核系统的所述至少两种类型的核心中的每一个相关联的第一循环数n1和第二循环数n2,其中所述程序块的总循环数N=n1+n2将在所述所估计的可用资源上在所述异构多核系统中执行;检查(S3)功耗条件,且如果不满足所述耗电条件,修改所述第一类型c1核心的时钟频率f1且再次确定将与所述至少两种类型c1、c2的核心相关联的所述第一循环数n1和所述第二循环数n2;以及在所述异构多核系统的所述第一类型c1的可用核心上并行执行(S4)所述确定的第一循环数n1且在所述第二类型c2的所述可用核心上并行执行所述确定的第二循环数n2。

【技术实现步骤摘要】
【国外来华专利技术】用于动态循环-处理器映射的调度设备和方法
本公开涉及主要采用用于多核计算系统的多核处理器形式的计算机架构中的多并行计算的领域,具体来说,涉及一种调度设备以及一种用于多核和众核异构计算系统中的动态循环-处理器映射的自适应性能和功率调度方法。
技术介绍
多核和众核异构计算系统(multi-coreandmany-coreheterogeneouscomputingsystem,MMCHCS)近来广泛用于联网移动系统,例如移动电话、PDA以及甚至小型笔记本电脑。这些系统含有两种类型的处理器核心:期望高效运行的常见核心以及期望用于功率感知运行的低功率核心。第二种类型的核心允许在可能的情况下切断计算系统的能耗。这样还会导致计算系统的功耗减小,从而允许延长移动系统的电池使用寿命而无需再充电。所有核心或处理器通常位于同一芯片上,在此情况下这些系统被称为片上系统(system-on-chip,SoC)计算系统。用于众核和多核异构计算系统的运行的常见系统软件包含编译器和调度器。编译器负责创建在此类系统上运行的程序,而调度器负责加载运行时将在所述系统上执行的程序。针对这些系统的软件开发的主要问题涉及提供一种对以下问题的解决方案:何种核心应该用于当前程序块在众核和多核异构计算系统中的运行。在所有现代编译器中,程序员手动指定所要使用的核心种类。这意味着遵循自身有关众核和多核异构计算系统的效率预测的想法的每名程序员决定将使用何种核心来运行当前程序块且自己手动将当前块固定地分配给程序中的核心类型。在以下程序运行期间,不可能以任何方式改变此分配。现代调度器也无法改变这些策略。这会导致众核和多核异构计算系统的效率由于计算不均衡而降低。每个程序100由如图1中所示出的序列块101到109构成。第一块101和最后一个块109始终是序列块,但所有其它中间块103、105、107可以是序列块、并行块或大规模并行块。并行块103与大规模并行块107之间的差异在于当并行块103在指定核心上运行时的并行循环的数目。例如,如果并行块103具有8个循环且计算系统含有8个可用核心,此块将是并行的或简单并行的,但不是大规模并行的,因为所有循环可同时加载到核心上。如果存在8个循环,但系统上只有2个可用核心,存在大规模并行块,因为需要4次才能加载所有循环。下文使用以下大规模并行块的定义。块中存在K个核心或处理器以及N个并行循环。随后如果N/K>3,考虑的块是大规模并行的。否则所述块是简单并行的或并行的。因此,如果可以用1次、2次或3次加载所有可用循环,考虑的并行块是简单并行的或并行的。否则,当逐个循环加载并行块的所有可用循环需要4次或更多次时,存在大规模并行块。当不同类型的复杂软件同时在众核和多核异构计算系统上运行时,不会考虑动态变化的环境。提供更好的性能以及防止在此类情况下功耗增加要求非常复杂的数学方法,例如,具有若干变量以及如等式和不等式的不同类型限制的非线性优化问题。最近,此类问题的解决方案主要由数值方法提供。但这些方法涉及高计算时间且在调度环境中由于所涉及的大开销而不可行。EP1574965B1描述了片上网络设备,尤其是任选地含有可重新配置的硬件单元片的异构多处理器片上网络设备,以及用于控制所述设备的方法和操作系统。操作系统处理运行时间流量管理方法或任务迁移方法,或这些方法的组合。操作系统是部分分布式的但具有集中式主控器。流量管理方法和装置使用统计方法。描述了一种具有至少双片上网络的系统以及操作所述系统的方法。所述系统至少具有片上通信网络,所述片上通信网络包括第一片上数据流量网络和第二片上控制流量网络,所述系统具有控制网络接口组件和数据网络接口组件。EP1966673A2描述了基于系统级功率管理的性能分析,其中提出自适应动态频率缩放和动态电压缩放技术。通过使用硬件性能计数器获得有关片上系统负载的运行时间信息来提供对SoC系统的动态分析。基于这些信息数据,形成有关提高或降低系统频率或电压的解决方案。US2008/0301474A1描述了运行时间期间用于运行时的SoC的功率管理的动态性能分析。
技术实现思路
本专利技术的目的是提供一种用于针对多核和众核异构计算系统的多并行计算的改进技术。此技术动态地考虑计算系统的当前状态且定义可用于运行时的计算系统的动态及自适应加载和管理的空闲资源。目标是减小或甚至避免核心或处理器加载与任务完成的不均衡,且减小计算系统的功耗。本专利技术的目的由独立权利要求的特征实现。另外的实施形式通过从属权利要求、说明书以及图式是显而易见的。根据第一方面,提供一种用于将程序块动态地映射到异构多核系统的核心的方法,所述异构多核系统包括至少两种类型的核心c1和c2。所述方法包括以下步骤:在运行时估计用于并行执行至少一个程序块的异构多核系统的可用资源;确定程序块中将与异构多核系统的至少两种类型的核心中的每一个相关联的第一循环数n1和第二循环数n2,其中程序块的总循环数N=n1+n2将在所估计的可用资源上在异构多核系统中执行;检查功耗条件,且如果不满足功耗条件,修改第一类型c1核心的时钟频率f1且再次确定将与至少两种类型c1、c2的核心中的每一个相关联的第一循环数n1和第二循环数n2;以及在异构多核系统的第一类型c1的可用核心上并行执行确定的第一循环数n1且在第二类型c2的可用核心上并行执行确定的第二循环数n2。下文中的表达式时钟频率或时钟速率是指多核处理器的核心运行的频率,且用作处理器速度的指示。核心的频率以时钟周期/秒为单位进行测量。本专利技术的基本理念是建议将如在软件程序中调度的当前大规模并行的计算块自动地分配给众核和多核异构计算系统中的某些类型的核心,以提供这些系统的最大性能且同时满足功耗限制。本专利技术能够提供这些系统的适应性功率负载均衡。此方法在运行时在所考虑程序的大规模并行块上执行。本专利技术有利地提供动态循环-处理器映射,也就是说,基于在运行时用于众核和多核处理器中的大规模并行块执行的可用资源将程序块动态地映射到异构多核/众核系统的核心。通过在大规模并行块执行之前估计众核和多核异构计算系统的可用资源,调度器决定多少循环以及哪些循环应与众核和多核异构计算系统的不同核心相关联。此解决方案最小化在大规模并行块执行期间不同类型核心加载的时延且对应于大规模并行块执行的预设功耗水平。实现了在程序执行期间进行大量存储器级和指令级并行,甚至达到出现可用存储器或计算硬件资源完全饱和的程度。本专利技术有利地提高众核和多核异构计算系统的性能。此外,提供最短完成时间以及最小功耗限制。本专利技术有利地解决优化问题,以便最小化每个特定应用的总完成时间且同时满足预设功耗水平。所提出的解决方案的本质在于搜索将使完成时间达到可能最小值且将满足底层计算系统的功耗限制的最佳循环-核心映射。此外,本专利技术减少了开发用于异构硬件的并行应用的用户工作量,从而使得开发用于众核和多核异构计算系统硬件的并行应用的过程变得更加容易。最后,本专利技术减小软件开发的劳动成本或将现有代码有效移植到具体架构中。所提出的本专利技术可适用于非常广泛范围的众核和多核异构计算系统。最常见使用案例之一是具有芯片级系统的信号处理器的系统,其中同时执行大量大规模并行块。在根据第一方面的所述方法的第一可能实施形式中,可用资源本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201580078206.html" title="用于动态循环‑处理器映射的调度设备和方法原文来自X技术">用于动态循环‑处理器映射的调度设备和方法</a>

【技术保护点】
一种用于将程序块映射到包括至少两种类型的核心c1、c2的异构多核系统的核心的方法,其特征在于,所述方法包括以下步骤:在运行时估计(S1)用于并行执行至少一个程序块的所述异构多核系统的可用资源;确定(S2)所述程序块中将与所述异构多核系统的所述至少两种类型的核心中的每一个相关联的第一循环数n1和第二循环数n2,其中所述程序块的总循环数N=n1+n2将在所述所估计的可用资源上在所述异构多核系统中执行;检查(S3)功耗条件,如果不满足所述功耗条件,修改(S4)所述第一类型c1的核心的时钟频率f1并再次确定将与所述至少两种类型c1、c2的核心中的每一个相关联的所述第一循环数n1和所述第二循环数n2;在所述异构多核系统的所述第一类型c1的可用核心上并行执行(S5)所述确定的第一循环数n1以及在所述第二类型c2的所述可用核心上并行执行所述确定的第二循环数n2。

【技术特征摘要】
【国外来华专利技术】1.一种用于将程序块映射到包括至少两种类型的核心c1、c2的异构多核系统的核心的方法,其特征在于,所述方法包括以下步骤:在运行时估计(S1)用于并行执行至少一个程序块的所述异构多核系统的可用资源;确定(S2)所述程序块中将与所述异构多核系统的所述至少两种类型的核心中的每一个相关联的第一循环数n1和第二循环数n2,其中所述程序块的总循环数N=n1+n2将在所述所估计的可用资源上在所述异构多核系统中执行;检查(S3)功耗条件,如果不满足所述功耗条件,修改(S4)所述第一类型c1的核心的时钟频率f1并再次确定将与所述至少两种类型c1、c2的核心中的每一个相关联的所述第一循环数n1和所述第二循环数n2;在所述异构多核系统的所述第一类型c1的可用核心上并行执行(S5)所述确定的第一循环数n1以及在所述第二类型c2的所述可用核心上并行执行所述确定的第二循环数n2。2.根据权利要求1所述的方法,其特征在于,所述可用资源的所述估计(S1)包括估计与所述至少两种类型的核心中的所述第一类型c1对应的可用核心的第一有效数目k1eff,以及估计与所述至少两种类型的核心中的所述第二类型c2对应的第二有效数目k2eff。3.根据权利要求2所述的方法,其特征在于,根据以下关系确定与所述第一类型的核心c1相关联的所述第一循环数n1:其中f1是所述第一类型c1的核心的所述时钟频率,f2是所述第二类型c2的核心的时钟频率,N=n1+n2是所述程序块的所述总循环数,且运算符表示地板函数。4.根据权利要求3所述的方法,其特征在于,所述第一类型c1的核心的所述时钟频率f1被修改为f1=(α1/α2)f2,其中α1、α2是常数。5.根据前述权利要求中任一权利要求所述的方法,其特征在于,至少两种类型的循环唯一地与所述至少两种类型的核心相关。6.根据前述权利要求中任一权利要求所述的方法,其特征在于,所述并行执行步骤执行为大规模并行块执行。7.一种用于将程序块映射到包括至少两种类型的核心c1、c2的异构多核系统(10)的核心的调度设备(100),其特征在于,所述设备包括:估计模块(100-1),...

【专利技术属性】
技术研发人员:米哈伊尔·彼得罗维奇·莱文
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1