一种计算机机群作业调度方法和系统的制作方法

文档序号:7721472阅读:188来源:国知局
专利名称:一种计算机机群作业调度方法和系统的制作方法
技术领域
本发明涉及计算机技术,特别是指一种计算机机群作业调度方法和系统。
背景技术
随着对计算需求的日益扩大,用于计算的计算机机群的规模也日益增长,基于无 盘工作方式的机群成为高性能机群发展的一种必然趋势,在无盘机群中,所有计算结点间 的通信、数据访问和存取等操作均通过交换机进行,交换机的数据吞吐量会非常大,端口间 的交互会非常频繁,并且如果机群规模比较庞大,则计算结点有成百上千个,这些结点通过 多个边缘交换机以及核心交换机实现连接,形成的网络的拓扑结构异常复杂,因此在跨交 换机的结点之间传输数据会明显延时。现有技术中,在分配作业业务时,通常不考虑机群中各结点间的网络互联拓扑,只 考虑结点本身的资源忙闲程度以及作业对这些资源的需求强弱来给作业分配计算结点。发明人在实现本发明的过程中,发现现有技术中至少存在如下问题在无盘工作 方式的机群中,仅考虑结点本身的资源以分配作业,而不考虑连接结点的端口带宽和复杂 的网络结构导致的数据传输的延迟性或网络阻塞造成的作业运行效率差等一系列问题,这 种分配策略已不能满足大规模计算过程中遇到的数据传输的延迟性或网络阻塞等问题,也 无法最大限度地利用可用的计算资源以实现利益最大化。

发明内容
本发明的目的是提供一种计算机机群作业调度方法和系统,用于解决现有技术 中,为结点分配作业的分配策略已不能满足大规模计算过程中遇到的数据传输的延迟性或 网络阻塞等问题,也无法最大限度地利用可用的计算资源以实现利益最大化的问题。一种计算机机群作业调度系统,包括至少一个计算单元块,每一个计算单元块均 与核心交换机连接,用于完成作业和/或传输数据的任务;核心交换机,与所述计算单元块 连接,用于采集所述计算单元块的工作参数,对每一个工作参数设置一个权值,根据所述工 作参数以及对应的权值编制各个计算单元块对应的负载平衡指数;按照预定策略,根据所 述负载平衡指数为计算单元块分配作业和/或传输数据的任务。上述系统中,所述计算单元块中包括边缘交换机,与至少一个计算结点连接,并 与所述核心交换机连接,用于接收来自所述核心交换机的作业;将作业分解为多个具体作 业,为所述计算单元块中的各个计算结点分配所述具体作业;计算结点,用于完成被分配到 的具体作业。上述系统中,所述计算单元块中包括存储区域网络交换机,与多个I/O结点连 接,并与所述核心交换机连接,用于接收来自所述核心交换机的传输任务;将传输任务分解 为多个具体传输任务,为所述计算单元块中的各个所述I/O结点分配所述具体传输任务; I/O结点,用于传输数据。上述系统中,所述工作参数具体为所述边缘交换机与所述计算结点连接的端口的实时流量、计算结点CPU使用情况、计算结点CPU禾Ij用率、计算结点内存使用率、计算结点 磁盘使用率中的一种或多种工作参数的组合;或者,所述工作参数具体为所述存储区域 网络交换机与所述I/O结点连接的端口的实时流量、I/O结点CPU使用情况、I/O结点CPU 利用率、I/O结点内存使用率、I/O结点磁盘使用率中的一种或多种工作参数的组合;所述 负载平衡指数具体为由选定的一种或多种工作参数与对应权值的乘积作为因子,各个因 子的和。上述系统中,所述预定策略包括在整个机群中,按照第一负载平衡指数由小到大 的顺序为作业正式分配计算单元块,所述第一负载平衡指数用于描述所述计算单元块的负 载情况;在一个计算单元块中,按照第二负载平衡指数由小到大的顺序为作业正式分配计 算结点或I/O结点,所述第二负载平衡指数用于描述所述计算单元块中的计算结点或I/O 结点的负载情况。一种计算机机群作业调度方法,应用在计算机作业调度系统中,包括采集计算单 元块的工作参数,对每一个工作参数设置一个权值,根据所述工作参数以及对应的权值,编 制各个计算单元块对应的负载平衡指数;按照预定策略,根据所述负载平衡指数为计算单 元块分配作业;由计算单元块完成计算和/或传输数据的任务。上述方法中,根据所述负载平衡指数为计算单元块分配作业,之后还包括由计算 单元块接收来自核心交换机的作业任务;将作业任务分解为多个具体作业,为所述计算单 元块中的各个计算结点分配具体作业。上述方法中,根据所述负载平衡指数为计算单元块分配作业,之后还包括接收来 自核心交换机的传输任务;将传输任务分解为多个具体传输任务,为所述计算单元块中的 各个I/O结点分配具体传输任务。上述方法中,所述工作参数为边缘交换机与计算结点连接的端口的实时流量、计 算结点CPU使用情况、计算结点CPU利用率、计算结点内存使用率、计算结点磁盘使用率中 的一种或多种工作参数的组合;或者,所述工作参数具体为所述存储区域网络交换机与 所述I/O结点连接的端口的实时流量、I/O结点CPU使用情况、I/O结点CPU利用率、I/O结 点内存使用率、I/O结点磁盘使用率中的一种或多种工作参数的组合;由选定的一种或多 种工作参数与对应权值的乘积作为因子,各个因子的和作为所述负载平衡指数。上述方法中,所述预定策略包括在整个机群中,按照第一负载平衡指数由小到大 的顺序为作业正式分配计算单元块,所述第一负载平衡指数用于描述所述计算单元块的负 载情况;在一个计算单元块中,按照第二负载平衡指数由小到大的顺序为作业正式分配计 算结点或I/O结点,所述第二负载平衡指数用于描述所述计算单元块中的计算结点或I/O 结点的负载情况。应用上述技术方案,将作业分配给多个计算单元块,对于结点规模比较大的机群 系统而言降低了作业系统管理员的工作量,提高了作业管理系统的运行效率,避免了某个 端口过于繁忙或空闲而导致的跨交换机端口数据交互的堵塞性;不仅考虑了结点本身的资 源负载情况,并且考虑数据传输过程中的网络延时性,大大提高了系统资源利用率、使分配 策略更加合理。


