用于异构执行的推测性循环迭代划分制造技术

技术编号:20881959 阅读:24 留言:0更新日期:2019-04-17 13:12
各实施例包括由用于实现异构处理设备的推测性循环迭代划分(SLIP)的装置实现的计算设备、装置和方法。计算设备可接收重复性过程的迭代的第一分区的迭代信息,以及基于第一分区的可用SLIP信息和迭代信息来选择SLIP试探法。该计算设备可使用SLIP试探确定第一分区的拆分值,并使用该拆分值划分第一分区以产生多个下一分区。

【技术实现步骤摘要】
【国外来华专利技术】用于异构执行的推测性循环迭代划分背景异构计算可用于在多个异构处理设备(诸如,中央处理单元(CPU)和各种加速器)上拆分工作,以减少工作的处理时间和功耗。由于异构处理设备之间的可变性,跨各异构处理设备平衡工作以实现执行工作所需的效率是棘手的。可为各异构处理设备指派较大工作集的工作段。一些异构处理设备可在比其他异构处理设备更短的时间内完成相同数量的工作或更多工作。在较大的工作集完成之前完成所指派的工作段的异构处理设备可能最终等待,直到其他异构处理设备正在执行的剩余工作段完成。概述各个实施例的方法和装置提供用于实现异构处理设备的推测性循环迭代划分(SLIP)的装置和方法。各个实施例可包括接收重复性过程的迭代的第一分区的迭代信息,以及基于第一分区的可用SLIP信息和迭代信息来选择SLIP试探法。一些实施例可进一步包括使用SLIP试探法确定第一分区的拆分值,以及使用拆分值划分第一分区以产生多个下一分区。一些实施例可进一步包括确定重复性过程的迭代的第二分区的执行是否完成,其中基于第一分区的可用SLIP信息和迭代信息来选择SLIP试探法可响应于确定第二分区的执行完成而发生。一些实施例可进一步包括接收对工作的请求,其中对工作的请求基于第一分区的可用SLIP信息和迭代信息来选择SLIP试探法可响应于接收对工作的请求而发生。在一些实施例中,接收重复性过程的迭代的第一分区的迭代信息可包括接收第一分区的当前迭代。在此实施例中,使用SLIP试探法确定第一分区的拆分值可包括在第一分区的当前迭代与距当前迭代最远的第一分区的未执行迭代之间确定拆分值。在一些实施例中,基于第一分区的可用SLIP信息和迭代信息来选择SLIP试探法可包括选择使用统一SLIP试探法的修改版本的跟踪器SLIP试探法。在一些实施例中,在第一分区的当前迭代与距当前迭代最远的第一分区的未执行迭代之间确定拆分值可包括在第一分区的当前迭代与距当前迭代最远的第一分区的未执行迭代之间均匀地确定拆分值。在一些实施例中,可用SLIP信息可包括异构处理设备特性。在一些实施例中,基于第一分区的可用SLIP信息和迭代信息来选择SLIP试探法可包括选择使用预测SLIP试探法的修改版本的跟踪器SLIP试探法。在一些实施例中,在第一分区的当前迭代与距当前迭代最远的第一分区的未执行迭代之间确定拆分值可包括在第一分区的当前迭代与距当前迭代最远的第一分区的未执行迭代之间确定拆分值,该拆分值与第一异构处理设备和第二异构处理设备相对于彼此的异构处理设备特性成比例。在一些实施例中,可用SLIP信息可包括第一异构处理设备和第二异构处理设备的用于重复性过程的分区执行性能数据。在一些实施例中,基于第一分区的可用SLIP信息和迭代信息来选择SLIP试探法可包括选择使用历史SLIP试探法的修改版本的跟踪器SLIP试探法。在一些实施例中,确定拆分值可包括在第一分区的当前迭代与距当前迭代最远的第一分区的未执行迭代之间确定拆分值,使得该拆分值与第一异构处理设备和第二异构处理设备相对于彼此的分区执行性能数据的值成比例。在一些实施例中,多个下一分区可包括第一下一分区和第二下一分区。一些实施例可进一步包括将第一下一分区指派给第一异构处理设备以供执行,其中第一异构处理设备先前被指派给第一分区。此实施例可进一步包括响应于以下操作中的一者来选择第二异构处理设备:确定由第二异构处理设备执行的重复性过程的迭代的第二分区的执行完成,确定第二异构处理设备正在执行第一分区,从第二异构处理设备接收对工作的请求,以及将与第二异构处理设备有关的可用SLIP信息用于基于第一分区的可用SLIP信息和迭代信息来选择SLIP试探法。此实施例可进一步包括将第二下一分区指派给第二异构处理设备以供执行。各个实施例可包括SLIP控制器,其被配置为在用于异构处理设备的计算设备上实现SLIP。SLIP控制器可被配置为执行以上概述的实施例方法的操作。各个实施例可包括SLIP控制器,其被配置为在用于异构处理设备的计算设备上实现SLIP,该SLIP控制器具有用于执行以上概述的实施例方法的功能的装置。各个实施例包括其上存储有处理器可执行指令的非瞬态处理器可读存储介质,这些指令被配置成使计算设备的处理器执行以上概述的实施例方法的操作。附图简述纳入于本文且构成本说明书一部分的附图解说了各个实施例中的示例实施例,并与以上给出的一般描述和下面给出的详细描述一起用来解释权利要求的特征。图1是解说适于实现一实施例的计算设备的组件框图。图2是解说适于实现一实施例的示例多核处理器的组件框图。图3A-3D是解说根据各个实施例的推测性循环迭代划分系统的四个示例的组件框图。图4是解说根据一实施例的推测性循环迭代划分的示例的框图。图5是解说根据一实施例的推测性循环迭代划分的示例的框图。图6是解说根据一实施例的推测性循环迭代划分的示例的框图。图7A-7C是解说根据各个实施例的使用推测性循环迭代划分执行的重复性过程迭代的结果的输出的三个示例的框图。图8是解说根据一实施例的用于推测性循环迭代划分的方法的过程流程图。图9是解说根据一实施例的用于推测性循环迭代划分的方法的过程流程图。图10是解说适于与各个实施例联用的示例移动计算设备的组件框图。图11是解说适于与各个实施例联用的示例移动计算设备的组件框图。图12是解说适于与各个实施例联用的示例服务器的组件框图。详细描述将参照附图来详细地描述各个实施例。在可能之处,相同附图标记将贯穿附图用于指代相同或类似部分。对特定示例和实现作出的引述用于解说性目的,而无意限定权利要求的范围。术语“计算设备”和“移动计算设备”在本文可互换地使用以指代以下各项中的任一个或全部:蜂窝电话、智能电话、个人或移动多媒体播放器、个人数据助理(PDA)、膝上型计算机、平板计算机、可转换膝上型/平板计算机(2合1计算机)、智能本、超级本、上网本、掌上计算机、无线电子邮件接收器、启用因特网的多媒体蜂窝电话、移动游戏控制台、无线游戏控制器、以及包括存储器和可编程处理器的类似的个人电子设备。术语“计算设备”可进一步指代驻定的计算设备,包括个人计算机、台式计算机、一体化计算机、工作站、超级计算机、大型计算机、嵌入式计算机、服务器、家庭影院计算机和游戏控制台。各个实施例包括实现用于减少对动态地划分用于由异构处理设备执行的重复性过程的迭代空间的分区的同步要求的此方法的方法、系统和设备。该装置和方法可包括推测性循环迭代划分(SLIP)控制器,其被配置为使用SLIP试探法动态地划分迭代空间以供由多个异构处理设备执行,跟踪执行它们的分区迭代的异构处理设备的进度,以及响应于异构处理设备完成其分区的迭代来划分分区。SLIP控制器可被配置为使用一个或多个SLIP试探法来实现用于重复性过程的迭代空间的划分。由SLIP试探法划分的迭代空间可包括作为较大迭代空间的分区的迭代子空间。统一SLIP试探法可根据在数个异构处理设备之间均匀划分的迭代空间的迭代次数来划分迭代空间。预测SLIP试探法可根据异构处理设备的相对处理能力来划分迭代空间。例如,异构处理设备的相对处理能力可被表示为异构处理设备的处理能力的比率,并且迭代空间的分区可以将迭代次数与该比率相对应。历史SLIP试探法可根据迭代空间的分区的先前执行的本文档来自技高网...

