[发明专利]用于在分布式计算系统中管理多个作业的方法和装置有效
申请号: | 201310267938.5 | 申请日: | 2013-06-28 |
公开(公告)号: | CN104252391B | 公开(公告)日: | 2017-09-12 |
发明(设计)人: | 贺军;李广磊;柴华;郭传伟;李荣 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;H04L29/08 |
代理公司: | 北京市金杜律师事务所11256 | 代理人: | 酆迅,李峥宇 |
地址: | 美国纽*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 分布式 计算 系统 管理 作业 方法 装置 | ||
技术领域
本发明的各实施方式涉及分布式计算(Distributed Computing),更具体地,涉及用于在分布式计算系统中管理多个作业(Job)的方法和装置。
背景技术
随着计算机硬件和软件技术的发展,在单独计算机的计算性能提高的同时,计算机集群(Cluster)的出现提供了更加高效的数据计算能力。基于分布式计算技术,可以将一个或者多个作业划分为可以并行执行的多个任务,并将这些任务分别分配至分布式计算系统中的多个计算节点处的一个或者多个处理单元(例如,处理器核)上执行。分布式计算技术的性能在很大程度上依赖于如何调度和管理这些任务,可以通过在各个任务之间传输各种类型的控制数据来实现对任务进行调度和管理。
目前,分布式计算技术的提供者已经开发出可以支持分布式计算的各种基础函数库,这些函数库中定义了用于调度和管理并行任务的各种基础函数。因而各个行业的独立软件提供者(Independent Software Vender,ISV)不必分别重复开发支持分布式计算的基本功能。而是,独立软件提供者可以通过调用基础函数库中的函数,来开发适合于自身行业的应用程序。例如,天气预报领域的软件提供者可以基于基础函数库来编写用于天气预报的应用程序,数据挖掘领域的软件提供者可以基于该函数库来编写用于进行数据分析的应用程序,等等。
通常,现有的分布式计算系统的复杂性导致往往需要多个应用相互配合才能完成一个计算作业。一个大的计算作业的各个子作业之间相互依赖关系,并具有时间上的先后关系。通常,这些子作业一起构成了一个工作流。在工作流中,可能会涉及来自一个或者多个独立软件提供者的多个应用程序。通常,用户并不具有这些应用程序的源代码,而是只具有可执行代码;因而用户只能通过调用可执行代码来执行这些应用程序,而并不能针对各个应用程序的整体性能进行进一步优化。
在每个应用程序中,通常会包括与任务管理和调度相关联的任务,例如,任务Allocate可以在应用程序运行初期为应用程序中包括的多个任务分配各种资源,任务Release可以在应用程序运行的结束阶段释放所分配的各种资源。假设应用程序App-A和App-B串行地执行,则可能会出现如下情况:已经被应用程序App-A的释放任务Release-A释放的各种资源又由应用程序App-B的分配任务Allocate-B分配给了应用程序App-B。应当注意,由于诸如资源分配和释放的任务本身并不直接完成应用程序中的计算量,而是用于辅助应用程序的执行,因而这些管理和调度任务的在整个应用程序中所占的执行时间的比例将会成为影响应用程序运行效率的一项重要因素。
资源的分配和释放所占用的时间将会随着分布式计算系统中计算节点的数量的增加而增加。随着分布式计算系统的发展,计算节点的数量级已经从数十个增加至成百上千甚至更高,这就导致分布式计算系统中作业的运行效率在一定程度上出现下降的趋势。此时,如何提高分布式计算系统的运行效率成为目前的一个研究热点。
发明内容
因而,期望能够开发一种能够在分布式计算系统中管理多个作业的技术方案,并且期望该技术方案能够在无需获取各个作业的源代码的情况下,对多个作业进行管理进而提高该多个作业在分布式计算系统中的运行效率。为此,本发明的各个实施方式提供了用于在分布式计算系统中管理多个作业的方法和装置。
根据本发明的一个方面,提供了一种用于在分布式计算系统中管理多个作业的方法,包括:响应于接收到多个作业,将多个作业中的每个作业所包括的多个任务划分为配置任务和计算任务,其中多个作业中的每个作业是可执行程序;将与多个作业相关联的配置任务组合为一超级配置任务;基于超级配置任务和计算任务来将多个作业整合为一超级作业;以及利用分布式计算环境中的多个计算节点,执行包括在超级作业中的超级配置任务和计算任务。
根据本发明的一个方面,多个作业的配置任务是相同的任务。
根据本发明的一个方面,可执行程序是基于分布式计算基础函数库来编写的。
根据本发明的一个方面,提供了一种用于在分布式计算系统中管理多个作业的装置,包括:划分模块,配置用于响应于接收到多个作业,将多个作业中的每个作业所包括的多个任务划分为配置任务和计算任务,其中多个作业中的每个作业是可执行程序;组合模块,配置用于将与多个作业相关联的配置任务组合为一超级配置任务;整合模块,配置用于基于超级配置任务和计算任务来将多个作业整合为一超级作业;以及执行模块,配置用于利用分布式计算环境中的多个计算节点,执行包括在超级作业中的超级配置任务和计算任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310267938.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种能快速吹气烘干的茶叶烘干装置
- 下一篇:钢丝收线在线检测装置