图1为本发明实施例一种计算机作业调度系统结构示意图一;图2为本发明实施例一种计算机作业调度系统结构示意图二 ;图3为本发明实施例工作过程流程图一;图4为本发明实施例工作过程流程图二。
具体实施例方式为使本发明的目的、技术特征和实施效果更加清楚,下面将结合附图及具体实施 例对本发明的技术方案进行详细描述。本发明提供的实施例中,提供一种计算机机群作业调度系统,如图1所示,包括计算单元块101,每一个计算单元块101均与核心交换机(InfiniBand交换 机)102连接,用于完成计算和/或传输数据的任务。核心交换机102,用于对于一个计算单元块101,通过与该计算单元块101的连接 采集该计算单元块101的工作参数,对每一个工作参数设置一个权值,根据所述工作参数 以及对应的权值,编制各个计算单元块101对应的负载平衡指数;按照预定策略,根据所述 负载平衡指数为计算单元块101分配作业。应用上述技术方案,将作业分配给多个计算单元块101,对于结点规模比较大的机 群系统而言降低了作业系统管理员的工作量,提高了作业管理系统的运行效率,避免了某 个端口过于繁忙或空闲而导致的跨交换机端口数据交互的堵塞性;不仅考虑了结点本身的 资源负载情况,并且考虑数据传输过程中的网络延时性,大大提高了系统资源利用率、使分 配策略更加合理。为进一步优化上述技术方案,采集该计算单元块101的工作参数包括端口实时 流量、CPU使用情况、CPU利用率、内存使用率、磁盘使用率等,可以是其中的一个或多个的 组合。如图2所示,计算单元块101中包括边缘交换机103,以及计算结点104 ;其中,边缘交换机103,与若干个计算结点104连接,并与核心交换机102连接,用于接收 来自核心交换机102的块作业;将块作业分解为若干个具体作业,为当前的计算单元块101 中的各个计算结点104分配具体作业,并实现当前的计算单元块101中的各个计算结点104 之间的作业调度。计算结点104,用于完成具体作业。在无盘机群系统中,根据提供的技术方案中,可以看出,核心交换机102与若干个 计算单元块101连接,根据各个计算单元块101的第一负载平衡指数,将作业分配给计算单 元块101,为表示区别,计算单元块101所接到的作业称为块作业;实际上,是由计算单元块 101中的边缘交换机103接到块作业,将块作业分解成若干个具体作业,根据各个计算结点 104的第二负载平衡指数将具体作业再次下发给不同的计算结点104。为揭示工作原理,如图3所示,对所涉及到的各个单元模块的工作过程描述如下工作参数设定为边缘交换机103端口流量,计算结点104的资源负载,及计算结 点104的网络位置,综合这三种权衡指标,将作业分配到具体的计算结点104负载。步骤201,按照机群系统中边缘交换机103的个数对所有计算结点104分块Block
6形成若干个计算单元块101 ;—个计算单元块101中包括一个边缘交换机103,若干个计 算结点104。步骤202,根据作业确定计算结点104本身的资源负载的权值,边缘交换机103端 口流量的权值,边缘交换机103端口流量的权值。步骤203,通过计算获取各计算结点104的第二负载平衡指数,从而计算出每个计 算单元块101的第一负载平衡指数,作为衡量该计算单元块101整体工作繁忙程度的标准。步骤204,根据每一计算单元块101的第一负载平衡指数,确定整个系统的负载平 衡阈值。步骤205,按照计算单元块101的第一负载平衡指数递增的顺序为作业分配计算 单元块101,以及计算单元块101中的计算结点104。且允许分配的计算单元块101的第一 负载平衡指数以及计算结点104的第二负载平衡指数均要小于负载平衡阈值。由于跨边缘交换机103的计算结点104之间数据的交互通过核心交换机102进 行,数据在核心交换机102内部的滞留时间以及核心交换机102和边缘交换机103之间的 切换时间,经测试其延时要远远小于等待一个计算单元块101中的计算结点104运行作业 的延时。采用本方案之后,平衡了无盘系统中各边缘交换机103本身的负载,避免了某个 边缘交换机103的端口过于繁忙或空闲而导致的跨交换机端口数据交互出现堵塞;根据边 缘交换机103分块以平衡资源,对于结点规模比较大的机群系统降低了作业系统管理员的 工作量,提高了作业管理系统的运行效率。上述分配策略不仅考虑了计算结点104本身的 资源负载情况,且把边缘交换机103端口的实时流量也作为一个分配的权衡指标,并且考 虑网络延时性,优先同边缘交换机103再考虑跨边缘交换机103,提高了系统资源利用率、 使分配策略更加合理。对上述技术方案进行拓展,由于机群系统中并不仅仅存在计算结点104,也可以存 在其他类型的结点,如图2所示,包括计算单元块101,每一个计算单元块101均与核心交换机102连接,用于完成计算 和/或传输数据的任务。核心交换机102,用于对于一个计算单元块101,通过与该计算单元块101的连接 采集该计算单元块101的工作参数,对每一个工作参数设置一个权值,根据所述工作参数 以及对应的权值,编制各个计算单元块101对应的负载平衡指数;按照预定策略,根据所述 负载平衡指数为计算单元块101分配作业。计算单元块101中包括边缘交换机103,以及计算结点104 ;其中,边缘交换机103,与若干个计算结点104连接,并与核心交换机102连接,用于接收 来自核心交换机102的块作业;将块作业分解为若干个具体作业,为当前的计算单元块101 中的各个计算结点104分配具体作业,并实现当前的计算单元块101中的各个计算结点104 之间的作业调度。计算结点104,用于完成具体作业。I/O结点105,用于传输数据。存储区域网络交换机(SAN,Storage Area Network) 106,与I/O结点105连接,磁盘阵列107,与存储区域网络交换机106连接,
管理端108,与核心交换机102连接,或者嵌入核心交换机102,用于提供交互界在工作过程中,包括步骤301,管理端108通过无盘机群中核心交换机102提供的应用程序编程接口 (API, Application Programming Interface),获取整个机群的拓扑结构,确定计算结点 104、边缘交换机103以及核心交换机102之间的连接关系。为机群中的边缘交换机103编号1 N ;每一个计算单元块101中含有一个边缘交 换机103,该边缘交换机103与若干个计算结点104连接,从而把计算结点104划分到1 N个计算单元块101中。步骤302,管理端108启动一个父进程,该父进程启动并管理N个服务线程,一个服 务线程对应一个边缘交换机103,负责实现该边缘交换机103上各计算结点104的数据通信 以及计算该计算单元块101的第一负载平衡指数、第二负载平衡指数等相关操作。步骤303,设置机群中计算结点104的第二负载平衡指数;具体包括连接计算结 点104的端口实时流量、CPU使用情况、CPU利用率、内存使用率、磁盘使用率中的一种或多 种组合;按照作业对各种资源需求由高到低为各平衡指标设置从大到小的权值,例如作业 对CPU利用率需求最高,则设置CPU利用率的权值最高;管理端108各服务线程通过SOCKET 把第二负载平衡指数及权值发送给位于计算单元块101上的作业管理系统客户端。步骤304,所述作业管理系统客户端收到管理端108发送来的第二负载平衡指数及 权值后,计算第二负载平衡指数的数值,然后把该数值发送给管理端108对应的服务线程。步骤305,管理端108的服务线程在收到所对应(管辖)的计算单元块101中的所 有计算结点104发送过来的数值后,计算本计算单元块101的第一负载平衡指数;同时,管 理端108父进程根据所有服务线程计算的各计算单元块101的第一负载平衡指数计算整个 机群系统的第一阈值。步骤306,管理端108的父进程在得到各组数据后,按照计算单元块101的第一负 载平衡指数由小到大的顺序为作业预分配计算单元块101中的计算结点104,分配规则如 下,但不限于以下规则规则(1),在整个机群中,优先分配第一负载平衡指数小于第一阈值的计算单元块 101。规则O),在一个计算单元块101中,优先分配第二负载平衡指数小于第二阈值的 计算结点104。规则(3),若位于第一负载平衡指数最小的计算单元块101中的计算结点104, 且第二负载平衡指数小于第二阈值的个数大于等于作业要求分配的计算结点104总数, 则在这些计算结点104中按照第二负载平衡指数由小到大的顺序为作业正式分配计算结 点104,开始运行作业,此时所有被分配运行作业的计算结点104连接在同一个边缘交换机 103 上。规则,若位于第一负载平衡指数最小的计算单元块101中的计算结点104,且 第二负载平衡指数小于第二阈值的个数小于作业要求分配的计算结点104总数;则,分配 位于第一负载平衡指数次小的计算单元块101中的计算结点104,且第二负载平衡指数小于第二阈值的计算结点104,并且,仍然按照第二负载平衡指数由小到大的顺序;若第一负 载平衡指数次小的计算单元块101中的计算结点104依然不够分配,则在第一负载平衡指
数第三小的计算单元块101中分配,......,第一负载平衡指数第η小的计算单元块101中
分配,方法类似,此时所有被分配运行的计算结点104跨多个边缘交换机103实现通信。需要说明的是,分配规则并不局限于上述的规则(1) 规则(4),由于作业优先级 的不同,以及计算单元块101的优先级也可能不同,因此,不同优先级的作业可能分配给不 同优先级的计算单元块101,这包括作业的优先级分为a、b和c ;计算单元块101的优先级分为A、B和C ;管理端108在统计计算单元块101的过程中,根据第一负载平衡指数由小到大的 顺序排列计算单元块101,但是,由于各个计算单元块101的优先级不同,因此,在执行规则 (3)和规则的时候,并不必然从第一负载平衡指数最小的计算单元块101开始;例如, 作业优先级为b,但是第一负载平衡指数最小的计算单元块101的优先级为A,由于优先级A 高于优先级b,因此不再为该作业分配第一负载平衡指数最小的计算单元块101,而是根据 第一负载平衡指数从小到大的顺序,寻找优先级B或者优先级C的计算单元块101进行分 配。上述技术方案中,第一负载平衡指数用于衡量不同的计算单元块101的负载情 形,考虑到地理位置的差异,不同的计算单元块101位于不同的地理位置处,由于在一个国 家或者地区,往往计算单元块101集中在几个大城市,例如在一个城市中,存在多个计算单 元块101,则这几个计算单元块101合在一起,用区域负载平衡指数进行描述。则,在分配计 算结点104的过程中,可以根据区域负载平衡指数先指定位于同一个区域(城市)的多个 计算单元块101,之后再根据规则(1) 规则G),分配不同计算单元块101中的计算结点 104。图2中,不仅存在计算结点104,而且还存在其他类型的器件,例如1/0结点105, 用于传输数据。一个存储区域网络交换机106与多个I/O结点105连接,形成一个计算单 元块101,则管理端108在为当前的作业分配I/O结点105的过程中,仍然需要根据对应的 负载平衡指数进行分配。管理端108的父进程在得到各组数据后,按照计算单元块101的第一流量平衡指 数由小到大的顺序为作业预分配计算单元块101中的I/O结点105,分配规则如下,但不限 于以下规则规则①,在整个机群中,优先分配第一流量平衡指数小于第一流量阈值的计算单 元块101。规则②,在一个计算单元块101中,优先分配第二流量平衡指数小于第二流量阈 值的I/O结点105。规则③,若位于第一流量平衡指数最小的计算单元块101中的I/O结点105,且第 二流量平衡指数小于第二流量阈值的个数大于等于作业要求分配的I/O结点105总数,则 在这些I/O结点105中按照第二流量平衡指数由小到大的顺序为作业正式分配I/O结点 105,开始运行作业,此时所有被分配运行作业的I/O结点105连接在同一个边缘交换机103上。规则④,若位于第一流量平衡指数最小的计算单元块101中的I/O结点105,且第二流量平衡指数小于第二流量阈值的个数小于作业要求分配的I/O结点105总数;则,分配 位于第一流量平衡指数次小的计算单元块101中的I/O结点105,且第二流量平衡指数小于 第二流量阈值的I/O结点105,并且,仍然按照第二流量平衡指数由小到大的顺序;若第一 流量平衡指数次小的计算单元块101中的I/O结点105依然不够分配,则在第一流量平衡
指数第三小的计算单元块101中分配,......,第一流量平衡指数第η小的计算单元块101
中分配,方法类似,此时所有被分配运行的I/O结点105跨多个边缘交换机103实现通信。上述规则无法做到穷举,因此,本领域技术人员应当理解的是,根据实际情形的不 同,可以对上述规则进行适当的修改,使得修改之后的分配规则能够满足实际需要,但是, 只要其技术方案应用了类似负载平衡指数的技术特征,则应当认为其与本申请的发明思想 是一致的。本发明的实施例具有以下有益效果,将作业分配给多个计算单元块,对于结点规 模比较大的机群系统而言降低了作业系统管理员的工作量,提高了作业管理系统的运行效 率,避免了某个端口过于繁忙或空闲而导致的跨交换机端口数据交互的堵塞性;不仅考虑 了结点本身的资源负载情况,并且考虑数据传输过程中的网络延时性,大大提高了系统资 源利用率、使分配策略更加合理。应当说明的是,以上实施例仅用以说明本发明的技术方案而非限制,所有的参数 取值可以根据实际情况调整,且在该权利保护范围内。本领域的普通技术人员应当理解,可 以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神范围,其 均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种计算机机群作业调度系统,其特征在于,包括至少一个计算单元块,每一个计算单元块均与核心交换机连接,用于完成作业和/或 传输数据的任务;核心交换机,与所述计算单元块连接,用于采集所述计算单元块的工作参数,对每一个 工作参数设置一个权值,根据所述工作参数以及对应的权值编制各个计算单元块对应的负 载平衡指数;按照预定策略,根据所述负载平衡指数为计算单元块分配作业和/或传输数 据的任务。
2.根据权利要求1所述的系统,其特征在于,所述计算单元块中包括边缘交换机,与至少一个计算结点连接,并与所述核心交换机连接,用于接收来自所述 核心交换机的作业;将作业分解为多个具体作业,为所述计算单元块中的各个计算结点分 配所述具体作业;计算结点,用于完成被分配到的具体作业。
3.根据权利要求1所述的系统,其特征在于,所述计算单元块中包括存储区域网络交换机,与多个I/O结点连接,并与所述核心交换机连接,用于接收来自 所述核心交换机的传输任务;将传输任务分解为多个具体传输任务,为所述计算单元块中 的各个所述I/O结点分配所述具体传输任务; I/O结点,用于传输数据。
4.根据权利要求2或3所述的系统,其特征在于,所述工作参数具体为所述边缘交换机与所述计算结点连接的端口的实时流量、计算 结点CPU使用情况、计算结点CPU利用率、计算结点内存使用率、计算结点磁盘使用率中的 一种或多种工作参数的组合; 或者,所述工作参数具体为所述存储区域网络交换机与所述I/O结点连接的端口的实时流 量、I/O结点CPU使用情况、I/O结点CPU利用率、I/O结点内存使用率、I/O结点磁盘使用 率中的一种或多种工作参数的组合;所述负载平衡指数具体为由选定的一种或多种工作参数与对应权值的乘积作为因 子,各个因子的和。
5.根据权利要求4所述的系统,其特征在于,所述预定策略包括在整个机群中,按照第一负载平衡指数由小到大的顺序为作业正式分配计算单元块, 所述第一负载平衡指数用于描述所述计算单元块的负载情况;在一个计算单元块中,按照第二负载平衡指数由小到大的顺序为作业正式分配计算结 点或I/O结点,所述第二负载平衡指数用于描述所述计算单元块中的计算结点或I/O结点 的负载情况。
6.一种计算机机群作业调度方法,应用在计算机作业调度系统中,其特征在于,包括 采集计算单元块的工作参数,对每一个工作参数设置一个权值,根据所述工作参数以及对应的权值,编制各个计算单元块对应的负载平衡指数;按照预定策略,根据所述负载平 衡指数为计算单元块分配作业;由计算单元块完成计算和/或传输数据的任务。
7.根据权利要求6所述的方法,其特征在于,根据所述负载平衡指数为计算单元块分配作业,之后还包括由计算单元块接收来自核心交换机的作业任务;将作业任务分解为多个具体作业,为 所述计算单元块中的各个计算结点分配具体作业。
8.根据权利要求6所述的方法,其特征在于,根据所述负载平衡指数为计算单元块分 配作业,之后还包括接收来自核心交换机的传输任务;将传输任务分解为多个具体传输任务,为所述计算 单元块中的各个I/O结点分配具体传输任务。
9.根据权利要求7或8所述的方法,其特征在于,所述工作参数为边缘交换机与计算结点连接的端口的实时流量、计算结点CPU使用 情况、计算结点CPU利用率、计算结点内存使用率、计算结点磁盘使用率中的一种或多种工 作参数的组合;或者,所述工作参数具体为所述存储区域网络交换机与所述I/O结点连接的端口的实时流 量、I/O结点CPU使用情况、I/O结点CPU利用率、I/O结点内存使用率、I/O结点磁盘使用 率中的一种或多种工作参数的组合;由选定的一种或多种工作参数与对应权值的乘积作为因子,各个因子的和作为所述负 载平衡指数。
10.根据权利要求9所述的方法,其特征在于,所述预定策略包括在整个机群中,按照第一负载平衡指数由小到大的顺序为作业正式分配计算单元块, 所述第一负载平衡指数用于描述所述计算单元块的负载情况;在一个计算单元块中,按照第二负载平衡指数由小到大的顺序为作业正式分配计算结 点或I/O结点,所述第二负载平衡指数用于描述所述计算单元块中的计算结点或I/O结点 的负载情况。
全文摘要
本发明提供一种计算机机群作业调度方法和系统,其中系统包括至少一个计算单元块,每一个计算单元块均与核心交换机连接,用于完成作业和/或传输数据的任务;核心交换机,与计算单元块连接,用于采集计算单元块的工作参数,对每一个工作参数设置一个权值,根据工作参数以及对应的权值编制各个计算单元块对应的负载平衡指数;按照预定策略,根据负载平衡指数为计算单元块分配作业和/或传输数据的任务。应用上述技术方案,将作业分配给多个计算单元块,对于结点规模比较大的机群系统而言降低了作业系统管理员的工作量,提高了作业管理系统的运行效率,避免了某个端口过于繁忙或空闲而导致的跨交换机端口数据交互的堵塞性,使分配策略更加合理。
文档编号H04L12/56GK102118297SQ20091024444
公开日2011年7月6日 申请日期2009年12月31日 优先权日2009年12月31日
发明者张静, 杨琪 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1