用于大规模并行处理系统的资源保留的制作方法

文档序号:6613186阅读:178来源:国知局
专利名称:用于大规模并行处理系统的资源保留的制作方法
技术领域
本发明 一般涉及在计算环境中调度作业的领域,并且特别涉及在大规 模并行处理系统中调度作业。
背景技术
在分布式计算机集群中,作业调度器通常用于管理作业何时和何处运 行以更高效地利用该集群中的资源。作业调度器接收来自终端用户的作业 请求,然后将所述作业分派到各个计算机。作业调度需要以这样的方式实 施,使得关键工作负载可以在需要时和在所要求的机器资源上运行。另夕卜, 作业调度方案应当能够出于维护目的在一组才几器上高效地留出时间。
一种作业调度功能是提前保留,该作业调度功能可以使计算资源能够 提前被预留从而其可以专用于运行特定工作负载或者用于维护目的。然而,
支持提前保留的当前作业调度器与例如美国纽约White Plains的国际商业 机器公司("IBM")的BlueGene/L系统的大规模并行处理系统不兼容。 关联于Blue Gene/L系统的作业被运行在Blue Gene/L硬件部件的子集上。 所述部件被专门分配给该作业。引入了提前保留的当前作业调度器不能考 虑大规模并行处理系统的特定资源,以及不能实施对于所述系统的提前保 留。
因此存在对克服如上面所讨论的当前技术所具有的问题的需求。

发明内容
简而言之,根据本发明,公开的是一种用于在大规模并行处理系统中 预留资源的系统、方法和计算机可读媒体。所述方法包括接收用于预留大
规模并行处理系统中的至少 一个资源的保留请求。所述大规模并行处理系 统包括计算节点、基本分区、交换机、线缆和节点卡。关联于所述保留的 保留类型被确定。所述保留类型是计算节点数量、基本分区列表、特定形 状配置、特定作业和特定分区中的至少一个。基于所述保留类型生成一组 需求。识别用于满足所述一组需求的一组资源,以及预留所述一组资源。 在另 一实施例中, 一种用于在大规模并行处理系统中预留资源的信息
处理系统被公开。所述信息处理系统包括存储器和通信地耦合到该存储 器的处理器。提前保留模块被通信地耦合到所述存储器和处理器。所述提 前保留^^莫块用于接收用来预留大规模并行处理系统中的至少 一个资源的保 留请求。所述大规模并行处理系统包括计算节点、基本分区、交换机、线 缆和节点卡。关联于所述保留的保留类型被确定。所述保留类型是计算节 点数量、基本分区列表、特定形状配置、特定作业和特定分区中的至少一 个。基于所述保留类型生成一组需求。识别用于满足所述一组需求的一组 资源,以及预留所述一组资源。
在另一实施例中, 一种用于在大规模并行处理系统中预留资源的计算 机可读媒体被公开。所述计算机可读媒体包括用于接收用来预留大规模并 行处理系统中的至少一个资源的保留请求的指令。所述大规模并行处理系 统包括计算节点、基本分区、交换机、线缆和节点卡。关联于所述保留的 保留类型,皮确定。所述保留类型是计算节点数量、基本分区列表、特定形 状配置、特定作业和特定分区中的至少一个。基于所述保留类型生成一組 需求。识别用于满足所述一组需求的一组资源,以及预留所述一组资源。
本发明的 一个优点在于,提供了 一种用于大规模并行处理系统的提前 保留系统("ARS")。所述提前保留系统出于例如运行高优先级工作负 载或在指定时间段期间实施维护的特别目的而预留资源,以及优化与保留 有关的对所述大关见模并行处理系统的均衡。所述ARS能够处理对所述大规 模并行处理系统的提前资源保留。


