CN104965762B - 一种面向混合任务的调度系统 - Google Patents
一种面向混合任务的调度系统 Download PDFInfo
- Publication number
- CN104965762B CN104965762B CN201510432283.1A CN201510432283A CN104965762B CN 104965762 B CN104965762 B CN 104965762B CN 201510432283 A CN201510432283 A CN 201510432283A CN 104965762 B CN104965762 B CN 104965762B
- Authority
- CN
- China
- Prior art keywords
- task
- virtual machine
- execution
- periodic
- executed
- 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.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种面向混合任务的调度系统,包括模型解析器、执行序列生成器、信息收集器和代理模块;模型解析器与执行序列生成器单向连接,执行序列生成器与信息收集器和代理模块之间均双向连接。本发明提供的面向混合任务的调度系统,任务调度时考虑了任务执行的周期性时序特征,即对于需要长时间不间断运行的任务可实现“一次调度、多次运行”,避免了对一类任务的频繁调度、下发,降低了任务调度带来的额外计算成本,极大降低了任务的频繁下发给网络通信带来的压力;并将如何为同一组周期性任务分配最少的资源来执行看作一个背包问题,提出了相应的算法,以求得最小的虚拟资源集合来完成任务的执行。
Description
技术领域
本发明设计一种调度系统,具体涉及一种面向混合任务的调度系统。
背景技术
在操作系统、网格计算、云计算等领域,任务调度是系统的核心功能模块,其性能直接影响到系统运行的整体效果。然而,任务调度是一个NP问题,很难找到一种最优调度算法以满足所有的约束条件。计算框架也具有类似的特征,即很难找到一种最优的计算框架适合所有的应用。
Hadoop提供了一种最简单的计算架构,后续的很多框架以此为基础进行局部改进。图1展示了Mesos计算架构。该架构采用双层调度设计,首先Mesos将资源分配给下级的子框架,再由各子框架内部实现计算资源的最终分配。其目的是为了融合尽可能多的负载以提升云平台资源的利用率。
任务调度的具体策略取决于调度目标,常见的目标包括最小时间跨度、公平性、资源利用率等,实际的可能主要以达到其中的某一个或某几个目标为目的。现有调度策略主要有以下两种:用户利益驱动的调度方法和考虑服务提供成本的调度方法。前者主要考虑用户的服务质量,如任务完成时间最短、服务质量最高等;后者在满足用户服务的基础上还需考虑云平台服务提供商的服务成本,如资源负载均衡、系统资源利用率最高、降低云平台能耗等。还有一些分配策略主要考虑方法的可扩展性,如多级任务调度策略等。
一些互联网信息探测类、信息获取类应用中,大部分任务表现出强烈的周期性特征,即很多任务实际上是同一个任务的多次执行的实例,即任务的执行结果与执行时刻相关。如需要测试某网站的访问速度。很明显,在不同时间点同一网站的访问速度是不同的,为了得出测试结果,需要进行间隔不断的测试,以客观反应网站访问速度的变化情况。而执行于其它云平台上的主流计算类任务,如聚类、统计等并不具备周期性特征,通常同一任务的多次执行结果是完全一样的,多次执行并无价值,已有的主流云计算框架并未考虑任务需要周期性执行的情况。因此,云计算环境下,存在周期性任务与非周期性任务混合执行的情况。
发明内容
为了克服上述现有技术的不足,本发明提供一种面向混合任务的调度系统,通过设置模型解析器、执行序列生成器、信息收集器和代理模块,实现任务调度。
为了实现上述发明目的,本发明采取如下技术方案:
本发明提供一种面向混合任务的调度系统,所述调度系统包括模型解析器、执行序列生成器、信息收集器和代理模块;所述模型解析器与执行序列生成器单向连接,所述执行序列生成器与信息收集器和代理模块之间均双向连接。
所述模型解析器用于解析由任务描述模型描述的各个任务,并将解析得到的任务信息发送给执行序列生成器。
所述任务描述模型用于描述任务集合中的各个任务,所述任务集合用Γ={t1,t2...,tn}表示,任务ti={idi,pli,rqi,sti,exti,pri,fti},i=1,2,…,n,n表示任务集合中任务个数,idi表示任务ti的ID,pli表示任务ti执行时对物理位置的需求,rqi表示任务ti执行时对CPU、内存、网络资源的需求,sti表示任务ti执行的时间点,exti表示任务ti执行单次所需要的时间,pri表示任务ti执行的周期需求,fti表示任务ti执行的截止时间需求,单周期时间利用率ui=exti/pri。
任务包括周期性任务和非周期性任务,对于非周期性任务,pri和fti均为0。
所述执行序列生成器接收模型解析器发送的任务信息,并根据任务信息对周期性任务和非周期性任务进行调度;
对于非周期性任务,调度系统直接调度;
对于周期性任务,先将周期性任务按对虚拟机类型需求的不同分成不同的组,同一组的周期性任务在同一类虚拟机上执行,选择最少虚拟机执行周期性任务并生成周期性任务的执行序列,同时执行序列生成器将生成的执行序列发送给信息收集器。
生成执行序列的具体过程如下:
1)将任务集合Γ中的任务按单周期时间利用率ui降序排列;
2)对每个虚拟机r创建链表lr;
3)将任务集合Γ中的第一个任务分配至虚拟机1执行,在分配后续任务时,先判断该任务单周期时间利用率是否成立,若成立,则新增虚拟机执行该任务;否则将任务ti分配至虚拟机r执行,并将链表lj加入任务编号;其中ur,1表示分配给虚拟机r的第l个任务的单周期利用率,l=1,2,…,kr,kr表示已分配的任务总数;
4)循环执行3),直至任务分配完毕,各虚拟机的链表中任务序号即为执行序列。
所述信息收集器采用推或拉的模式收集各个虚拟机的状态信息以及虚拟机上应执行的任务序列;
所述虚拟机状态信息包括CPU使用率、内存使用率、已执行的任务集合和正在执行的任务集合。
所述代理模块部署在每个虚拟机上,用于采集CPU使用率和内存使用率,代理模块同时将采集的CPU使用率和内存使用率上报给信息收集器,同时监督虚拟虚拟机上的任务是否按照执行序列生成器生成的执行序列执行。
与现有技术相比,本发明的有益效果在于:
本发明提供的面向混合任务的调度系统,任务调度时考虑了任务执行的周期性时序特征,即对于需要长时间不间断运行的任务可实现“一次调度、多次运行”,避免了对一类任务的频繁调度、下发,降低了任务调度带来的额外计算成本,极大降低了任务的频繁下发给网络通信带来的压力;并将如何为同一组周期性任务分配最少的资源来执行看作一个背包问题,提出了相应的算法,以求得最小的虚拟资源集合来完成任务的执行。
附图说明
图1是本发明实施例中面向混合任务的调度系统结构图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
本发明提供一种面向混合任务的调度系统,(如图1)所述调度系统包括模型解析器、执行序列生成器、信息收集器和代理模块;所述模型解析器与执行序列生成器单向连接,所述执行序列生成器与信息收集器和代理模块之间均双向连接。
所述模型解析器用于解析由任务描述模型描述的各个任务,并将解析得到的任务信息发送给执行序列生成器。
所述任务描述模型用于描述任务集合中的各个任务,所述任务集合用Γ={t1,t2...,tn}表示,任务ti={idi,pli,rqi,sti,exti,pri,fti},i=1,2,…,n,n表示任务集合中任务个数,idi表示任务ti的ID,pli表示任务ti执行时对物理位置的需求,rqi表示任务ti执行时对CPU、内存、网络资源的需求,sti表示任务ti执行的时间点,exti表示任务ti执行单次所需要的时间,pri表示任务ti执行的周期需求,fti表示任务ti执行的截止时间需求,单周期时间利用率ui=exti/pri。
任务包括周期性任务和非周期性任务,对于非周期性任务,pri和fti均为0。
所述执行序列生成器接收模型解析器发送的任务信息,并根据任务信息对周期性任务和非周期性任务进行调度;
对于非周期性任务,调度系统直接调度;
对于周期性任务,先将周期性任务按对虚拟机类型需求的不同分成不同的组,同一组的周期性任务在同一类虚拟机上执行,选择最少虚拟机执行周期性任务并生成周期性任务的执行序列,同时执行序列生成器将生成的执行序列发送给信息收集器。
生成执行序列的具体过程如下:
1)将任务集合Γ中的任务按单周期时间利用率ui降序排列;
2)对每个虚拟机r创建链表lr;
3)将任务集合Γ中的第一个任务分配至虚拟机1执行,在分配后续任务时,先判断该任务单周期时间利用率是否成立,若成立,则新增虚拟机执行该任务;否则将任务ti分配至虚拟机r执行,并将链表lj加入任务编号;其中ur,1表示分配给虚拟机r的第l个任务的单周期利用率,l=1,2,…,kr,kr表示已分配的任务总数;
4)循环执行3),直至任务分配完毕,各虚拟机的链表中任务序号即为执行序列。
所述信息收集器采用推或拉的模式收集各个虚拟机的状态信息以及虚拟机上应执行的任务序列;
所述虚拟机状态信息包括CPU使用率、内存使用率、已执行的任务集合和正在执行的任务集合。
所述代理模块部署在每个虚拟机上,用于采集CPU使用率和内存使用率,代理模块同时将采集的CPU使用率和内存使用率上报给信息收集器,同时监督虚拟虚拟机上的任务是否按照执行序列生成器生成的执行序列执行。
本发明提供的面向混合任务的调度系统,任务调度时考虑了任务执行的周期性时序特征,即对于需要长时间不间断运行的任务可实现“一次调度、多次运行”,避免了对一类任务的频繁调度、下发,降低了任务调度带来的额外计算成本,极大降低了任务的频繁下发给网络通信带来的压力;并将如何为同一组周期性任务分配最少的资源来执行看作一个背包问题,提出了相应的算法,以求得最小的虚拟资源集合来完成任务的执行。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,所属领域的普通技术人员参照上述实施例依然可以对本发明的具体实施方式进行修改或者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围之内。
Claims (1)
1.一种面向混合任务的调度系统,其特征在于:所述调度系统包括模型解析器、执行序列生成器、信息收集器和代理模块;所述模型解析器与执行序列生成器单向连接,所述执行序列生成器与信息收集器和代理模块之间均双向连接;
所述模型解析器用于解析由任务描述模型描述的各个任务,并将解析得到的任务信息发送给执行序列生成器;
所述任务描述模型用于描述任务集合中的各个任务,所述任务集合用Γ={t1,t2...,tn}表示,任务ti={idi,pli,rqi,sti,exti,pri,fti},i=1,2,…,n,n表示任务集合中任务个数,idi表示任务ti的ID,pli表示任务ti执行时对物理位置的需求,rqi表示任务ti执行时对CPU、内存、网络资源的需求,sti表示任务ti执行的时间点,exti表示任务ti执行单次所需要的时间,pri表示任务ti执行的周期需求,fti表示任务ti执行的截止时间需求,单周期时间利用率ui=exti/pri;
任务包括周期性任务和非周期性任务,对于非周期性任务,pri和fti均为0;
所述执行序列生成器接收模型解析器发送的任务信息,并根据任务信息对周期性任务和非周期性任务进行调度;
对于非周期性任务,调度系统直接调度;
对于周期性任务,先将周期性任务按对虚拟机类型需求的不同分成不同的组,同一组的周期性任务在同一类虚拟机上执行,选择最少数量虚拟机执行周期性任务并生成周期性任务的执行序列,同时执行序列生成器将生成的执行序列发送给信息收集器;
选择最少数量虚拟机执行周期性任务并生成周期性任务的执行序列的具体过程如下:
1)将任务集合Γ中的周期性任务按单周期时间利用率ui降序排列;
2)对每个虚拟机r创建链表lr;
3)将任务集合Γ中的第一个周期性任务分配至第一个虚拟机执行,在分配后续周期性任务时,先判断该周期性任务单周期时间利用率是否成立,若成立,则新增虚拟机执行该周期性任务;否则将周期性任务分配至虚拟机r执行,并将任务编号加入链表lr中;其中ur,l表示分配给虚拟机r的第l个周期性任务的单周期利用率,l=1,2,…,kr,kr表示已分配的周期性任务总数;
4)循环执行3),直至周期性任务分配完毕,各虚拟机的链表中任务序号即为执行序列;
所述信息收集器采用推或拉的模式收集各个虚拟机的状态信息以及周期性任务的执行序列;
所述虚拟机状态信息包括CPU使用率、内存使用率、已执行的任务集合和正在执行的任务集合;
所述代理模块部署在每个虚拟机上,用于采集CPU使用率和内存使用率,代理模块同时将采集的CPU使用率和内存使用率上报给信息收集器,同时监督虚拟虚拟机上的任务是否按照执行序列生成器生成的执行序列执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510432283.1A CN104965762B (zh) | 2015-07-21 | 2015-07-21 | 一种面向混合任务的调度系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510432283.1A CN104965762B (zh) | 2015-07-21 | 2015-07-21 | 一种面向混合任务的调度系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104965762A CN104965762A (zh) | 2015-10-07 |
CN104965762B true CN104965762B (zh) | 2018-11-27 |
Family
ID=54219798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510432283.1A Active CN104965762B (zh) | 2015-07-21 | 2015-07-21 | 一种面向混合任务的调度系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104965762B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293933A (zh) * | 2015-12-29 | 2017-01-04 | 北京典赞科技有限公司 | 一种支持多大数据计算框架的集群资源配置与调度方法 |
CN105824697A (zh) * | 2016-03-23 | 2016-08-03 | 浪潮通信信息系统有限公司 | 一种基于队列的分布式多级调度方法 |
CN109976901B (zh) * | 2017-12-28 | 2021-04-16 | 航天信息股份有限公司 | 一种资源调度方法、装置、服务器及可读存储介质 |
CN108832993B (zh) * | 2018-06-22 | 2020-09-18 | 西安电子科技大学 | 面向混合任务的在线中继卫星系统通信资源分配方法 |
CN109347974B (zh) * | 2018-11-16 | 2020-10-13 | 北京航空航天大学 | 提高在线服务质量和集群资源利用率的混合调度系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100088706A1 (en) * | 2008-10-07 | 2010-04-08 | Futurewei Technologies, Inc. | User Tolerance Based Scheduling Method for Aperiodic Real-Time Tasks |
US20130055276A1 (en) * | 2011-08-26 | 2013-02-28 | Knu-Industry Cooperation Foundation | Task scheduling method and apparatus |
CN103491174A (zh) * | 2013-09-26 | 2014-01-01 | 中国船舶重工集团公司第七一六研究所 | 基于延迟服务器的周期/非周期混合实时任务调度方法 |
CN103810026A (zh) * | 2012-11-09 | 2014-05-21 | 中国科学院沈阳计算技术研究所有限公司 | 一种适用于实时系统周期任务的混合调度方法 |
-
2015
- 2015-07-21 CN CN201510432283.1A patent/CN104965762B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100088706A1 (en) * | 2008-10-07 | 2010-04-08 | Futurewei Technologies, Inc. | User Tolerance Based Scheduling Method for Aperiodic Real-Time Tasks |
US20130055276A1 (en) * | 2011-08-26 | 2013-02-28 | Knu-Industry Cooperation Foundation | Task scheduling method and apparatus |
CN103810026A (zh) * | 2012-11-09 | 2014-05-21 | 中国科学院沈阳计算技术研究所有限公司 | 一种适用于实时系统周期任务的混合调度方法 |
CN103491174A (zh) * | 2013-09-26 | 2014-01-01 | 中国船舶重工集团公司第七一六研究所 | 基于延迟服务器的周期/非周期混合实时任务调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104965762A (zh) | 2015-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104965762B (zh) | 一种面向混合任务的调度系统 | |
Page et al. | Dynamic task scheduling using genetic algorithms for heterogeneous distributed computing | |
CN104331321B (zh) | 基于禁忌搜索和负载均衡的云计算任务调度方法 | |
US20170329643A1 (en) | Distributed node intra-group task scheduling method and system | |
CN106445675B (zh) | 一种b2b平台分布式应用调度与资源分配方法 | |
CN103699446A (zh) | 基于量子粒子群优化算法的多目标工作流动态调度方法 | |
CN105740051A (zh) | 基于改进的遗传算法的云计算资源调度实现方法 | |
CN104636187B (zh) | 基于负载预测的numa架构中虚拟机调度方法 | |
CN103401939A (zh) | 一种采用混合调度策略的负载均衡方法 | |
CN105242956A (zh) | 虚拟功能服务链部署系统及其部署方法 | |
CN108182109A (zh) | 一种云环境下的工作流调度与数据分配方法 | |
CN105373432B (zh) | 一种基于虚拟资源状态预测的云计算资源调度方法 | |
CN105373426B (zh) | 一种基于Hadoop的车联网内存感知实时作业调度方法 | |
Tantalaki et al. | Pipeline-based linear scheduling of big data streams in the cloud | |
CN104765640A (zh) | 一种智能服务调度方法 | |
CN104881322A (zh) | 一种基于装箱模型的集群资源调度方法及装置 | |
CN106126344A (zh) | 一种任务分配方法及装置 | |
CN109587217A (zh) | 一种大规模分布式系统的智能监控与管理方法及系统 | |
CN105450684A (zh) | 云计算资源调度方法和系统 | |
CN111309472A (zh) | 一种基于虚拟机预部署的在线虚拟资源分配方法 | |
CN109032769A (zh) | 一种基于容器的持续集成ci任务处理方法及装置 | |
Yu et al. | Fluid: Resource-aware hyperparameter tuning engine | |
CN105005503A (zh) | 基于元胞自动机的云计算负载均衡任务调度方法 | |
Chen et al. | Research on workflow scheduling algorithms in the cloud | |
CN106407007A (zh) | 面向弹性分析流程的云资源配置优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |