CN101169742B - 用于大规模并行处理系统的资源保留 - Google Patents
用于大规模并行处理系统的资源保留 Download PDFInfo
- Publication number
- CN101169742B CN101169742B CN2007101675733A CN200710167573A CN101169742B CN 101169742 B CN101169742 B CN 101169742B CN 2007101675733 A CN2007101675733 A CN 2007101675733A CN 200710167573 A CN200710167573 A CN 200710167573A CN 101169742 B CN101169742 B CN 101169742B
- Authority
- CN
- China
- Prior art keywords
- resource
- reservation
- group
- node
- parallel processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
所公开的是一种用于在大规模并行处理系统中预留资源的方法、信息处理系统和计算机可读媒体。所述方法包括接收用于预留大规模并行处理系统中的至少一个资源的保留请求。所述大规模并行处理系统包括计算节点、基本分区、交换机、线缆和节点卡。关联于所述保留的保留类型被确定。所述保留类型是计算节点数量、基本分区列表、特定形状配置、特定作业和特定分区中的至少一个。基于所述保留类型生成一组需求。识别用于满足所述一组需求的一组资源,以及预留所述一组资源。
Description
技术领域
本发明一般涉及在计算环境中调度作业的领域,并且特别涉及在大规模并行处理系统中调度作业。
背景技术
在分布式计算机集群中,作业调度器通常用于管理作业何时和何处运行以更高效地利用该集群中的资源。作业调度器接收来自终端用户的作业请求,然后将所述作业分派到各个计算机。作业调度需要以这样的方式实施,使得关键工作负载可以在需要时和在所要求的机器资源上运行。另外,作业调度方案应当能够出于维护目的在一组机器上高效地留出时间。
一种作业调度功能是提前保留,该作业调度功能可以使计算资源能够提前被预留从而其可以专用于运行特定工作负载或者用于维护目的。然而,支持提前保留的当前作业调度器与例如美国纽约White Plains的国际商业机器公司(“IBM”)的Blue Gene/L系统的大规模并行处理系统不兼容。关联于Blue Gene/L系统的作业被运行在Blue Gene/L硬件部件的子集上。所述部件被专门分配给该作业。引入了提前保留的当前作业调度器不能考虑大规模并行处理系统的特定资源,以及不能实施对于所述系统的提前保留。
因此存在对克服如上面所讨论的当前技术所具有的问题的需求。
发明内容
简而言之,根据本发明,公开的是一种用于在大规模并行处理系统中预留资源的系统、方法和计算机可读媒体。所述方法包括接收用于预留大规模并行处理系统中的至少一个资源的保留请求。所述大规模并行处理系统包括计算节点、基本分区、交换机、线缆和节点卡。关联于所述保留的保留类型被确定。所述保留类型是计算节点数量、基本分区列表、特定形状配置、特定作业和特定分区中的至少一个。基于所述保留类型生成一组需求。识别用于满足所述一组需求的一组资源,以及预留所述一组资源。
在另一实施例中,一种用于在大规模并行处理系统中预留资源的信息处理系统被公开。所述信息处理系统包括:存储器和通信地耦合到该存储器的处理器。提前保留模块被通信地耦合到所述存储器和处理器。所述提前保留模块用于接收用来预留大规模并行处理系统中的至少一个资源的保留请求。所述大规模并行处理系统包括计算节点、基本分区、交换机、线缆和节点卡。关联于所述保留的保留类型被确定。所述保留类型是计算节点数量、基本分区列表、特定形状配置、特定作业和特定分区中的至少一个。基于所述保留类型生成一组需求。识别用于满足所述一组需求的一组资源,以及预留所述一组资源。
在另一实施例中,一种用于在大规模并行处理系统中预留资源的计算机可读媒体被公开。所述计算机可读媒体包括用于接收用来预留大规模并行处理系统中的至少一个资源的保留请求的指令。所述大规模并行处理系统包括计算节点、基本分区、交换机、线缆和节点卡。关联于所述保留的保留类型被确定。所述保留类型是计算节点数量、基本分区列表、特定形状配置、特定作业和特定分区中的至少一个。基于所述保留类型生成一组需求。识别用于满足所述一组需求的一组资源,以及预留所述一组资源。
本发明的一个优点在于,提供了一种用于大规模并行处理系统的提前保留系统(“ARS”)。所述提前保留系统出于例如运行高优先级工作负载或在指定时间段期间实施维护的特别目的而预留资源,以及优化与保留有关的对所述大规模并行处理系统的均衡。所述ARS能够处理对所述大规模并行处理系统的提前资源保留。
附图说明
附图用于进一步说明各个实施例和解释全都根据本发明的各种原理和优点,在所述附图中,在所有独立视图中相同标号是指相同或功能上类似的单元,以及所述附图与下面的详细说明一起被并入本说明书中并构成其一部分,在附图中:
图1是示出了根据本发明的实施例的示例性大规模并行处理系统的框图;
图2示出了根据本发明的实施例的三维环形几何结构的一小部分;
图3是示出了根据本发明的实施例的信息处理系统的详细视图的框图;
图4是示出了根据本发明的实施例为大规模并行处理系统预留资源的示例性过程的运转流程图;
图5是示出了根据本发明的实施例定位用于保留请求的资源的示例性过程的运转流程图;
图6是示出了根据本发明的实施例在大规模并行处理系统中调度资源的示例性过程的运转流程图;以及
图7是示出了根据本发明的实施例将作业绑定到保留的示例性过程的运转流程图。
具体实施方式
如所要求的,本发明的详细实施例在此处被公开;然而,应当理解,所述公开的实施例仅是本发明的示例,其可以以各种形式被实现。因此,此处公开的特定结构和功能细节将不被解释为限制性的,而仅作为权利要求的基础,以及作为教授本领域的技术人员以几乎任意适当的详细结构不同地利用本发明的代表性基础。另外,此处使用的术语和短语并非旨在是限制性的;而旨在提供对本发明的可理解的描述。
术语“一个(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的计算引擎。大规模并行处理系统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/O端口监控(“CIOD”)136、138。所述CIOD是接收来自CNK 110的I/O请求的过程。
所述以太网端口允许I/O节点112、114连接到例如吉比特(功能性)网络116的网络用于实施文件I/O操作。吉比特网络116为大规模并行处理系统100提供用于交换数据和加载程序的装置。例如,通信地耦合到吉比特网络116的文件服务器118提供可由I/O节点112、114访问的文件系统。将被大规模并行处理系统100处理的程序和数据在系统100之外准备。换句话说,大规模并行处理系统100不包括该系统100中的本地磁盘。因此,文件服务器118包括被大规模并行处理系统100经由I/O节点112、114与服务节点120和前端节点122共享的全局文件系统。
大规模并行处理系统100中的节点卡可以容纳32个计算节点和可选I/O节点。中平面或基本分区(“BP”)可以包括16个计算卡或512个计算节点加许多I/O节点。机架可以容纳两个中平面,以及在一个实施例中,大规模并行处理系统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为大规模并行处理系统100提供作业调度和提前保留系统。所述提前保留调度过程在下面更详细讨论。
大规模并行处理系统100还通信地耦合到前端节点122,其中,该前端节点122是信息处理系统。前端节点122允许用户与大规模并行处理系统100交互。例如,用户可以登录前端节点122,并且向大规模并行处理系统100提交作业。服务节点120分配系统100上的必要资源使已提交作业运行。在该实施例中,服务节点120和前端节点122不是系统100的一部分。它们与系统100形成集群,称为大规模并行计算集群。大规模并行计算集群可以包括不是大规模并行处理系统100的服务节点或前端节点的其它信息处理系统。
为在系统100上运行应用或作业,在一个实施例中,发起程序在前端节点122上被开启,可执行应用在称为分区的一组大规模并行计算资源上被开启。分区可以由系统100的管理员或大规模并行计算集群的作业调度器130定义。在一个实施例中,一个分区完全专用于用户作业。在当前作业运行时,其它作业无法访问该分区。一旦当前作业被完成,则该分区可以被释放给另一用户。
分区中的通信网络与大规模并行处理系统100的剩余部分隔离。分区通常包含经由交换机和线缆连接以形成环形或网状网络和3D形状的多个BP。每个分区还包括至少一个系统I/O节点112、114。在一个实施例中,所述I/O节点是必需的,因为在没有其的情况下,计算节点与外部文件系统118之间的通信是不可能的。32或128个计算节点的小型分区也是可能的。由于作业必须在分区中运行,以及分区仅可能是特定规模的,所以分区可以包括比作业实际所需的更多的资源。大规模并行处理系统100及其部件在题为“Novel Massively Parallel Supercomputer”的已发布申请2004/0103218中更详细讨论,其中,该申请由美国纽约White Plains的国际商业机器公司(“IBM”)共同拥有,并且在此作为参考被完整引入。
大规模并行处理系统的示例性网络
在一个实施例中,相比于实现能够传送大规模并行处理系统环境中所需的所有协议的单一类型网络,大规模并行处理系统100利用分离的网络进行不同类型的通信。第一种网络是允许计算节点之间的点到点消息传送的三维环形网络。例如,图2示出了来自512个计算节点的典型基本环形配置的互连了八个计算节点的三维环形几何结构的一小部分。图2示出了经由双向环形链路204连接到其六个邻居的计算节点202。然而应当理解,包括不同环形配置(例如4维或更多维的环形)中的更多处理节点的其它体系结构被设想,其包括题为“Novel Massively Parallel Supercomputer”的共同拥有、未决的美国专利申请序列号10/468,993(出版号US2004/0103218)中描述的那些体系结构。
如从图2中可见,所述环形体系结构沿逻辑x、y和z轴连接节点。环形可以经由连接闭合环路中的对面立方体而从网状被创建。至于所述环形网络,其优选是支持立方形或矩形通信和分区的三维设计。三维设计允许许多物理现象的计算仿真到所述环形网络的直接映射。然而,更高维度(即4、5或6维)的超环面以更多芯片到芯片连接和显著更高的电缆连接成本的代价允许更短和更低等待时间的通路。较低维度给出较长等待时间和较少芯片到芯片通信。所述环形网络提供自适应和确定性的最小通路选路,以及是无死锁的。
下一种网络称为集合网络。所述三维环形是用于与邻居通信的高效网络。然而,在程序运行期间,一些调用比其它的更全局化,例如多对一、一对多和多对多。对于这些调用,大规模并行处理系统100提供所述集合网络。所述集合网络以树形连接所有计算节点。在集合网络中,任意节点可以是树根(起源点)。
包括在大规模并行处理系统100中的另一种网络是障碍(全局中断)网络。所述障碍网络被系统100用于协调任务。例如,被并行运行的多个任务实施的工作需要由并行应用来协调。所述障碍网络提供用于所述协调的网络。
如上面所讨论的,所述计算节点与外部世界之间的所有交互在服务节点120控制下通过I/O节点来实现。因此,大规模并行处理系统100提供将所述服务节点连接到所述I/O节点的两种网络。所述网络是吉比特网络116和服务网络132,其中,服务网络132实质是另一以太网网络,但经由服务卡被转换成内部JTAG网络134。吉比特功能性网络116用于安装全局文件系统118来允许系统100访问文件I/O。I/O节点112、114进一步通过所述集合网络与计算节点通信。所述服务网络(JTAG网络)授权服务节点120对所述大规模并行处理系统节点的直接访问。所述服务网络用于引导所述节点(初始化硬件、加载内核等)。每个节点卡具有芯片,其将来自计算和I/O节点二者的JTAG连接转换成100Mbps的以太网网络,其中,该网络进一步连接到服务节点120。
提前保留
当耦合到大规模并行处理系统100的信息处理系统的用户想要运行作业时,为工作负载均衡和资源使用优化,作业必须由作业调度器130调度。本发明的调度器130为大规模并行处理系统100提供提前保留系统(“ARS”)320(图3)。在一个实施例中,例如调度器130的服务节点120的部件包括ARS 320。应当指出,ARS 320可以是驻留在服务节点130中的单独模块。所述提前保留系统为系统100管理资源保留。ARS 320通过在可能时授权资源保留请求来提前提供资源管理。仅被指定为合格的作业被允许运行在已预留资源上,或者在特定情况下,当资源可用性不是问题或当特殊或占先条件允许时,其它作业也可以运行。
ARS 320能够为大规模并行处理系统100处理提前资源保留。大规模并行处理系统的作业在分区上执行,所述分区是c节点(计算节点)、BP(基本分区)、交换机、线缆和节点卡的集合。此外,称为mpirun的相应的发起和监视作业在称为FEN(前端节点)的机器上执行。Blue Gene上的提前保留允许用户指定以下中的一个:
-将被预留的c节点的数目,以及所述c节点将被连接的方式(环形、网状或优选环形);
-指定c节点将被预留成的形状的数字三元组,以及所述c节点将在所指定的形状中被连接的方式(环形、网状或优选环形);
-将被预留的BP的列表,以及所述BP将被连接的方式(环形、网状、优选环形);
-其部件将被预留的预定义分区的名字。
如上面所讨论的,大规模并行计算集群是分布式信息处理系统集群,其包括大规模并行处理系统和许多其它信息处理系统(自此被称为常规系统)。所述常规系统可以充当大规模并行处理系统100的服务节点120或前端节点122。将被运行在系统100上的作业称为大规模并行计算作业。运行在所述常规系统上的作业称为常规作业。用于仅运行常规作业的保留称为常规保留。用于运行大规模并行计算作业的保留称为大规模并行计算保留。可以用于运行常规作业和大规模并行计算作业的保留称为通用保留。
保留的最通常的用途是运行作业,因此,由ARS 320预留的大规模并行计算资源必须能够运行至少一个作业。换句话说,必须存在足够资源来形成至少一个大规模并行计算分区。分区包括计算节点、I/O节点、交换机和线缆。ARS 320预留所有所述部件用于大规模并行计算保留。在一个实施例中,指定预留什么用于大规模并行计算保留的最直接方法是指定对于每个类型的系统100部件的列表。然而,这仅对于像节点卡或几个BP的小型保留看似真实。对于大型大规模并行计算保留,这非常难以完成,因为存在太多要指定的大规模并行计算部件。另外,所述直接方法需要专家知识来做出对所述大规模并行计算部件的明智选择,从而避免浪费资源(资源必须以特定方式相关,以便能够形成用于运行作业的分区)。
因此,本发明的ARS 320提供用于指定预留哪些资源的更实际的方式。例如,ARS 320允许用户或信息处理系统通过指定预定义分区、指定作业、指定计算节点的数量、指定将预留的BP的形状、和指定BP的列表来预留资源。如果对于资源保留请求作业被指定,则ARS 320预留足够资源来形成可以满足该作业中所指定的需求的分区。调度器130调度该作业使得该作业所需的资源可以被放置在所述保留中。指定计算节点的数量可以认为是指定作业的特殊情况。ARS 320可以创建伪作业,并让其通过作业调度找到所述保留所需的资源。网络连接可以被默认为是环形或网状,或被认为是额外输入。
指定将预留的BP的形状类似于指定计算节点的数量。当所述形状被指定,则所述指定包括将预留的BP的数量和所需分区形状是哪种3D形状。当BP的列表被指定,则ARS 320预留被指定的整个组的BP。额外的交换机和线缆也可以被添加到保留中。然而,仅当所述交换机和线缆被保留中的BP使用并且不被保留外的任何BP使用时,这才被允许。可以使保留运行多个作业,以及所述额外线缆允许更多作业同时在保留中运行。同样,环形网络连接需要比网状网络连接更多的线缆。
在一个实施例中,需要前端节点122来运行大规模并行计算作业。因此,大规模并行计算保留可以包括前端节点122。在多数情况下,大规模并行计算作业仅使用所述前端节点上的非常少量的资源。在一些安装中,仅一个或两个前端节点122可用于处理所有的大规模并行计算作业。在所述情况下,不在所述大规模并行计算保留中包括前端节点122是更有利的。相反,一个或更多前端节点122被标记为“不允许保留”,以及允许所有大规模并行计算作业(不论是否运行在保留内)共享所述前端节点122。
在大规模并行计算集群中,仍然可以为运行的作业或为维护目的而产生保留。一般地,前端节点122和服务节点120不用于常规保留。这防止大规模并行处理系统100被不充分使用。通用保留可以被认为是两种保留(大规模并行计算保留和常规保留)的组合。通用保留不总是必要的,并且可以在存在对所述类型保留的需求时被产生。
作业必须被绑定到保留,以便其将在该保留中被运行。在一个实施例中,常规作业可以被绑定到常规保留或通用保留。大规模并行计算作业可以被绑定到大规模并行计算或通用保留。如果大规模并行计算保留包括前端节点122,则被绑定到该保留的作业仅使用由该保留所预留的资源。如果大规模并行计算保留不包括前端节点122,则该保留之外的前端节点122被共享,以便运行所绑定的大规模并行计算作业。
保留不能重叠,即,资源不能同时被两个保留所预留。策略可以被设置,用于不允许作业和保留重叠。在产生保留的过程中,进行检查用于确保将被预留的资源在所请求的保留时间段期间还未被另一保留或作业使用。列表或散列表可以用于搜集空闲资源或已使用资源,以帮助资源可用性检查。大规模并行处理系统包括大量线缆、交换机和其它部件。因此,用于管理所述可用性检查的更有利方式是在检查每个保留请求之前将部件标记为空闲或已使用。资源部件如果在所请求的保留时间段期间为空闲(未被预留)则被认为是空闲的。
可用于常规保留的所有特征和策略也可以被大规模并行计算保留共享。大规模并行计算保留可以具有下述选项,即,如果其空闲则被作业调度器自动移除。所述大规模并行计算保留如果其所有的已绑定作业已找到将运行的资源则可以使其资源被与外部作业共享。已绑定作业可以被允许运行超过保留的结束时间,或者仅可以在保留结束之前完成的作业将被允许运行。
示例性信息处理系统
图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和WindowsServer操作系统。本发明的实施例能够使用任意其它合适的操作系统或内核,或其它合适的控制软件。本发明的一些实施例利用例如面向对象框架机制的、允许操作系统(未示出)的部件的指令在位于客户机中的任意处理器上被执行的体系结构。网络适配器硬件312用于为各种网络116、132提供接口。本发明的实施例能够适于与包括目前的模拟和/或数字技术的任意数据通信连接或经由将来的联网机制一起工作。
尽管在完全功能性计算机系统的上下文中描述了本发明的示例性实施例,但本领域的技术人员将理解,实施例可以经由CD ROM 320或其它形式的可记录媒体、或经由任意类型的电子传送机制作为程序产品被分发。
为大规模并行系统预留资源的示例性过程
图4示出了使用ARS 420为大规模并行处理系统100预留资源的示例性过程。图4的操作流程图在步骤402开始。调度器130在步骤402接收保留请求。该请求可以以许多格式被接收。例如,该请求可以由终端用户从命令行或经由使用图形用户界面或应用编程接口输入。然而,该请求不必非要由终端用户提交,以及可以由另一计算机或甚至另一环境提供。ARS420在步骤404确定所述请求是否指定c节点的数量。如果该确定的结果是肯定的,则ARS 420在步骤406基于所请求的c节点数量创建一组需求。应当指出,为所述请求预留的c节点的实际数量可以大于或小于所请求的数量。
ARS 420在步骤408确定所述保留是否要求前端节点122被预留。如果该确定的结果是肯定的,则ARS 420在步骤410将前端节点请求添加到需求中。控制然后流转到步骤412。如果上述确定的结果是否定的,则ARS420在步骤412尝试定位在保留开始时刻和在该保留的整个持续期间满足需求的资源。ARS 420在步骤414确定资源是否已被定位。如果该确定的结果是否定的,则ARS 420在步骤416确定所述保留不能被授权。如果所述情形发生,则用户或系统被通知。控制流然后在步骤418退出。
如果在步骤414的确定的结果是肯定的,则已定位的资源被预留用于保留。控制流然后在步骤422退出。返回步骤404,如果该确定的结果是否定的,则ARS 420在步骤424确定所述保留请求是否指定了BP列表。如果该确定的结果是肯定的,则ARS 420在步骤426基于所请求的BP列表创建一组需求。ARS 420然后实施上面关于步骤408、410、412、414、416、418、420和422讨论的过程。如果在步骤424的确定的结果是否定的,则ARS 420在步骤428确定所述保留是否指定了特定形状。如果该确定的结果是肯定的,则ARS 420在步骤430基于所指定的形状创建一组需求。
ARS 420然后实施上面关于步骤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的确定的结果是否定的,则ARS 420在步骤436确定所述请求是否指定了特定分区。如果该确定的结果是肯定的,则ARS 420在步骤438基于所指定的分区创建一组需求。ARS 420然后实施上面关于步骤408、410、412、414、416、418、420和422讨论的过程。如果在步骤436的确定的结果是否定的,则ARS 420在步骤416确定所述保留请求不能被授权,以及控制流在步骤418退出。
为大规模并行系统预留资源的示例性过程
图5示出了定位用于保留请求的资源的示例性过程。图5是图4中的步骤412的更详细流程。图5的操作流程图在步骤520开始并且直接流转到步骤504。ARS 320在步骤504定位用于保留的资源。所述资源在步骤506被标记为空闲。ARS 320在步骤508确定任意保留是否与当前保留所请求的时间段重叠。换句话说,ARS 320确定任意资源是否同时属于两个或更多保留。如果该确定的结果是肯定的,则ARS 320在步骤510定位与当前保留所请求的时间段重叠的下一保留R。分配给保留R的资源在步骤512被标记为“使用中”。控制流回到步骤508,这里,ARS 320对于每个剩下的重叠保留实施步骤510和512。如果不再存在重叠保留,则控制流在步骤514继续。
如果在步骤508的确定的结果是否定的,则ARS 320在步骤514确定是否存在不能与所述请求保留重叠的作业。一般地,保留不被允许预留预期将被当前运行的作业使用的资源。在特殊情况下,允许管理员创建与正在运行的作业重叠的保留。如果该确定的结果是肯定的,则ARS 320在步骤516识别在所请求的保留时间段中的某一点将正在运行并且不能与所述请求保留重叠的下一作业J。分配给作业J的资源在步骤518被标记为“使用中”。控制流回到步骤514,这里,ARS 320对于每个剩下的不能被保留切断的作业实施步骤516和518。如果不再存在所述作业,则控制流在步骤520继续。
如果在步骤514的确定的结果是否定的,则ARS 320在步骤520识别满足当前保留请求中的一组需求的资源。在一个实施例中,ARS 320仅选择标记为空闲的资源,并且标记为“使用中”的资源被认为不可用。ARS 320在步骤522确定是否已识别满足所述保留请求的足够资源。如果该确定的结果是否定的,则ARS 320在步骤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,这里,ARS 320实施步骤610、612和614直到不再存在重叠保留。
如果在步骤614的确定是否定的,则ARS 320在步骤616在具有已标明的“包括”标记的资源中调度所述作业。具有已标明的“排除”标记的资源被忽略。ARS 320在步骤618确定所述作业的解决方案是否已找到。如果该确定的结果是否定的,则ARS 320在步骤620确定所述作业不能被调度。控制流然后在步骤626退出。如果在步骤618的确定的结果是肯定的,则ARS 320在步骤622在所选择的资源上开始所述作业。控制流然后在步骤624退出。
将作业绑定到保留的示例性过程
图7示出了将作业绑定到保留的示例性过程。图7在步骤704开始并且直接流转到步骤706。图7的过程可以由服务节点120实施,但不限于服务节点120。例如图7的过程还可以由包括作业调度器130并且通信地耦合到大规模并行计算数据库124的信息处理节点实施。ARS 320在步骤706确定所述作业是否是大规模并行计算作业。如果该确定的结果是否定的,则ARS 320在步骤708确定所述保留是否包括大规模并行计算资源。如果该确定的结果是否定的,则ARS 320在步骤712将所述作业绑定到所述保留。控制流然后在步骤714退出。
如果在步骤708的确定的结果是肯定的,则所述请求在步骤710被拒绝,以及所述作业不被绑定到所述保留。控制流然后在步骤716退出。返回步骤706,如果该确定的结果是肯定的,则ARS 320在步骤718确定所述保留是否包括大规模并行计算资源。如果该确定的结果是肯定的,则ARS 320在步骤712将所述作业绑定到所述保留。控制流然后在步骤714退出。如果在步骤718的确定的结果是否定的,则所述请求在步骤710被拒绝,以及所述作业不被绑定到所述保留。控制流然后在步骤716退出。
非限制性示例
如本领域的普通技术人员将知道的,本发明可以用硬件或软件或硬件与软件的组合所产生。然而在一个实施例中,本发明被实现为软件。根据结合优选实施例公开的发明性原理所述的系统或方法可以在单一计算机系统中产生,该单一计算机系统具有用于实施所描述或要求保护的各个功能或步骤的独立单元或装置,或具有合并了所公开或要求保护的功能或步骤的任一个的性能的一个或更多单元或装置;或者所述系统或方法可以被安排在分布式计算机系统中,该分布式计算机系统由本领域的普通技术人员已知的任意合适的装置互连。
根据结合优选实施例公开的发明性原理,本发明和本发明性原理不限于任何特定类型的计算机系统,而是如本领域的普通技术人员将知道的,可以与任意通用计算机一起使用,被安排为实施所描述的功能和所描述的方法步骤。如本领域的普通技术人员将知道的,所述计算机的操作如上面所描述的那样可以根据包含在媒体上的、用于该计算机的操作或控制的计算机程序。如本领域的普通技术人员将知道的,可以用于容纳或包含所述计算机程序产品的计算机媒体可以是例如嵌入式存储器的计算机的固定设备,或者可以在例如磁盘的便携式媒体上。
本发明不限于任何特定的计算机程序或逻辑或语言、或指令,而可以用本领域的技术人员已知的任何合适的程序、逻辑或语言、或指令来实现。在不限制所公开的发明的原理的情况下,任意计算系统可以至少包括计算机可读媒体,其允许计算机从该计算机可读媒体读取数据、指令、消息或消息分组、或其它计算机可读信息的。所述计算机可读媒体可以包括例如ROM、闪存、软盘、磁盘驱动存储器、CD-ROM和其它永久存储装置的非易失性存储器。另外,计算机可读媒体例如可以包括例如RAM、缓冲器、高速缓冲存储器和网络电路的易失性存储装置。
此外,所述计算机可读媒体可以包括例如网络链路和/或网络接口的暂时状态媒体中的计算机可读信息,其中,所述暂时状态媒体包括允许计算机读取所述计算机可读信息的有线网络或无线网络。
尽管已公开了本发明的特定实施例,但本领域的普通技术人员应当理解,在不脱离本发明的精神和范围的情况下,可以对所述特定实施例做出改变。因此,本发明的范围将不限于所述特定实施例,以及可以预期,权利要求覆盖了本发明的范围内的任意和所有所述应用、修改和实施例。
Claims (14)
1.一种在大规模并行处理系统中预留资源的方法,所述方法在包括调度器的信息处理节点上,所述信息处理节点通信地耦合到数据库和所述大规模并行处理系统,所述方法包括:
接收用于预留大规模并行处理系统中的至少一个资源的保留请求,其中,所述大规模并行处理系统包括计算节点、基本分区、交换机、线缆和节点卡;
确定关联于所述保留的保留类型,其中,所述保留类型是以下中的至少一个:
计算节点数量;
基本分区列表;
特定形状配置;
特定作业;以及
特定分区;
基于所述保留类型生成一组需求;
识别用于满足所述一组需求的一组资源;以及
预留所述一组资源。
2.根据权利要求1所述的方法,进一步包括:
确定所述保留是否包括对要被预留的前端节点的请求;以及
响应于所述保留包括所述请求,更新所述一组需求为包括所述前端节点。
3.根据权利要求1所述的方法,其中,所述一组资源在保留开始时刻和所述保留的整个持续期间满足所述一组需求。
4.根据权利要求1所述的方法,其中,所述识别一组资源进一步包括:
将所述一组资源中的每个资源标明为可用;
确定所述资源中的任一个是否在关联于所接收的保留请求的所请求时间段期间被分配给了至少一个其它保留;
响应于至少一个资源在所述请求时间段期间被分配给了至少一个其它保留,将所述至少一个资源标明为不可用;以及
将被标明为可用的所有资源分配给所述保留请求。
5.根据权利要求1所述的方法,进一步包括:
在所述大规模并行处理系统中调度关联于所述保留的作业。
6.根据权利要求5所述的方法,其中,所述调度进一步包括:
从多个资源中识别出所述一组资源,所述一组资源关联于所述作业;
标明关联于所述一组资源中的每个资源的包括标记;
确定重叠保留是否存在,其中,所述重叠保留与关联于所述作业的时间段重叠;
响应于所述重叠保留存在,识别作为所述重叠保留的一部分的、关联于所述作业的每个资源;
标明关联于每个所识别的资源的排除标记;以及
通过具有已标明的所述包括标记的资源调度所述作业。
7.根据权利要求1所述的方法,进一步包括:
确定关联于所述保留的作业是否是大规模并行计算作业;
响应于所述作业是大规模并行计算作业,确定关联于所述作业的保留是否包括大规模并行计算资源;
响应于所述保留具有大规模并行计算资源,允许所述作业被绑定到所述保留;
响应于所述作业不是大规模并行计算作业,确定关联于所述作业的保留是否包括大规模并行计算资源;以及
响应于所述保留具有大规模并行计算资源,允许所述作业被绑定到所述保留。
8.一种在大规模并行处理系统中预留资源的信息处理系统,所述信息处理系统包括:
配置为接收用于预留大规模并行处理系统中的至少一个资源的保留请求的装置,所述大规模并行处理系统包括计算节点、基本分区、交换机、线缆和节点卡;
配置为确定关联于所述保留的保留类型的装置,其中,所述保留类型是以下中的至少一个:
计算节点数量;
基本分区列表;
特定形状配置;
特定作业;以及
特定分区;
配置为基于所述保留类型生成一组需求的装置;
配置为识别用于满足所述一组需求的一组资源的装置;以及
配置为预留所述一组资源的装置。
9.根据权利要求8所述的信息处理系统,其中,所述信息处理系统进一步包括:
配置为确定所述保留是否包括对要被预留的前端节点的请求的装置;以及
配置为响应于所述保留包括所述请求,更新所述一组需求为包括所述前端节点的装置。
10.根据权利要求8所述的信息处理系统,其中,所述一组资源在保留开始时刻和所述保留的整个持续时间期间满足所述一组需求。
11.根据权利要求8所述的信息处理系统,其中,所述配置为识别用于满足所述一组需求的一组资源的装置进一步包括:
配置为将所述一组资源中的每个资源标明为可用的装置;
配置为确定所述资源中的任一个是否在关联于所接收的保留请求的所请求时间段期间被分配给了至少一个其它保留的装置;
配置为响应于至少一个资源在所述请求时间段期间被分配给了至少一个其它保留,将所述至少一个资源标明为不可用的装置;以及
配置为将被标明为可用的所有资源分配给所述保留请求的装置。
12.根据权利要求8所述的信息处理系统,其中,所述信息处理装置进一步包括:
配置为在所述大规模并行处理系统中调度关联于所述保留的作业的装置。
13.根据权利要求12所述的信息处理系统,其中,所述配置为在所述大规模并行处理系统中调度关联于所述保留的作业的装置进一步包括:
配置为从多个资源中识别出所述一组资源的装置,所述一组资源关联于所述作业;
配置为标明关联于所述一组资源中的每个资源的包括标记的装置;
配置为确定重叠保留是否存在,其中,所述重叠保留与关联于所述作业的时间段重叠的装置;
配置为响应于所述重叠保留存在,识别作为所述重叠保留的一部分的、关联于所述作业的每个资源的装置;
配置为标明关联于每个所识别的资源的排除标记的装置;以及
配置为通过具有已标明的所述包括标记的资源调度所述作业的装置。
14.根据权利要求8所述的信息处理系统,其中,所述信息处理装置进一步包括:
配置为确定关联于所述保留的作业是否是大规模并行计算作业的装置;
配置为响应于所述作业是大规模并行计算作业,确定关联于所述作业的保留是否包括大规模并行计算资源的装置;
配置为响应于所述保留具有大规模并行计算资源,允许所述作业被绑定到所述保留的装置;
配置为响应于所述作业不是大规模并行计算作业,确定关联于所述作业的保留是否包括大规模并行计算资源的装置;以及
配置为响应于所述保留具有大规模并行计算资源,允许所述作业被绑定到所述保留的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/553,511 US7716336B2 (en) | 2006-04-28 | 2006-10-27 | Resource reservation for massively parallel processing systems |
US11/553,511 | 2006-10-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101169742A CN101169742A (zh) | 2008-04-30 |
CN101169742B true CN101169742B (zh) | 2011-02-02 |
Family
ID=39390376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101675733A Expired - Fee Related CN101169742B (zh) | 2006-10-27 | 2007-10-26 | 用于大规模并行处理系统的资源保留 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101169742B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8737407B2 (en) * | 2009-06-22 | 2014-05-27 | Citrix Systems, Inc. | Systems and methods for distributed hash table in multi-core system |
CN107515784B (zh) * | 2016-06-16 | 2021-07-06 | 阿里巴巴集团控股有限公司 | 一种在分布式系统中计算资源的方法与设备 |
-
2007
- 2007-10-26 CN CN2007101675733A patent/CN101169742B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101169742A (zh) | 2008-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104618693B (zh) | 一种基于云计算的监控视频在线处理任务管理方法及系统 | |
US9792155B2 (en) | Dynamic job processing based on estimated completion time and specified tolerance time | |
Buyya et al. | Gridsim: A toolkit for the modeling and simulation of distributed resource management and scheduling for grid computing | |
US7716336B2 (en) | Resource reservation for massively parallel processing systems | |
US20080294872A1 (en) | Defragmenting blocks in a clustered or distributed computing system | |
US20090031312A1 (en) | Method and Apparatus for Scheduling Grid Jobs Using a Dynamic Grid Scheduling Policy | |
CN110162388A (zh) | 一种任务调度方法、系统及终端设备 | |
CN111464659A (zh) | 节点的调度、节点的预选处理方法、装置、设备及介质 | |
CN112416585A (zh) | 面向深度学习的gpu资源管理与智能化调度方法 | |
Ding et al. | Kubernetes-oriented microservice placement with dynamic resource allocation | |
CN115543615A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN115134371A (zh) | 包含边缘网络算力资源的调度方法、系统、设备及介质 | |
US20120059938A1 (en) | Dimension-ordered application placement in a multiprocessor computer | |
JPH10301604A (ja) | 資材所要量計算装置および資材所要量計算方法 | |
CN114721824A (zh) | 一种资源分配方法、介质以及电子设备 | |
CN101169742B (zh) | 用于大规模并行处理系统的资源保留 | |
CN117435324A (zh) | 基于容器化的任务调度方法 | |
CN115964176B (zh) | 云计算集群调度方法、电子设备和存储介质 | |
JP5969340B2 (ja) | リソース管理システム、リソース管理方法及びリソース管理プログラム | |
CN111309488A (zh) | 无人机集群的计算资源共享方法与系统及计算机存储介质 | |
CN115543577B (zh) | 基于协变量的Kubernetes资源调度优化方法、存储介质及设备 | |
CN101299758B (zh) | 一种大规模事件处理的规则群组系统及处理方法 | |
CN111784029A (zh) | 一种雾节点资源分配方法 | |
CN112416538A (zh) | 一种分布式资源管理框架的多层次架构和管理方法 | |
US20240160487A1 (en) | Flexible gpu resource scheduling method in large-scale container operation environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110202 Termination date: 20151026 |
|
EXPY | Termination of patent right or utility model |