附图用于进一步说明各个实施例和解释全都根据本发明的各种原理和 优点,在所述附图中,在所有独立视图中相同标号是指相同或功能上类似 的单元,以及所述附图与下面的详细说明 一起被并入本说明书中并构成其
一部分,在附图中
图1是示出了根据本发明的实施例的示例性大规模并行处理系统的框
图2示出了才艮据本发明的实施例的三维环形几何结构的一小部分; 图3是示出了根据本发明的实施例的信息处理系统的详细视图的框
图4是示出了根据本发明的实施例为大规模并行处理系统预留资源的
示例性过程的运转流程图5是示出了根据本发明的实施例定位用于保留请求的资源的示例性 过程的运转流程图6是示出了根据本发明的实施例在大规模并行处理系统中调度资源 的示例性过程的运转流程图;以及
图7是示出了根据本发明的实施例将作业绑定到保留的示例性过程的 运转流程图。
具体实施例方式
如所要求的,本发明的详细实施例在此处被公开;然而,应当理解, 所述公开的实施例仅是本发明的示例,其可以以各种形式被实现。因此, 此处公开的特定结构和功能细节将不被解释为限制性的,而仅作为权利要 求的J^出,以及作为教授本领域的技术人员以几乎任意适当的详细结构不 同地利用本发明的代表性基础。另外,此处使用的术语和短语并非旨在是 限制性的;而旨在提供对本发明的可理解的描述。
术语"一个(a),,或"一个(an)"当用在这里时被定义为一个或 多于一个。术语多个当用在这里时#_定义为两个或多于两个。术语另一个 当用在这里时被定义为至少第二个或更多。术语包括(including)和/或具
有当用在这里时被定义为包括(comprising)(即开放语言)。术语耦合 的当用在这里时净皮定义为连接的,但不必非要是直接连接,以及不必非要 是机械地连接。术语程序、软件应用等当用在这里时被定义为设计用于在 计算机系统上执行的指令序列。程序、计算机程序或软件应用可以包括子 例程、函数、过程、对象方法、对象实现、可执行应用、小应用程序、小 服务程序、源代码、目标代码、共享库/动态加载库、和/或设计用于在计 算机系统上执行的其它指令序列。 示例性大规才莫并行处理系统
根据本发明的实施例,如图1中所示,示例性大规模并行处理系统100 被示出。图1的示例指向Blue Gene/L系统。然而,本发明适用于包括计 算节点、基本分区、交换机、线缆和节点卡的任意大规模并行处理系统。 在该实施例中,大规模并行处理系统100包括多个计算节点102、 104、 106、 108。每个计算节点102、 104、 106、 108包括处理器。计算节点内核("CNK") 110驻留在每个计算节点102、 104、 106、 108中。该CNK是将系统调用 转发出所述计算节点进行服务的轻量级内核。
计算节点102、 104、 106、 108是大规模并行处理系统100的计算引擎。 大规j莫并行处理系统100还包括类似于计算节点102、 104、 106、 108的 I/O节点112、 114。例如,I/O节点112、 114也包括处理器。然而,I/O 节点112 、 114可以包括附加存储器,以及包括例如以太网端口的网络硬件。 计算节点102、 104、 106、 108与I/O节点112、 114通信以接收将处理的 数据。I/O节点112、 114包括控制和I/0端口监控("CIOD" )136、 138。 所述CIOD是接收来自CNK 110的I/O请求的过程。
所述以太网端口允许I/0节点112、 114连接到例如吉比特(功能性) 网络116的网络用于实施文件I/O操作。吉比特网络116为大规模并行处 理系统100提供用于交换数据和加载程序的装置。例如,通信地耦合到吉 比特网络116的文件服务器118提供可由1/0节点112、114访问的文件系 统。将被大^M莫并行处理系统100处理的程序和数据在系统100之外准备。 换句话说,大规才莫并行处理系统100不包括该系统100中的本地磁盘。因 此,文件服务器118包括被大规模并行处理系统100经由I/O节点112、 114与服务节点120和前端节点122共享的全局文件系统。
大规模并行处理系统100中的节点卡可以容纳32个计算节点和可选 1/0节点。中平面或基本分区("BP")可以包括16个计算卡或512个计 算节点加许多1/0节点。机架可以容纳两个中平面,以及在一个实施例中, 大规模并行处理系统100可以连接到多达64个机架。
服务节点120通信地耦合到大规模并行处理系统100。服务节点120 控制和管理系统100。在一个实施例中,服务节点120监视系统100的配 置,并且向用户/管理员提供在系统100上发起任何动作的能力。例如,通 过服务节点120,系统100可以被管理和分区。另外,所述分区的任一个 中的计算节点和I/O节点可以被引导,并具有通过服务节点120被提交到 其的作业。
图1将服务节点120示为包括数据库124、系统控制台126、中平面管 理控制系统("MMCS,, ) 128和调度器130。数据库124包括用于大规 模并行处理系统100中的所有部件的盘存和状态信息。数据库124还包括 关联于运行在大规模并行处理系统100上的所有作业的信息。数据库124 可选地可以驻留在服务节点120之外。例如,数据库124可以驻留在通信 地耦合到服务节点120的远程信息处理系统上。系统控制台126允许管理 员与服务节点120和大规模并行处理系统100交互。MMCS 128允许服务 节点120管理大规模并行处理系统100。调度器130为大M^莫并行处理系 统100提供作业调度和提前保留系统。所述提前保留调度过程在下面更详 细讨论。
大规模并行处理系统100还通信地耦合到前端节点122,其中,该前 端节点122是信息处理系统。前端节点122允许用户与大规^莫并行处理系 统100交互。例如,用户可以登录前端节点122,并且向大少见模并行处理 系统100提交作业。服务节点120分配系统100上的必要资源使已提交作 业运行。在该实施例中,服务节点120和前端节点122不是系统100的一 部分。它们与系统100形成集群,称为大规;漠并行计算集群。大目并行
计算集群可以包括不是大规模并行处理系统100的服务节点或前端节点的
其它信息处理系统。
为在系统100上运行应用或作业,在一个实施例中,发起程序在前端 节点122上被开启,可执行应用在称为分区的一组大规模并行计算资源上 被开启。分区可以由系统100的管理员或大规模并行计算集群的作业调度 器130定义。在一个实施例中, 一个分区完全专用于用户作业。在当前作 业运行时,其它作业无法访问该分区。 一旦当前作业被完成,则该分区可 以被释放给另一用户。
分区中的通信网络与大规模并行处理系统100的剩余部分隔离。分区 通常包含经由交换机和线缆连接以形成环形或网状网络和3D形状的多个 BP。每个分区还包括至少一个系统I/0节点112、 114。在一个实施例中, 所述i/o节点是必需的,因为在没有其的情况下,计算节点与外部文件系 统118之间的通信是不可能的。32或128个计算节点的小型分区也是可能 的。由于作业必须在分区中运行,以及分区仅可能是特定规模的,所以分 区可以包括比作业实际所需的更多的资源。大规模并行处理系统100及其 部寸牛在题为"Novel Massively Parallel Supercomputer"的已发布申请 2004/0103218中更详细讨论,其中,该申请由美国纽约White Plains的国 际商业机器公司("IBM")共同拥有,并且在此作为参考被完整引入。
大规模并行处理系统的示例性网络
在一个实施例中,相比于实现能够传送大规模并行处理系统环境中所 需的所有协议的单一类型网络,大身见模并行处理系统100利用分离的网络 进行不同类型的通信。第一种网络是允许计算节点之间的点到点消息传送 的三维环形网络。例如,图2示出了来自512个计算节点的典型基本环形 配置的互连了八个计算节点的三维环形几何结构的一小部分。图2示出了 经由双向环形链路204连接到其六个邻居的计算节点202。然而应当理解, 包括不同环形配置(例如4维或更多维的环形)中的更多处理节点的其它 体系结构,皮i殳想,其包括题为"Novel Massively Parallel Supercomputer" 的共同拥有、未决的美国专利申请序列号10/468,993 (出版号US
2004/0103218)中描述的那些体系结构。
如从图2中可见,所述环形体系结构沿逻辑x、 y和z轴连接节点。环 形可以经由连接闭合环路中的对面立方体而从网状被创建。至于所述环形 网络,其优选是支持立方形或矩形通信和分区的三维设计。三维设计允许 许多物理现象的计算仿真到所述环形网络的直接映射。然而,更高维度(即 4、 5或6维)的超环面以更多芯片到芯片连接和显著更高的电缆连接成本 的代价允许更短和更低等待时间的通路。较低维度给出较长等待时间和较 少芯片到芯片通信。所述环形网络提供自适应和确定性的最小通路选路, 以及是无死锁的。
下一种网络称为集合网络。所述三维环形是用于与邻居通信的高效网 络。然而,在程序运行期间, 一些调用比其它的更全局化,例如多对一、 一对多和多对多。对于这些调用,大规模并行处理系统100提供所述集合 网络。所述集合网络以树形连接所有计算节点。在集合网络中,任意节点 可以是树根(起源点)。
包括在大规才莫并行处理系统100中的另 一种网络是障碍(全局中断) 网络。所述障碍网络被系统100用于协调任务。例如,被并行运行的多个 任务实施的工作需要由并行应用来协调。所述障碍网络提供用于所述协调 的网络。
如上面所讨论的,所述计算节点与外部世界之间的所有交互在服务节 点120控制下通过I/O节点来实现。因此,大^L模并行处理系统100提供 将所述服务节点连接到所述1/0节点的两种网络。所述网络是吉比特网络 116和服务网络132,其中,服务网络132实质是另一以太网网络,但经由 服务卡被转换成内部JTAG网络134。吉比特功能性网络116用于安装全 局文件系统118来允许系统100访问文件I/0。 I/O节点112、 114进一步 通过所述集合网络与计算节点通信。所述服务网络(JTAG网络)授权服 务节点120对所述大规^^并行处理系统节点的直接访问。所述服务网络用 于引导所述节点(初始化硬件、加载内核等)。每个节点卡具有芯片,其 将来自计算和I/O节点二者的JTAG连接转换成100Mbps的以太网网络,
其中,该网络进一步连接到服务节点120。 提前保留
当耦合到大M^莫并行处理系统100的信息处理系统的用户想要运行作 业时,为工作负载均衡和资源使用优化,作业必须由作业调度器130调度。 本发明的调度器130为大规模并行处理系统100提供提前保留系统 ("ARS" ) 320 (图3)。在一个实施例中,例如调度器130的服务节点 120的部件包括ARS320。应当指出,ARS320可以是驻留在服务节点130 中的单独才莫块。所述提前保留系统为系统100管理资源保留。ARS320通 过在可能时授权资源保留请求来提前提供资源管理。仅被指定为合格的作 业被允许运行在已预留资源上,或者在特定情况下,当资源可用性不是问 题或当特殊或占先条件允许时,其它作业也可以运行。
ARS 320能够为大规模并行处理系统100处理提前资源保留。大规模 并行处理系统的作业在分区上执行,所述分区是c节点(计算节点)、BP (基本分区)、交换机、线缆和节点卡的集合。此外,称为mpirun的相 应的发起和监视作业在称为FEN (前端节点)的机器上执行。Blue Gene 上的提前保留允许用户指定以下中的一个
-将被预留的c节点的数目,以及所述c节点将被连接的方式(环形、 网状或优选环形);
-指定c节点将被预留成的形状的数字三元组,以及所述c节点将在 所指定的形状中4皮连接的方式(环形、网状或优选环形);
-将净皮预留的BP的列表,以及所述BP将,皮连接的方式(环形、网 状、优选环形);
-其部件将^皮预留的预定义分区的名字。
如上面所讨论的,大规模并行计算集群是分布式信息处理系统集群, 其包括大规模并行处理系统和许多其它信息处理系统(自此被称为常规系 统)。所述常规系统可以充当大规模并行处理系统100的服务节点120或 前端节点122。将被运行在系统100上的作业称为大规模并行计算作业。 运行在所述常规系统上的作业称为常规作业。用于仅运行常规作业的保留
称为常规保留。用于运行大规模并行计算作业的保留称为大规^t并行计算 保留。可以用于运行常规作业和大规模并行计算作业的保留称为通用保留。
保留的最通常的用途是运行作业,因此,由ARS320预留的大规模并 行计算资源必须能够运行至少一个作业。换句话说,必须存在足够资源来 形成至少一个大规模并行计算分区。分区包括计算节点、I/O节点、交换 机和线缆。ARS320预留所有所述部件用于大规模并行计算保留。在一个 实施例中,指定预留什么用于大頰4莫并行计算保留的最直接方法是指定对 于每个类型的系统100部件的列表。然而,这仅对于像节点卡或几个BP 的小型保留看似真实。对于大型大规模并行计算保留,这非常难以完成, 因为存在太多要指定的大规模并行计算部件。另外,所述直接方法需要专 家知识来做出对所述大规模并行计算部件的明智选择,从而避免浪费资源 (资源必须以特定方式相关,以便能够形成用于运行作业的分区)。
因此,本发明的ARS 320提供用于指定预留哪些资源的更实际的方式。 例如,ARS320允许用户或信息处理系统通过指定预定义分区、指定作业、 指定计算节点的数量、指定将预留的BP的形状、和指定BP的列表来预 留资源。如果对于资源保留请求作业被指定,则ARS320预留足够资源来 形成可以满足该作业中所指定的需求的分区。调度器130调度该作业使得 该作业所需的资源可以辆J改置在所述保留中。指定计算节点的数量可以认 为是指定作业的特殊情况。ARS320可以创建伪作业,并让其通过作业调 度找到所述保留所需的资源。网络连接可以被默认为是环形或网状,或被 认为是额外输入。
指定将预留的BP的形状类似于指定计算节点的数量。当所述形状被 指定,则所述指定包括将预留的BP的数量和所需分区形状是哪种3D形状。 当BP的列表被指定,则ARS 320预留被指定的整个组的BP。额外的交 换机和线缆也可以被添加到保留中。然而,仅当所述交换机和线缆被保留 中的BP使用并且不被保留外的任何BP使用时,这才被允许。可以使保 留运行多个作业,以及所述额外线缆允许更多作业同时在保留中运行。同 样,环形网络连接需要比网状网络连接更多的线缆。
在一个实施例中,需要前端节点122来运行大规模并行计算作业。因 此,大规模并行计算保留可以包括前端节点122。在多数情况下,大规模 并行计算作业仅使用所述前端节点上的非常少量的资源。在一些安装中,
仅一个或两个前端节点122可用于处理所有的大规^莫并行计算作业。在所 述情况下,不在所述大规模并行计算保留中包括前端节点122是更有利的。 相反, 一个或更多前端节点122被标记为"不允许保留,,,以及允许所有 大规模并行计算作业(不论是否运行在保留内)共享所述前端节点122。
在大规^^莫并行计算集群中,仍然可以为运行的作业或为维护目的而产 生保留。 一般地,前端节点122和服务节点120不用于常规保留。这防止 大规模并行处理系统100被不充分使用。通用保留可以被认为是两种保留 (大规模并行计算保留和常规保留)的组合。通用保留不总是必要的,并 且可以在存在对所述类型保留的需求时被产生。
作业必须被绑定到保留,以便其将在该保留中被运行。在一个实施例 中,常规作业可以被绑定到常规保留或通用保留。大规模并行计算作业可 以被绑定到大规模并行计算或通用保留。如果大规模并行计算保留包括前 端节点122,则4皮绑定到该保留的作业仅使用由该保留所预留的资源。如 果大规模并行计算保留不包括前端节点122,则该保留之外的前端节点122 被共享,以便运行所绑定的大规模并行计算作业。
保留不能重叠,即,资源不能同时被两个保留所预留。策略可以被设 置,用于不允许作业和保留重叠。在产生保留的过程中,进行检查用于确 保将被预留的资源在所请求的保留时间段期间还未被另 一保留或作业使 用。列表或散列表可以用于搜集空闲资源或已^f吏用资源,以帮助资源可用 性检查。大规模并行处理系统包括大量线缆、交换机和其它部件。因此, 用于管理所述可用性检查的更有利方式是在检查每个保留请求之前将部件 标记为空闲或已使用。资源部件如果在所请求的保留时间段期间为空闲(未 被预留)则被认为是空闲的。
可用于常规保留的所有特征和策略也可以被大规模并行计算保留共 享。大规模并行计算保留可以具有下述选项,即,如果其空闲则被作业调
度器自动移除。所述大规才莫并行计算保留如果其所有的已绑定作业已找到 将运行的资源则可以使其资源被与外部作业共享。已绑定作业可以被允许 运行超过保留的结束时间,或者仅可以在保留结束之前完成的作业将被允 许运行。
示例性信息处理系统
图3是例如服务节点120的信息处理系统的详细视图。图3是示出了 根据本发明的实施例的服务节点120的详细视图的框图。在一个实施例中, 服务节点120是基于适于实现本发明的示例性实施例的适当配置的处理系 统。任意适当配置的处理系统类似地能够被本发明的实施例用作服务节点 120,例如个人计算机、工作站等。
服务节点120包括计算机302。计算机302具有通信地连接到主存储 器306 (例如易失性存储器)的处理器304、非易失性存储接口 308、终端 接口 310和网络适配器硬件312。系统总线316互连所述系统部件。非易 失性存储接口 308用于将例如数据存储设备318的海量存储设备连接到服 务节点120。 一种特定类型的数据存储设备是计算机可读媒体,例如可以 用于将数据存储到CD或从其读数据的CD驱动器或DVD 320或软盘(未 示出)。另一种类型的数据存储设备是配置为支持例如NTFS型文件系统 操作的数据存储设备。
所述主存储器包括调度器130、数据库124和MMCS 128。在一个实 施例中,调度器130包括ARS模块320。所述部件已在上面更详细讨论。 尽管被示作并行驻留在主存储器306中,但应当清楚,主存储器306的各 个部件不需要始终或甚至同时完全驻留在主存储器306中。在一个实施例 中,服务节点120利用传统的虚拟寻址机制来允许程序的运转就好像其访 问大型、单一存储实体(在此称为计算机系统存储器)、而不是访问多个 较小型存储实体(例如主存储器306和数据存储设备316)那样。应当指 出,术语"计算机系统存储器,,这里用于一般地指代服务节点120的整个 虚拟存储器。
尽管对于计算机302仅一个CPU 304被示出,但具有多个CPU的计 算机系统可以被同样有效使用。本发明的实施例进一步引入了这样的接口,
每个所述接口包括用于从CPU 304进行卸载处理的单独的、完全被编程的 微处理器。终端接口 310用于将一个或更多终端340直接连接到计算机 302,以便为计算机302提供用户接口。能够是非智能或完全可编程工作站 的终端340用于允许系统管理员和用户与瘦客户机通信。终端340还能够 包括连接到计算机302并且由包括在终端接口 310中的终端接口硬件控制 的用户接口和外围设备,其包括视频适配器和用于键盘、点击设备等的接 口 。
根据实施例,操作系统(未示出)可以被包括在所述主存储器中,并 且是合适的多任务操作系统,例如Linux 、 UNIX、 Windows XP和Windows Server操作系统。本发明的实施例能够使用任意其它合适的操作系统或内 核,或其它合适的控制软件。本发明的一些实施例利用例如面向对象框架 机制的、允许操作系统(未示出)的部件的指令在位于客户机中的任意处 理器上被执行的体系结构。网络适配器硬件312用于为各种网络116、 132 提供接口 。本发明的实施例能够适于与包括目前的模拟和/或数字技术的任 意数据通信连接或经由将来的联网机制一起工作。
尽管在完全功能性计算机系统的上下文中描述了本发明的示例性实施 例,但本领域的技术人员将理解,实施例可以经由CDROM320或其它形 式的可记录媒体、或经由任意类型的电子传送机制作为程序产品被分发。
为大规模并行系统预留资源的示例性过程
图4示出了使用ARS 420为大^M莫并行处理系统100预留资源的示例 性过程。图4的操作流程图在步骤402开始。调度器130在步骤402接收
保留请求。该请求可以以许多格式被接收。例如,该请求可以由终端用户 从命令行或经由使用图形用户界面或应用编程接口输入。然而,该请求不
必非要由终端用户提交,以及可以由另 一计算机或甚至另 一环境提供。ARS 420在步骤404确定所述请求是否指定c节点的数量。如果该确定的结果 是肯定的,则ARS 420在步骤406基于所请求的c节点数量创建一组需求。 应当指出,为所述请求预留的c节点的实际数量可以大于或小于所请求的
数量。
ARS 420在步骤408确定所迷保留是否要求前端节点122被预留。如 果该确定的结果是肯定的,则ARS 420在步骤410将前端节点请求添加到 需求中。控制然后流转到步骤412。如果上述确定的结果是否定的,则ARS 420在步骤412尝试定位在保留开始时刻和在该保留的整个持续期间满足 需求的资源。ARS420在步骤414确定资源是否已被定位。如果该确定的 结果是否定的,则ARS420在步骤416确定所述保留不能被授权。如果所 述情形发生,则用户或系统被通知。控制流然后在步骤418退出。
如果在步骤414的确定的结果是肯定的,则已定位的资源被预留用于 保留。控制流然后在步骤422退出。返回步骤404,如果该确定的结果是 否定的,则ARS420在步骤424确定所述保留请求是否指定了 BP列表。 如果该确定的结果是肯定的,则ARS 420在步骤426基于所请求的BP列 表创建一组需求。ARS420然后实施上面关于步骤408、 410、 412、 414、 416、 418、 420和422讨论的过程。如果在步骤424的确定的结果是否定 的,则ARS420在步骤428确定所述保留是否指定了特定形状。如果该确 定的结果是肯定的,则ARS420在步骤430基于所指定的形状创建一组需 求。
ARS420然后实施上面关于步骤408、 410、 412、 414、 416、 418、 420
和422讨论的过程。如果在步骤428的确定的结果是否定的,则ARS 420 在步骤432确定所述请求是否指定了特定作业。如果该确定的结果是肯定 的,则ARS 420在步骤434基于所指定的作业创建一组需求。ARS 420然 后实施上面关于步骤408、 410、 412、 414、 416、 418、 420和422讨论的 过程。如果在步骤432的确定的结果是否定的,则ARS420在步骤436确 定所述请求是否指定了特定分区。如果该确定的结果是肯定的,则ARS 420 在步骤438基于所指定的分区创建一组需求。ARS420然后实施上面关于 步骤408、 410、 412、 414、 416、 418、 420和422讨论的过程。如果在步 骤436的确定的结果是否定的,则ARS420在步骤416确定所述保留请求 不能被授权,以及控制流在步骤418退出。
为大规模并行系统预留资源的示例性过程
图5示出了定位用于保留请求的资源的示例性过程。图5是图4中的 步骤412的更详细流程。图5的操作流程图在步骤520开始并且直接流转 到步骤504。 ARS 320在步骤504定位用于保留的资源。所述资源在步骤 506被标记为空闲。ARS 320在步骤508确定任意保留是否与当前保留所 请求的时间段重叠。换句话说,ARS320确定任意资源是否同时属于两个 或更多保留。如果该确定的结果是肯定的,则ARS 320在步骤510定位与 当前保留所请求的时间段重叠的下一保留R。分配给保留R的资源在步骤 512被标记为M吏用中"。控制流回到步骤508,这里,ARS320对于每个 剩下的重叠保留实施步骤510和512。如果不再存在重叠保留,则控制流 在步骤514继续。
如果在步骤508的确定的结果是否定的,则ARS320在步骤514确定 是否存在不能与所述请求保留重叠的作业。 一般地,保留不被允许预留预 期将被当前运行的作业使用的资源。在特殊情况下,允许管理员创建与正 在运行的作业重叠的保留。如果该确定的结果是肯定的,则ARS320在步 骤516识别在所请求的保留时间段中的某一点将正在运行并且不能与所述 请求保留重叠的下一作业J。分配给作业J的资源在步骤518被标记为"使 用中"。控制流回到步骤514,这里,ARS 320对于每个剩下的不能被保 留切断的作业实施步骤516和518。如果不再存在所述作业,则控制流在 步骤520继续。
如果在步骤514的确定的结果是否定的,则ARS 320在步骤520识别 满足当前保留请求中的一组需求的资源。在一个实施例中,ARS320仅选 择标记为空闲的资源,并且标记为"使用中"的资源朝L认为不可用。ARS 320 在步骤522确定是否已识别满足所述保留请求的足够资源。如果该确定的 结果是否定的,则ARS320在步骤524确定足够资源尚未被识别。控制流 然后在步骤530退出。如果在步骤522的确定的结果是肯定的,则ARS 320 在步骤526确定所述过程成功,以及控制流在步骤528退出。
为保留绑定作业调度资源的示例性过程
图6示出了在大规模并行处理系统100中为保留绑定作业调度资源的 示例性过程。换句话说,图6示出了调度保留绑定作业的示例。图6在步 骤602开始并且直接流转到步骤606。图6的过程可以由服务节点120实 施,但不限于服务节点120。例如,图6的过程还可以由包括作业调度器 130并且通信地耦合到大规模并行计算数据库124的信息处理节点实施。
ARS 320在步骤606从大规模并行计算资源中清除包括和排除标记。 作为所述作业的保留的一部分的资源在步骤608被标明。ARS 320在步骤 610检索与排除所述作业的保留的作业重叠的下一保留R(来自保留列表)。 ARS 320在步骤612标明作为重叠保留R的一部分的资源的排除标记。 ARS 320在步骤614确定是否还存在更多重叠保留。如果该确定的结果是 肯定的,则控制流回到步骤610,这里,ARS320实施步骤610、 612和614 直到不再存在重叠保留。
如果在步骤614的确定是否定的,则ARS 320在步骤616在具有已标 明的"包括"标记的资源中调度所述作业。具有已标明的"排除"标记的 资源被忽略。ARS 320在步骤618确定所述作业的解决方案是否已找到。 如果该确定的结果是否定的,则ARS320在步骤620确定所迷作业不能被 调度。控制流然后在步骤626退出。如果在步骤618的确定的结果是肯定 的,则ARS320在步骤622在所选择的资源上开始所述作业。控制流然后 在步骤624退出。
将作业绑定到保留的示例性过程
图7示出了将作业绑定到保留的示例性过程。图7在步骤704开始并 且直接流转到步骤706。图7的过程可以由服务节点120实施,但不限于 服务节点120。例如图7的过程还可以由包括作业调度器130并且通信地 耦合到大规模并行计算数据库124的信息处理节点实施。ARS 320在步骤 706确定所述作业是否是大规模并行计算作业。如果该确定的结果是否定 的,则ARS 320在步骤708确定所述保留是否包括大规模并行计算资源。 如果该确定的结果是否定的,则ARS320在步骤712将所述作业绑定到所 述保留。控制流然后在步骤714退出。
如果在步骤708的确定的结果是肯定的,则所述请求在步骤710被拒 绝,以及所述作业不被绑定到所述保留。控制流然后在步骤716退出。返 回步骤706,如果该确定的结果是肯定的,则ARS320在步骤718确定所 述保留是否包括大规模并行计算资源。如果该确定的结果是肯定的,则 ARS 320在步骤712将所述作业绑定到所述保留。控制流然后在步骤714 退出。如果在步骤718的确定的结果是否定的,则所述请求在步骤710被 拒绝,以及所述作业不被绑定到所述保留。控制流然后在步骤716退出。
非限制性示例
如本领域的普通技术人员将知道的,本发明可以用硬件或软件或硬件 与软件的组合所产生。然而在一个实施例中,本发明被实现为软件。根据 结合优选实施例公开的发明性原理所述的系统或方法可以在单一计算机系 统中产生,该单一计算机系统具有用于实施所描述或要求保护的各个功能 或步骤的独立单元或装置,或具有合并了所公开或要求保护的功能或步骤 的任一个的性能的一个或更多单元或装置;或者所述系统或方法可以被安 排在分布式计算机系统中,该分布式计算机系统由本领域的普通技术人员 已知的任意合适的装置互连。
根据结合优选实施例公开的发明性原理,本发明和本发明性原理不限 于任何特定类型的计算机系统,而是如本领域的普通技术人员将知道的, 可以与任意通用计算机一起使用,被安排为实施所描述的功能和所描述的 方法步骤。如本领域的普通技术人员将知道的,所述计算机的操作如上面 所描述的那样可以根据包含在媒体上的、用于该计算机的操作或控制的计 算机程序。如本领域的普通技术人员将知道的,可以用于容纳或包含所述 计算机程序产品的计算机媒体可以是例如嵌入式存储器的计算机的固定设 备,或者可以在例如磁盘的便携式媒体上。
本发明不限于任何特定的计算机程序或逻辑或语言、或指令,而可以 用本领域的技术人员已知的任何合适的程序、逻辑或语言、或指令来实现。 在不限制所公开的发明的原理的情况下,任意计算系统可以至少包括计算 机可读媒体,其允许计算机从该计算机可读媒体读取数据、指令、消息或
消息分组、或其它计算机可读信息的。所述计算机可读媒体可以包括例如
ROM、闪存、软盘、磁盘驱动存储器、CD-ROM和其它永久存储装置的 非易失性存储器。另外,计算机可读媒体例如可以包括例如RAM、緩冲 器、高速緩沖存储器和网络电路的易失性存储装置。
此外,所述计算机可读媒体可以包括例如网络链路和/或网络接口的暂 时状态媒体中的计算机可读信息,其中,所述暂时状态媒体包括允许计算 机读取所述计算机可读信息的有线网络或无线网络。
尽管已公开了本发明的特定实施例,但本领域的普通技术人员应当理 解,在不脱离本发明的精神和范围的情况下,可以对所述特定实施例做出 改变。因此,本发明的范围将不限于所述特定实施例,以及可以预期,权 利要求覆盖了本发明的范围内的任意和所有所述应用、修改和实施例。
权利要求
1.一种在大规模并行处理系统中预留资源的方法,所述方法在包括调度器的信息处理节点上,所述信息处理节点通信地耦合到数据库和所述大规模并行处理系统,所述方法包括接收用于预留大规模并行处理系统中的至少一个资源的保留请求,其中,所述大规模并行处理系统包括计算节点、基本分区、交换机、线缆和节点卡;确定关联于所述保留的保留类型,其中,所述保留类型是以下中的至少一个计算节点数量;基本分区列表;特定形状配置;特定作业;以及特定分区;基于所述保留类型生成一组需求;识别用于满足所述一组需求的一组资源;以及预留所述一组资源。
2. 根据权利要求l所述的方法,进一步包括确定所述保留是否包括对要被预留的前端节点的请求;以及 响应于所述^f呆留包括所述请求,更新所述一组需求为包括所述前端节点。
3. 根据权利要求l所述的方法,其中,所述一组资源在保留开始时刻 和所述保留的整个持续期间满足所述一组需求。
4. 根据权利要求1所述的方法,其中,所述识别一组资源进一步包括: 将所述一组资源中的每个资源标明为可用;确定所述资源中的任一个是否在关联于所接收的保留请求的所请求时 间段期间被分配给了至少 一个其它保留;响应于至少一个资源在所述请求时间段期间被分配给了至少一个其它保留,将所述至少一个资源标明为不可用;以及 将被标明为可用的所有资源分配给所述保留请求。
5. 根据权利要求l所述的方法,进一步包括 在所述大规模并行处理系统中调度关联于所述保留的作业。
6. 根据权利要求5所述的方法,其中,所述调度进一步包括 从多个资源中识别出所述一组资源,所述一组资源关联于所述作业; 标明关联于所述一组资源中的每个资源的包括标记; 确定重叠保留是否存在,其中,所述重叠保留与关联于所述作业的时间段重叠;响应于所述重叠保留存在,识别作为所述重叠保留的一部分的、关联 于所述作业的每个资源;标明关联于每个所识别的资源的排除标记;以及 通过具有已标明的所述包括标记的资源调度所述作业。
7. 根据权利要求l所述的方法,进一步包括 确定关联于所述保留的作业是否是大规模并行计算作业; 响应于所述作业是大规模并行计算作业,确定关联于所述作业的保留是否包括大身见模并行计算资源;响应于所述保留具有大规模并行计算资源,允许所述作业被绑定到所 述保留;响应于所述作业不是大^!^莫并行计算作业,确定关联于所述作业的保 留是否包括大规模并行计算资源;以及响应于所述保留具有大规模并行计算资源,允许所述作业被绑定到所 述保留。
8. —种用于在大规模并行处理系统中预留资源的信息处理系统,所述 信息处理系统包括存储器;通信地耦合到所述存储器的处理器;以及 通信地耦合到所述存储器和所述处理器的提前保留模块,其中,所述提前保留模块用于接收用于预留大规模并行处理系统中的至少一个资源的保留请 求,所述大身见模并行处理系统包括计算节点、基本分区、交换机、线缆和节点卡;确定关联于所述保留的保留类型,其中,所述保留类型是以下中的至少一个计算节点数量;基本分区列表;特定形状配置;特定作业;以及特定分区; 基于所述保留类型生成一组需求; 识别用于满足所述一組需求的一组资源;以及 预留所述一组资源。
9. 根据权利要求8所述的信息处理系统,其中,所述提前保留模块进 一步用于确定所述保留是否包括对要被预留的前端节点的请求;以及 响应于所述保留包括所述请求,更新所述一组需求为包括所述前端节点。
10. 根据权利要求8所述的信息处理系统,其中,所述一组资源在保 留开始时刻和所述保留的整个持续时间期间满足所述一组需求。
11. 根据权利要求8所述的信息处理系统,其中,所述识别一组资源 进一步包括将所述一组资源中的每个资源标明为可用;确定所述资源中的任一个是否在关联于所接收的保留请求的所请求时 间段期间被分配给了至少 一个其它保留;响应于至少一个资源在所述请求时间段期间被分配给了至少一个其它 保留,将所述至少一个资源标明为不可用;以及 将4皮标明为可用的所有资源分配给所述保留请求。
12. 根据权利要求8所述的信息处理系统,其中,所述提前保留模块 进一步用于在所述大规模并行处理系统中调度关联于所述保留的作业。
13. 根据权利要求12所述的信息处理系统,其中,所述调度进一步包括从多个资源中识别出所述一组资源,所迷一组资源关联于所述作业; 标明关联于所述一组资源中的每个资源的包括标记; 确定重叠保留是否存在,其中,所述重叠保留与关联于所述作业的时 间段重叠;响应于所述重叠保留存在,识别作为所述重叠保留的一部分的、关联 于所述作业的每个资源;标明关联于每个所识别的资源的排除标记;以及 通过具有已标明的所述包括标记的资源调度所述作业。
14. 根据权利要求8所述的信息处理系统,其中,所述提前保留模块 进一步用于确定关联于所述保留的作业是否是大规模并行计算作业;响应于所述作业是大规模并行计算作业,确定关联于所述作业的保留是否包括大规模并行计算资源;响应于所述^(呆留具有大目并行计算资源,允许所述作业被绑定到所述保留;响应于所述作业不是大规模并行计算作业,确定关联于所述作业的保 留是否包括大规才莫并行计算资源;以及响应于所述^f呆留具有大规模并行计算资源,允许所述作业被绑定到所 述保留。
15. —种用于在大规模并行处理系统中预留资源的计算机可读媒体, 所述计算机可读媒体包括用于实现根据权利要求1到7的任一方法的指令。
全文摘要
所公开的是一种用于在大规模并行处理系统中预留资源的方法、信息处理系统和计算机可读媒体。所述方法包括接收用于预留大规模并行处理系统中的至少一个资源的保留请求。所述大规模并行处理系统包括计算节点、基本分区、交换机、线缆和节点卡。关联于所述保留的保留类型被确定。所述保留类型是计算节点数量、基本分区列表、特定形状配置、特定作业和特定分区中的至少一个。基于所述保留类型生成一组需求。识别用于满足所述一组需求的一组资源,以及预留所述一组资源。
文档编号G06F9/46GK101169742SQ20071016757
公开日2008年4月30日 申请日期2007年10月26日 优先权日2006年10月27日
发明者A·德鲁彦, R·J·科平杰, 钟恩慈 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1