亲和性驱动的分布式调度并行计算的系统和方法技术方案

技术编号:5180234 阅读:221 留言:0更新日期:2012-04-11 18:40
本发明专利技术的实施例提供了生产率和性能更高的并行计算的有效调度。本发明专利技术的实施例提供对于具有物理死锁自由度的多地点并行计算的亲和性驱动的分布式调度有效的各种方法。

【技术实现步骤摘要】

本专利技术涉及并行计算,尤其涉及亲和性(affinity)驱动的分布式调度并行计算 的系统和方法。
技术介绍
已经设计和实施了基于分块的全局地址(PGAS)范式的、诸如X10、Chapel和 fortress那样的语言,作为在多核、大规模并行平台上的生产率和性能更高的国防部高级 研究计划署高生产率计算系统(DARPA HPCQ程序的一部分。然而,多核、大规模并行平台 在并行计算的调度方面有重大的缺陷。
技术实现思路
本专利技术的实施例提供生产率和性能更高的并行计算的有效调度。本专利技术的实施例 提供对于具有物理死锁自由度的多地点(“地点”是具有共享存储器的处理器组)并行计 算的亲和性驱动的分布式调度有效的各种方法。本专利技术的实施例提供了假设了无约束空间 的、用于严格的地点注解的多线程计算的在线亲和性驱动的分布式调度过程。而且,本发 明的实施例提供了假设每个地点的有界限空间的、新颖的亲和性驱动的在线分布式调度过 程。总之,本专利技术的一个方面提供了一种设备,包括一个或多个处理器;和计算机可 读存储介质,具有在其上体现的和可以由所述一个或多个处理器执行的计算机可读程序代 码,所述计算机可读程序代码包括被配置成针对一个或多个地点以无死锁方式提供多地 点计算的在线分布式亲和性驱动的调度的计算机可读程序代码,所述一个或多个地点每一 个都包括一个或多个具有共享存储器的处理器。本专利技术的另一个方面提供了一种方法,包括利用一个或多个处理器来执行在程 序存储装置中有形地体现的指令程序,所述指令程序包括被配置成针对一个或多个地点 以无死锁方式提供多地点计算的在线分布式亲和性驱动的调度,所述一个或多个地点每一 个都包括一个或多个具有共享存储器的处理器。本专利技术的再一个方面提供了 一种计算机程序产品,包括计算机可读存储介质,具 有在其上体现的计算机可读程序代码,所述计算机可读程序代码包括被配置成针对一个 或多个地点以无死锁方式提供多地点计算的在线分布式亲和性驱动的调度的计算机可读 程序代码,所述一个或多个地点每一个都包括一个或多个具有共享存储器的处理器。为了更好地了解本专利技术的示例性实施例以及本专利技术的其它和另外的特性和优点, 可结合附图参考以下的说明,并且本专利技术的请求保护的实施例的范围将在所附权利要求中 指出。附图说明图1示出按照本专利技术的实施例的某些定义和符号。图2A-2B示出按照本专利技术的实施例的地点注解的计算DAG和分布式调度过程。图3示出按照本专利技术的实施例的分布式调度过程。图4示出按照本专利技术的实施例的分布式数据结构。图5A-5B示出按照本专利技术的实施例的用于有界限空间调度和Remote Spawn and Empty Deque (远端衍生与空的双端队列)情形的分布式数据结构。图6示出按照本专利技术的实施例的多地点分布式调度。图7示出按照本专利技术的实施例的混合分布式调度。图8示出按照本专利技术的实施例的分布式调度。图9示出按照本专利技术的实施例的具有地点环的2D环面(torus)。图10示出按照本专利技术的实施例的多地点分布式数据结构。图11示出按照本专利技术的实施例的用于有界限空间调度的分布式数据结构。图12示出按照本专利技术的实施例的多地点分布式调度。图13给出在不同的调度方法与按照本专利技术的实施例的那些调度方法之间的示例 性比较结果。图14示出按照本专利技术的一个实施例的示例性计算机系统。 具体实施例方式将容易理解,如这里在图上一般性描述和示出的本专利技术的实施例的组件可以以除 了所描述的示例性实施例以外的各种各样不同的配置进行安排和设计。因此,以下的对于 本专利技术的实施例的更详细的描述,如在图上给出的,不打算用来限制本专利技术的实施例的所 请求保护的范围,而仅仅代表本专利技术的示例性实施例。在本说明书中提到“一个实施例”或“实施例”(等等)是指结合该实施例描述的 具体的特性、结构、或特征被包括在本专利技术的至少一个实施例中。因此,在本说明书中的不 同地方出现的词组“在一个实施例中”或“在实施例中”(等等)并不一定都是涉及同一个 实施例。而且,所描述的特性、结构、或特征可以在一个或多个实施例中以任何适当的方式 进行组合。在以下的描述中,提供了许多具体的细节,以便透彻地了解本专利技术的实施例。然 而,本领域技术人员将会认识到本专利技术的各种实施例可以不用所述具体的细节中的一个 或多个来实践,或用其它方法、组件、材料等等来实践。在其它情况下,熟知的结构、材料、或 操作没有进行详细地示出或描述,以避免使本专利技术的各方面变得模糊。本专利技术人已经认识到,随着多核架构和许多核架构的出现,用于更高的生产率和 性能的并行程序的调度已变为重要问题。已经设计和实施了基于PGAS范式的、诸如X10、 Chapel和!^rtress那样的语言,作为在多核、大规模并行平台上生产率和性能更高的 DARPA HPCS程序的一部分。这些语言具有对于并行程序中的线程(也称为活动)的初始放 置(initial placement)和数据结构的内置支持,并且因而,局部性(locality)在程序中 隐含地出现。这些语言的运行时系统需要给并行计算的算法在线调度提供中等粒度到精细 粒度的并行性。为了进行大型并行计算,调度算法应当被设计成在多核、大规模并行架构上 以分布方式工作。而且,它应当保证在有界限空间下无物理死锁的执行。假设,并行计算由 于控制、数据或同步依赖关系而没有任何逻辑死锁,因而由于在有界限空间中的循环依赖关系,只会出现物理死锁。由于分布式调度算法需要遵循亲和性并提供有效的空间和时间 复杂性以及分布式死锁自由度,所以这是非常有挑战性的问题。现在把描述转向附图。参考附图将最好地理解所示出的本专利技术的实施例。以下的 描述仅仅打算作为例子,并简单地示出如在这里请求保护的本专利技术的某些所选的示例性实 施例。附图中的流程图和框图示出按照本专利技术的各种实施例的系统、设备、方法和计算 机程序产品的可能实施方式的架构、功能和操作。在这方面,在流程图或框图中的每个方框 可以代表代码的模块、分段或一部分,其包括一个或多个用于实施特定的一个或多个逻辑 功能的可执行指令。还应当指出,在某些替换实施方式中,在方框中所表示的功能可以以不 同于图上所指出的次序发生。例如,接连示出的两个方框实际上可以基本上同时执行,或有 时这两个方框以相反的次序执行,这取决于所牵涉到的功能。还应当指出,框图和/或流程 图中的每个方框以及框图和/或流程图中的各方框的组合可以通过执行规定的功能或动 作的基于专用硬件的系统、或专用硬件与计算机指令的组合来实现。这里解决的两个亲和性驱动分布式调度问题如下所示。给定(a)输入计算 DAG(图2A),其代表具有精细粒度到中等粒度的并行性的并行多线程计算。在DAG中每个 节点是基本运算,诸如与/或/加等等,并用表示该节点应当在哪里被执行的地点标识符注 解每个节点。在DAG中边缘代表⑴新的线程的衍生(spawn),或者(ii)顺序的执行流, 或(iii)在两个节点之间的同步依赖关系;(b)n个SMP的集群(每个SMP,也被称为地点, 具有固定数目的处理器和存储器),作为在其上调度计算DAG的目标架构。为了求解对于 两个问题,需要以在线和分布方式针对计算DAG的各节点生成调度,这保证节点到地点的 精确映射,如在输入DAG中规定的那样。具体地本文档来自技高网...

【技术保护点】
一种设备,包括:一个或多个处理器;以及计算机可读存储介质,具有在其上体现的且能够由所述一个或多个处理器执行的计算机可读程序代码,所述计算机可读程序代码包括:被配置成针对一个或多个地点以无死锁方式提供多地点计算的在线分布式亲和性驱动的调度的计算机可读程序代码,所述一个或多个地点每一个都包括一个或多个具有共享存储器的处理器。

【技术特征摘要】
US 2009-10-28 12/607,4971.一种设备,包括一个或多个处理器;以及计算机可读存储介质,具有在其上体现的且能够由所述一个或多个处理器执行的计算 机可读程序代码,所述计算机可读程序代码包括被配置成针对一个或多个地点以无死锁方式提供多地点计算的在线分布式亲和性驱 动的调度的计算机可读程序代码,所述一个或多个地点每一个都包括一个或多个具有共享 存储器的处理器。2.按照权利要求1所述的设备,其中以无死锁方式提供多地点计算的在线分布式亲和 性驱动的调度还包括通过使用用于负荷平衡的地点内工作窃取与用于保留亲和性的各地点上的远端工作 推送的组合,在每个地点具有无约束空间的情况下为严格的地点注解的多线程计算提供分 布式亲和性驱动的调度;以及其中新生活动缓存器被实施为同时发生双端队列,所述队列用于保持从远端地点衍生 的新的活动。3.按照权利要求1所述的设备,其中以无死锁方式提供多地点计算的在线分布式亲和 性驱动的调度还包括在无死锁执行的情况下为最终严格的多地点计算提供分布式亲和性驱动的调度。4.按照权利要求1所述的设备,其中以无死锁方式提供多地点计算的在线分布式亲和 性驱动的调度还包括为调度多地点计算而提供分级的亲和性驱动的调度;其中所述分级的亲和性驱动的调 度涉及在一个地点和在各地点上的亲和性驱动调度。5.按照权利要求1所述的设备,其中所述计算机可读程序代码还包括被配置成提供对于包括任何地点活动和亲和性驱动活动的混合并行计算的调度的计 算机可读程序代码。6.按照权利要求1所述的设备,其中所述计算机可读程序代码还包括被配置成提供在并行计算中的任何地点活动以使能在各地点上的自动负荷平衡的计 算机可读程序代码。7.按照权利要求1所述的设备,其中所述计算机可读程序代码还包括被配置成提供在各地点上基于优先级的随机工作窃取的计算机可读程序代码,其中从 较近的地点窃取活动的概率高于从较远的地点窃取活动的概率。8.按照权利要求1所述的设备,其中所述计算机可读程序代码还包括被配置成利用地点内工作窃取和远端工作推送中的一个或多个用于通用计算来提供 无约束空间调度的计算机可读程序代码。9.按照权利要求1所述的设备,其中所述计算机可读程序代码还包括被配置成为最终严格的计算提供有界限空间调度的计算机可读程序代码。10.按照权利要求9所述的设备,其中所述有界限空间调度还包括用于无死锁执行的活动/线程的基于深度的优先级。11.按照...

【专利技术属性】
技术研发人员:A纳朗S阿加瓦尔RK什亚马桑达尔
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1
相关领域技术
  • 暂无相关专利