【技术保护点】
1.一种实现用于异构处理设备的推测性循环迭代划分(SLIP)的方法,包括:接收重复性过程的迭代的第一分区的迭代信息;基于所述第一分区的可用SLIP信息和迭代信息来选择SLIP试探法;使用所述SLIP试探法确定所述第一分区的拆分值;以及使用所述拆分值对所述第一分区进行划分以产生多个下一分区。

【技术特征摘要】
【国外来华专利技术】2016.08.24 US 15/245,6041.一种实现用于异构处理设备的推测性循环迭代划分(SLIP)的方法,包括:接收重复性过程的迭代的第一分区的迭代信息;基于所述第一分区的可用SLIP信息和迭代信息来选择SLIP试探法;使用所述SLIP试探法确定所述第一分区的拆分值;以及使用所述拆分值对所述第一分区进行划分以产生多个下一分区。2.如权利要求1所述的方法,其特征在于,进一步包括确定所述重复性过程的迭代的第二分区的执行是否完成,其中基于所述第一分区的可用SLIP信息和迭代信息来选择SLIP试探法响应于确定所述第二分区的执行完成而发生。3.如权利要求1所述的方法,其特征在于,进一步包括接收对工作的请求,其中基于所述第一分区的可用SLIP信息和迭代信息来选择SLIP试探法响应于接收所述对工作的请求而发生。4.如权利要求1所述的方法,其特征在于:接收重复性过程的迭代的第一分区的迭代信息包括接收所述第一分区的当前迭代;并且使用所述SLIP试探确定所述第一分区的拆分值包括在所述第一分区的当前迭代与距所述当前迭代最远的所述第一分区的未执行迭代之间确定所述拆分值。5.如权利要求4所述的方法,其特征在于:基于所述第一分区的可用SLIP信息和迭代信息来选择SLIP试探法包括选择使用统一SLIP试探法的修改版本的跟踪器SLIP试探法;并且在所述第一分区的当前迭代与距所述当前迭代最远的所述第一分区的未执行迭代之间确定所述拆分值包括在所述第一分区的当前迭代与距所述当前迭代最远的所述第一分区的未执行迭代之间均匀地确定所述拆分值。6.如权利要求4所述的方法,其特征在于,所述可用SLIP信息包括异构处理设备特性,并且其中:基于所述第一分区的可用SLIP信息和迭代信息来选择SLIP试探法包括选择使用预测SLIP试探法的修改版本的跟踪器SLIP试探法;并且在所述第一分区的当前迭代与距所述当前迭代最远的所述第一分区的未执行迭代之间确定所述拆分值包括在所述第一分区的当前迭代与距所述当前迭代最远的所述第一分区的未执行迭代之间确定与第一异构处理设备和第二异构处理设备相对于彼此的异构处理设备特性成比例的所述拆分值。7.如权利要求4所述的方法,其特征在于,所述可用SLIP信息包括第一异构处理设备和第二异构处理设备的用于所述重复性过程的分区执行性能数据,并且其中:基于所述第一分区的可用SLIP信息和迭代信息来选择SLIP试探法包括选择使用历史SLIP试探法的修改版本的跟踪器SLIP试探法;并且在所述第一分区的当前迭代与距所述当前迭代最远的所述第一分区的未执行迭代之间确定所述拆分值包括在所述第一分区的当前迭代与距所述当前迭代最远的所述第一分区的未执行迭代之间确定与所述第一异构处理设备和所述第二异构处理设备相对于彼此的分区执行性能数据成比例的所述拆分值。8.如权利要求1所述的方法,其特征在于,所述多个下一分区包括第一下一分区和第二下一分区,并且所述方法进一步包括:将所述第一下一分区指派给第一异构处理设备以供执行,其中所述第一异构处理设备先前被指派给所述第一分区;响应于以下操作中的一者来选择第二异构处理设备:确定由所述第二异构处理设备执行的所述重复性过程的迭代的第二分区的执行完成;确定所述第二异构处理设备正在执行所述第一分区;从所述第二异构处理设备接收对工作的请求;或者将与所述第二异构处理设备有关的可用SLIP信息用于基于所述第一分区的可用SLIP信息和迭代信息来选择所述SLIP试探法;以及将所述第二下一分区指派给所述第二异构处理设备以供执行。9.一种推测性循环迭代划分(SLIP)控制器,其被配置为执行包括以下各项的操作:接收重复性过程的迭代的第一分区的迭代信息;基于所述第一分区的可用SLIP信息和迭代信息来选择SLIP试探法;使用所述SLIP试探法确定所述第一分区的拆分值;以及使用所述拆分值对所述第一分区进行划分以产生多个下一分区。10.如权利要求9所述的SLIP控制器,其特征在于,所述SLIP控制器被配置为执行进一步包括以下的操作:确定所述重复性过程的迭代的第二分区的执行是否完成,其中基于所述第一分区的可用SLIP信息和迭代信息来选择SLIP试探法响应于确定所述第二分区的执行完成而发生。11.如权利要求9所述的SLIP控制器,其特征在于,所述SLIP控制器被配置为执行进一步包括以下的操作:接收对工作的请求,其中基于所述第一分区的可用SLIP信息和迭代信息来选择SLIP试探法响应于接收所述对工作的请求而发生。12.如权利要求9所述的SLIP控制器,其特征在于,所述SLIP控制器被配置为执行操作以使得:接收重复性过程的迭代的第一分区的迭代信息包括接收述第一分区的当前迭代;并且使用所述SLIP试探确定所述第一分区的拆分值包括在所述第一分区的当前迭代与距所述当前迭代最远的所述第一分区的未执行迭代之间确定所述拆分值。13.如权利要求12所述的SLIP控制器,其特征在于,所述SLIP控制器被配置为执行操作以使得:基于所述第一分区的可用SLIP信息和迭代信息来选择SLIP试探法包括选择使用统一SLIP试探法的修改版本的跟踪器SLIP试探法;并且在所述第一分区的当前迭代与距所述当前迭代最远的所述第一分区的未执行迭代之间确定所述拆分值包括在所述第一分区的当前迭代与距所述当前迭代最远的所述第一分区的未执行迭代之间均匀地确定所述拆分值。14.如权利要求12所述的SLIP控制器,其特征在于,所述可用SLIP信息包括异构处理设备特性,并且其中所述SLIP控制器被配置为执行操作以使得:基于所述第一分区的可用SLIP信息和迭代信息来选择SLIP试探法包括选择使用预测SLIP试探法的修改版本的跟踪器SLIP试探法;并且在所述第一分区的当前迭代与距所述当前迭代最远的所述第一分区的未执行迭代之间确定所述拆分值包括在所述第一分区的当前迭代与距所述当前迭代最远的所述第一分区的未执行迭代之间确定与第一异构处理设备和第二异构处理设备相对于彼此的异构处理设备特性成比例的所述拆分值。15.如权利要求12所述的SLIP控制器,其特征在于,所述可用SLIP信息包括第一异构处理设备和第二异构处理设备的用于所述重复性过程的分区执行性能数据,并且其中所述SLIP控制器被配置为执行操作以使得:基于所述第一分区的可用SLIP信息和迭代信息来选择SLIP试探法包括选择使用历史SLIP试探法的修改版本的跟踪器SLIP试探法;并且在所述第一分区的当前迭代与距所述当前迭代最远的所述第一分区的未执行迭代之间确定所述拆分值包括在所述第一分区的当前迭代与距所述当前迭代最远的所述第一分区的未执行迭代之间确定与所述第一异构处理设备和所述第二异构处理设备相对于彼此的分区执行性能数据成比例的所述拆分值。16.如权利要求9所述的SLIP控制器,其特征在于,所述多个下一分区包括第一下一分区和第二下一分区,并且其中所述SLIP控制器被配置为执行进一步包括以下的操作:将所述第一下一分区指派给第一异构处理设备以供执行,其中所述第一异构处理设备先前被指派给所述第一分区;响应于以下操作中的一者来选择第二异构处理设备:确定由所述第二异构处理设备执行的所述重...

【专利技术属性】
技术研发人员:A·拉曼H·赵A·纳塔拉扬
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国,US

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

1