CN101576831A - 一种分布式计算系统及实现方法 - Google Patents
一种分布式计算系统及实现方法 Download PDFInfo
- Publication number
- CN101576831A CN101576831A CNA2008100370569A CN200810037056A CN101576831A CN 101576831 A CN101576831 A CN 101576831A CN A2008100370569 A CNA2008100370569 A CN A2008100370569A CN 200810037056 A CN200810037056 A CN 200810037056A CN 101576831 A CN101576831 A CN 101576831A
- Authority
- CN
- China
- Prior art keywords
- formation
- execution
- time
- input
- task
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 12
- 230000015572 biosynthetic process Effects 0.000 claims description 79
- 238000004364 calculation method Methods 0.000 claims description 19
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000012384 transportation and delivery Methods 0.000 claims description 2
- 238000007726 management method Methods 0.000 description 8
- 230000000875 corresponding effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种分布式计算系统,以输入类型-输入规模-输出类型-参数为参考依据,估算资源需求,从而进行任务调度。进一步,系统在收到作业时,根据预估的执行时间以及当前执行队列的情况,返回作业所属的队列。作业队列包括瞬时执行队列、及时执行队列、后台执行队列。
Description
技术领域
本发明涉及一种分布式计算系统,以输入类型-输入规模-输出类型-参数为参考依据,估算资源需求,从而进行任务调度,属于分布式计算领域。
背景技术
任务调度技术,在操作系统层面,有许多研究成果,以及实际运用的解决方案。但是,在分布式计算中,相关的研究成果,以及实际运用的解决方案并不多。
分布式计算,除了操作系统任务调度考虑的因素之外,还涉及网络通讯等特有的问题。在这个领域,通常采用负载均衡技术来处理并发的访问。并且,当前通行的负载均衡方案大都是以访问量作为均衡的决定依据,而不是以相对精确的计算资源占用量为决定依据的。对于网站,以及通常的业务系统来说,这是合理的,因为通常不同访问所占用的计算资源相差不大,而耗时的操作通常可以在系统启动时以及空闲时进行。
随着信息化程度的不断提高,实时分析的需求逐渐明显,并呈上升趋势。这一类系统,不同访问所占用的计算资源可能相差极大,基于访问量进行负载均衡的方案不能很好满足这类需求。
当前实际运用中的调度算法,通常是以增加计算资源利用率、缩短执行周期和多组作业的均衡推进等为目标。这对于大多数作业都可以在较短内时间完成或者专用于批作业的系统来说,是合适的。但是,即时分析系统,不同访问所占用的计算资源可能相差极大,并且花费大量计算资源的作业相对传统系统来说,要多得多。
发明内容
鉴于以上实际情况,本发明的目的在于提供一种分布式计算系统,以计算组件、输入元数据-输入规模-输入类型-输出类型-参数值为参考依据,估算资源需求,从而进行作业调度。其中,一个作业可以涉及具有执行次序的多个计算任务,一个计算任务是某个计算组件的实例,输入元数据是指输入数据的数据结构。这样,可以解决负载均衡方案以访问量作为均衡的决定依据,而不是以相对精确的计算资源占用量为决定依据的弊端。
对于批处理系统来说,系统对最终用户的响应时间不是非常关键。普通的非批处理系统,通常在设计时,可以预先为耗费资源的操作进行用户界面的特别处理,比如设计进度条、作业队列等。对于即时分析系统,设计时很难进行这类处理,因为相同的操作,由于输入规模的差异,可能导致较大的计算资源占用差异,而输入规模一般要运行时才知道。并且,这类处理手段的软硬件环境适应性较差。因此,本发明进一步提出,系统在收到作业时,除非能立即返回结果,否则立即返回预估的执行时间,以便客户端作相应的用户界面处理,比如显示进度条、提示用户已放入后台队列等。
鉴于即时分析系统的特殊性,本发明公开了一种便于估算计算任务资源需求的方法,每一个计算组件实现这样一个方法:参数包括输入口名-元数据的哈西表、输入口名-输入规模的哈西表、输入口名-输入类型的哈西表、输出类型的哈西表、参数-参数值的哈西表,返回值是资源需求。
为了便于实现计算组件,以及估算一个计算任务的资源需求,本发明提出了一个标准化计算组件输入/输出的数据类型方案。它要求输入包括元数据、表格、程序、模型四种类型;输出包括元数据、表格、程序、模型、报告和展示。其中,表格类型可以是一行一列的表格,也可以在列中包含表格;表格、程序、模型类型都带有指明其数据结构的元数据部分。
一个计算任务的资源需求,主要与输入元数据、输入规模、输入类型、输出类型、参数值相关,当输入不是表格时,输入规模可以不被考虑。因此,基于上述数据类型方案,输入规模就简化表示为表格的大小。计算组件的资源需求和元数据、参数、输入规模的关系,在计算组件实现时是可以确定的,也可以通过具体的运行历史总结出来。当只有元数据时,计算任务的资源需求几乎可以忽略;当输入包含表格时,计算资源需求与表格元数据和表格行数相关,有时还和参数有明显关系;当输入只包含程序时,计算资源需求通常与程序结构相关,但当输出也是程序时,通常计算任务的资源需求几乎可以忽略。一个作业通常包括多个任务,有时可能还有大量的网络传输。因此,本发明提出了一个计算作业的计算资源需求的方法:
(a)如果存在计算任务需要从客户端或另一服务器取得表格输入,则增加相应的网络传输资源需求,需求总量是与传输规模相关;
(b)如果存在计算任务需要输出表格到客户端,则增加相应的网络传输资源需求,需求总量是与传输规模相关;
(c)上述资源需求的和,加上作业中每一个任务的资源需求,构成这个作业的资源需求。
最后,本发明公开了一种实现本系统的作业调度方案:
(a)估算作业的计算资源需求;
(b)如果作业能够瞬时完成,则优先加入瞬时执行队列,如果瞬时执行队列已满,则优先加入及时执行队列,如果及时执行队列也满,则加入后台执行队列;
(c)如果作业能及时完成,则优先加入及时执行队列,如果及时执行队列已满,则加入后台执行队列;
(d)当执行及时执行队列中的作业时,减少瞬时执行队列的容量,执行完一个作业时,再恢复瞬时队列的相应容量;
(e)后台执行队列,以任务为最小调度单位,当执行后台执行队列中的作业的一个任务时,根据这个任务的计算资源需求情况改变瞬时执行队列的容量,必要时改变及时执行队列的容量,这个任务结束时,恢复瞬时执行队列和及时执行队列的相应容量;
(f)及时执行队列中,计算时间需求量与等待时间之和最长的优先执行;
(g)瞬时执行队列的作业优先执行,然后执行及时执行队列的作业,空闲时执行后台执行队列中的作业。
附图说明
附图描述了作业管理队列执行加入新作业的处理流程。
具体实施方式
发明内容章节,已经介绍了计算组件需要实现的接口、计算组件输入/输出的数据类型方案、计算作业的计算资源需求计算方法和作业调度方案,这里介绍服务器部分和客户端部分的模块、服务器端工作流程、客户端工作流程。
服务器端模块
服务器部分包含会话管理器、计算资源需求估算器、作业队列管理器、作业调度器以及任务执行器。会话管理器维护与客户端的连接,接收请求,发送结果。会话管理器建立并维持与客户端的连接,接收请求,发送结果。计算资源需求估算器,维护计算组件及其资源估算接口的映射,接受资源需求估算请求,返回估算结果。作业队列管理器,维护瞬时执行队列、及时执行队列和后台执行队列,接受加入作业、撤销作业、修改作业执行状态、删除作业、修改队列容量的请求。作业调度器从作业队列中根据调度算法,调度执行瞬时执行队列和及时执行队列中的作业,或后台执行队列中的作业的任务。任务执行器实际执行各计算作业或任务,并把结果通过会话管理器发送给客户端、传递给下一个任务或暂存在服务器端。
作业在执行队列中的表示,包括作业本身、会话管理器引用,以及加入队列的时间、估计的资源需求等调度相关的信息。如果是Java实现,对会话管理器的引用,不能是强引用,以免干扰垃圾收集。三个执行队列,被作业队列管理器和作业调度器访问。
服务器端工作流程
客户端与服务器端建立会话,会话管理器接收到客户端发送的计算请求后,转交给作业队列管理器。如附图所示,作业队列管理器调用计算资源需求估算器估算资源需求,如果是瞬时计算需求,且瞬时执行队列未满,则加入到瞬时执行队列,否则尝试加入到及时执行队列,如果及时执行队列已满,则加入到后台执行队列;如果是及时计算需求,并且及时执行队列未满,则加入到及时执行队列,否则加入到后台执行队列;如果是后台计算需求,则加入到后台执行队列。作业队列管理器将作业加入相应执行队列的同时,如果不是加入瞬时执行队列,则通过会话管理器向客户端返回作业所加入的队列类型,如果是及时执行队列,则可以同时在返回信息中加入估计的计算资源需求。会话管理器接收到客户端发送的取消后台执行作业的请求后,转交给作业队列管理器,如果请求取消的作业尚未交付执行,则直接从后台执行队列中删除它,如果这个作业已经有部分任务在执行,则先终止正在执行的任务,释放占用的资源,然后将这个作业从队列中删除。作业调度器从作业队列中根据调度算法,调用任务执行器执行瞬时执行队列和及时执行队列中的作业,或后台执行队列中的作业的任务。任务执行器执行完作业之后,通过会话管理器的引用,把结果通过会话管理器发送给客户端;如果会话已经断开,则把结果暂存在服务器端,等待用户将来获取结果。任务执行器执行完后台执行队列中的作业的一个非终结任务之后,结果传递给下一个任务,直到最后一个任务结束,然后把结果通过会话管理器发送到客户端,或暂存到服务器端。
客户端模块
客户端部分包括连接管理器、执行结果监听器等后台组件,以及用于编辑、保存、提交作业、显示执行结果的工作空间和查看后台作业执行状态、取消后台作业的后台作业管理器等用户前端。
客户端工作流程
客户端通过连接管理器连接到服务器端,登陆成功之后,建立起客户端-服务器端会话。用户通过前端界面提交到服务器后,执行结果监听器,监听客户端与服务器的连接,解析服务器发送回的信息包,获得执行结果。如果返回的结果是作业所加入的执行队列类型,且执行队列类型是及时执行队列,则打开一个进度条,或类似的提示信息,提醒用户稍作等待,直到收到最终执行结果;如果执行队列类型是后台执行队列,则告诉用户任务已成功提交,正在服务器后台执行。
Claims (7)
1、一种分布式计算系统,其特征在于以计算组件、输入元数据-输入类型-输入规模-输出类型-参数值为参考依据,估算资源需求,从而进行作业调度,其中,一个作业可以涉及具有执行次序的多个计算任务,一个计算任务是某个计算组件的实例,输入元数据是指输入数据的数据结构。
2、如权利要求1所述的系统,其特征在于存在这样3个执行队列:
(a)瞬时执行队列,里面任一作业都要求从提交到结束,客户端感觉不到等待;
(b)及时执行队列,里面任一作业都要求从提交到结束,所需的时间,在最终用户可以接受的等待时间内;
(c)后台执行队列,里面的作业有系统空闲时执行。
3、如权利要求2所述的系统,其特征在于系统在收到作业时,根据预估的执行时间以及当前执行队列的情况,返回作业所属的队列。
4、实现权利要求1所述的系统的方法,其特征在于:
(a)计算组件的输入规范表示为输入口名字-接受的输入类型数组的哈希表;
(b)计算组件的输出规范表示为输出口名字-输出类型的哈希表;
(c)计算组件实现这样一个方法:参数包括输入口名-元数据的哈西表、输入口名-输入规模的哈西表、输入口名-输入类型的哈西表、输出类型的哈西表、参数-参数值的哈西表,返回值是资源需求。
5、实现权利要求1所述的系统的方法,其特征在于计算组件采用如下输入/输出数据类型方案:
(a)输入包括元数据、表格、程序、模型四种类型;
(b)输出包括元数据、表格、程序、模型、报告和展示;
(c)表格类型可以是一行一列的表格,也可以在列中包含表格;
(d)程序类型,包括数据库表/视图名、SQL脚本、Java字节码等;
(e)表格、程序、模型类型都带有指明其格式的元数据部分。
6、在权利要求4的基础上,实现权利要求1所述的系统的方法,其特征在于采用如下方法计算一个作业的计算资源需求:
(a)如果存在计算任务需要从客户端或另一服务器取得表格输入,则增加相应的网络传输资源需求,需求总量是与传输规模相关;
(b)如果存在计算任务需要输出表格到客户端,则增加相应的网络传输资源需求,需求总量是与传输规模相关;
(c)上述资源需求的和,加上作业中每一个任务的资源需求,构成这个作业的资源需求。
7、实现权利要求2所述的系统的方法,其特征在于采用如下作业调度方案:
(a)估算作业的计算资源需求;
(b)如果作业能够瞬时完成,则优先加入瞬时执行队列,如果瞬时执行队列已满,则优先加入及时执行队列,如果及时执行队列也满,则加入后台执行队列;
(c)如果作业能及时完成,则优先加入及时执行队列,如果及时执行队列已满,则加入后台执行队列;
(d)当执行及时执行队列中的作业时,减少瞬时执行队列的容量,执行完一个作业时,再恢复瞬时队列的相应容量;
(e)后台执行队列,以任务为最小调度单位,当执行后台执行队列中的作业的一个任务时,根据这个任务的计算资源需求情况改变瞬时执行队列的容量,必要时改变及时执行队列的容量,这个任务结束时,恢复瞬时执行队列和及时执行队列的相应容量;
(f)及时执行队列中,计算时间需求量与等待时间之和最长的优先执行;
(g)瞬时执行队列的作业优先执行,然后执行及时执行队列的作业,空闲时执行后台执行队列中的作业。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNA2008100370569A CN101576831A (zh) | 2008-05-07 | 2008-05-07 | 一种分布式计算系统及实现方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNA2008100370569A CN101576831A (zh) | 2008-05-07 | 2008-05-07 | 一种分布式计算系统及实现方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN101576831A true CN101576831A (zh) | 2009-11-11 |
Family
ID=41271768
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CNA2008100370569A Pending CN101576831A (zh) | 2008-05-07 | 2008-05-07 | 一种分布式计算系统及实现方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN101576831A (zh) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102404211A (zh) * | 2011-11-15 | 2012-04-04 | 北京天融信科技有限公司 | 一种amp架构下处理器负载均衡的实现方法及装置 |
| CN102902591A (zh) * | 2012-09-04 | 2013-01-30 | 深圳市宏电技术股份有限公司 | 非长在线终端的任务执行方法及非长在线终端 |
| CN104346220A (zh) * | 2013-07-31 | 2015-02-11 | 中国科学院计算技术研究所 | 一种任务调度方法与系统 |
| CN105207948A (zh) * | 2014-06-30 | 2015-12-30 | 中兴通讯股份有限公司 | 数据报文的分配方法及装置 |
| CN107766129A (zh) * | 2016-08-17 | 2018-03-06 | 北京金山云网络技术有限公司 | 一种任务处理方法、装置及系统 |
| CN108009006A (zh) * | 2016-11-02 | 2018-05-08 | 华为技术有限公司 | I/o请求的调度方法及装置 |
| CN108270693A (zh) * | 2017-12-29 | 2018-07-10 | 珠海国芯云科技有限公司 | 网站访问的自适应优化疏导方法及装置 |
| WO2021223174A1 (en) * | 2020-05-07 | 2021-11-11 | Citrix Systems, Inc. | Task shifting between computing devices |
-
2008
- 2008-05-07 CN CNA2008100370569A patent/CN101576831A/zh active Pending
Cited By (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102404211A (zh) * | 2011-11-15 | 2012-04-04 | 北京天融信科技有限公司 | 一种amp架构下处理器负载均衡的实现方法及装置 |
| CN102902591A (zh) * | 2012-09-04 | 2013-01-30 | 深圳市宏电技术股份有限公司 | 非长在线终端的任务执行方法及非长在线终端 |
| CN104346220A (zh) * | 2013-07-31 | 2015-02-11 | 中国科学院计算技术研究所 | 一种任务调度方法与系统 |
| CN104346220B (zh) * | 2013-07-31 | 2017-11-03 | 中国科学院计算技术研究所 | 一种任务调度方法与系统 |
| CN105207948B (zh) * | 2014-06-30 | 2019-05-31 | 中兴通讯股份有限公司 | 数据报文的分配方法及装置 |
| CN105207948A (zh) * | 2014-06-30 | 2015-12-30 | 中兴通讯股份有限公司 | 数据报文的分配方法及装置 |
| CN107766129B (zh) * | 2016-08-17 | 2021-04-16 | 北京金山云网络技术有限公司 | 一种任务处理方法、装置及系统 |
| CN107766129A (zh) * | 2016-08-17 | 2018-03-06 | 北京金山云网络技术有限公司 | 一种任务处理方法、装置及系统 |
| CN108009006A (zh) * | 2016-11-02 | 2018-05-08 | 华为技术有限公司 | I/o请求的调度方法及装置 |
| CN108009006B (zh) * | 2016-11-02 | 2022-02-18 | 华为技术有限公司 | I/o请求的调度方法及装置 |
| CN108270693A (zh) * | 2017-12-29 | 2018-07-10 | 珠海国芯云科技有限公司 | 网站访问的自适应优化疏导方法及装置 |
| WO2021223174A1 (en) * | 2020-05-07 | 2021-11-11 | Citrix Systems, Inc. | Task shifting between computing devices |
| US11561822B2 (en) | 2020-05-07 | 2023-01-24 | Citrix Systems, Inc. | Task shifting between computing devices |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101576831A (zh) | 一种分布式计算系统及实现方法 | |
| CN101882161B (zh) | 应用级异步任务调度系统和方法 | |
| CN101957780B (zh) | 一种基于资源状态信息的网格任务调度处理器及方法 | |
| CN104317658B (zh) | 一种基于MapReduce的负载自适应任务调度方法 | |
| CN104915407B (zh) | 一种基于Hadoop多作业环境下的资源调度方法 | |
| CN104298550B (zh) | 一种面向Hadoop的动态调度方法 | |
| CN111338791A (zh) | 集群队列资源的调度方法、装置、设备及存储介质 | |
| CN101290668B (zh) | 一种分时作业动态调度方法和装置 | |
| CN103309946B (zh) | 多媒体文件处理方法、装置及系统 | |
| CN103838621B (zh) | 用于调度例行作业的方法和系统、调度节点 | |
| US20050076043A1 (en) | Workload scheduler with resource optimization factoring | |
| CN111324445A (zh) | 一种任务调度模拟系统 | |
| JP2008527514A5 (zh) | ||
| CN105912401A (zh) | 一种分布式数据批处理系统和方法 | |
| CN102223419A (zh) | 面向网络化操作系统的虚拟资源动态反馈均衡分配机制 | |
| CN103324534A (zh) | 作业调度方法及其调度器 | |
| CN102081554A (zh) | 云计算操作系统及其内核控制系统及方法 | |
| CN111782627B (zh) | 面向广域高性能计算环境的任务与数据协同调度方法 | |
| CN119025287B (zh) | 一种基于设备快照轮询的任务调度方法、装置和存储介质 | |
| CN102508626A (zh) | 一种新型并行打印调度方法及系统 | |
| CN101119408B (zh) | 一种实现接口数据一致性的接口、方法及通信系统 | |
| JP5613578B2 (ja) | 仮想化環境リソース管理構成変更システム、及びプログラム | |
| CN115328664B (zh) | 一种消息消费方法、装置、设备及介质 | |
| CN120179367B (zh) | 边缘异构算力设备调度方法、系统、存储介质和设备 | |
| CN109933433A (zh) | 一种gpu资源调度系统及其调度方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| DD01 | Delivery of document by public notice |
Addressee: Wan Dehong Document name: Notification of before Expiration of Request of Examination as to Substance |
|
| DD01 | Delivery of document by public notice |
Addressee: Wan Dehong Document name: Notification that Application Deemed to be Withdrawn |
|
| C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
| WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20091111 |