技术摘要:
本发明公开了一种基于模拟退火的多任务快速调度方法,采用模拟未来固定时间内的服务器的任务调度情况,基于贪心算法计算获得任务调度序列,再对此序列上基于模拟退火的方式,以服务器CPU计算核心数的平均占用率为指标,进一步优化贪心算法获得优化后的任务调度序列,增 全部
背景技术:
近年来,随着任务调度技术的不断更新和高端科技技术的不断注入,任务趋向于 复杂化、多样化、分布式化,同时任务所需的计算资源也在不断剧增,因此目前迫切需要一 种面向多任务的可高效利用硬件资源的任务调度方法。目前的任务调度方法大多数是基于 任务队列(FIFO),其主要针对少量任务硬件资源充裕的场景,并不适合多任务下硬件资源 紧张的场景。同时,也有很多任务调度方法总是尝试花大量时间来计算任务调度序列的全 局最优解,而忽视了任务调度方法的实时性,使得算法失去了低延时性和鲁棒性。
技术实现要素:
针对现有技术中的上述不足,本发明提供的一种基于模拟退火的多任务快速调度 方法解决了现有任务调度方法调度时间长的问题。 为了达到上述发明目的,本发明采用的技术方案为:一种基于模拟退火的多任务 快速调度方法,包括以下步骤: S1、采集K个待调度的任务,获取每个任务执行时所需CPU核心数目和所需时间,得 到第i个待调度任务所需的CPU核心数目为Ci和时间Ti; S2、按照所需CPU核心数目从大到小将待调度任务的时间Ti进行排序,得到排序后 的待调度任务集合S={T1,T2,...,Ti,...,TK}; S3、模拟未来t时刻内服务器任务执行情况,根据待调度任务集合S,使用贪心算法 获取初始任务序列S0; S4、使用模拟退火的方法对初始任务序列进行优化,得到优化后的任务序列; S5、根据优化后的任务序列进行任务调度,并判断K个待调度的任务是否全部调度 完成,若是则结束任务调度,否则进入步骤S6; S6、判断t时刻内的任务是否调度完成,若是,则结束任务调度,否则返回步骤S3。 进一步地,所述步骤S2待调度任务集合S中Ti<Tj,其中,i<j,j=1,2,...,K。 进一步地,所述步骤S3包括以下分步骤: S3.1、模拟未来t时刻内服务器任务执行情况,并判断服务器是否存在硬件空缺, 若是,则进入步骤S3.2,否则重复步骤S3.1; S3.2、根据待调度任务集合S,调度所需的CPU核心数目最多的任务,直至未来t时 刻内任务调度完成,得到未来t时刻内的初始任务序列S0={T1,T2,...,Tn-1,Tn},n为未来t 时刻内待调度任务的总数。 进一步地,所述步骤S4包括以下分步骤: S4 .1、根据初始任务序列S0,计算每个时刻服务器CPU核心的平均占用率指标F 4 CN 111552553 A 说 明 书 2/4 页 (S0),初始化计数器r=0和计数器s=0; S4.2、令当前最优指标Fbest=F(S0)、当前最优序列Sbest=S0、当前计算序列Spre= S0、当前温度T=T0、循环次数为R和降温次数为S; S4.3、随机交换当前计算序列Spre中两个任务的位置,得到序列Scur; S4.4、根据序列Scur,判断指标F(Scur)是否大于指标F(Spre),若是,则令序列Spre等 于序列Scur,并进入步骤S4.6,否则进入步骤S4.5; S4.5、判断不等式 是否成立,若是,则令序列Spre等于 序列Scur,并进入步骤S4.6,否则直接进入步骤S4.6; S4.6、判断指标F(Spre)是否大于指标Fbest,若是,则令指标Fbest的值为F(Spre)和序 列Sbest=Spre,并进入步骤S4.7,否则直接进入步骤S4.7; S4.7、令r的计数值加一和当前温度T的计数值乘以0.98倍,判断计数器r是否等于 R,若是,则进入步骤S4.8,否则返回步骤S4.3; S4.8、令计数器s的计数值加1,并判断计数器s是否等于S,若是,则得到优化后的 任务序列为Sbset,否则令r的计数值为0,并返回步骤S4.3; 其中,randmon(0,1)表示0到1之间的一个随机数。 进一步地,所述步骤S4.1-S4.6中指标F(S0)、指标F(Scur)和指标F(Spre)均通过指 标计算函数F()获取,所述指标计算函数F()具体为: 其中,Sx表示待计算指标的序列,l=1,2,...,t,l表示t时刻内的第l时刻,Cl表示l 时刻服务器CPU核心的占用率。 本发明的有益效果为: (1)本发明采用模拟未来固定时间内的服务器的任务调度情况,基于贪心算法计 算获得任务调度序列,再对此序列上基于模拟退火的方式,以服务器CPU计算核心数的平均 占用率为指标,进一步优化贪心算法获得优化后的任务调度序列,增加了任务调度效率。 (2)本发明模拟未来一定时间内的任务调度情况,通过占用率作为指标来衡量任 务序列的优化情况,相对于直接对所有任务序列进行模拟退火的方式极大地减少了计算 量,大幅度减少了方法的计算时间。 附图说明 图1为本发明提出的一种基于模拟退火的多任务快速调度方法流程图; 图2为本发明提出中步骤S4的分步骤流程图; 图3为本发明的实验结果对比图。