首页 / 专利库 / 化学元素和化合物 / 中子 / 一种基于贝叶斯网络的分布式计算任务调度算法

一种基于贝叶斯网络的分布式计算任务调度算法

阅读:667发布:2020-05-08

专利汇可以提供一种基于贝叶斯网络的分布式计算任务调度算法专利检索,专利查询,专利分析的服务。并且本 发明 是一种基于 贝叶斯网络 的分布式计算任务调度 算法 ,利用HEFT算法对有向无环图调度,得到调度结果,进一步构建数据集D1;利用贝叶斯网络模型计算数据集D1每个子任务在不同CPU上处理的概率,构建数据集D2;计算数据集D2中每个任务调度到不同CPU上的先验概率;计算待调度有向无环图所有子任务调度到不同CPU上的条件概率;利用贝叶斯网络模型对待调度有向无环图所有子任务的调度结果进行预测,输出甘特图,完成任务调度。本发明实现了对HEFT算法的模拟,具有普遍适应性,并且解决了传统算法操作繁琐和时间复杂度高的问题。,下面是一种基于贝叶斯网络的分布式计算任务调度算法专利的具体信息内容。

1.一种基于贝叶斯网络的分布式计算任务调度算法,其特征是:包括以下步骤:
步骤一:利用HEFT调度算法对随机生成的有向无环图进行调度,得到每个有向无环图所有的子任务分配不同CPU编号的结果,所述每个有向无环图所有的子任务分配不同CPU编号的结果为HEFT调度算法的调度结果;
步骤二:取待调度的有向无环图中的单个子任务,取所述单个子任务在不同CPU上的处理时间和Rank值,作为数据集D1的特征值,取HEFT算法的调度结果作为数据集D1的分类结果,生成数据集D1;
步骤三:利用构建的贝叶斯网络模型对数据集D1进行处理,得到数据集D1每个子任务调度到不同CPU上处理的概率;
步骤四:将步骤三中得到的所述数据集D1中的每个子任务在不同CPU上处理的概率作为新的特征,加入到数据集D1中,构成新的数据集D2;
步骤五:计算数据集D2中每个任务调度到不同CPU上的先验概率P(c);
步骤六:取待调度的有向无环图中的一个子任务,计算所述子任务在数据集D2中在不同CPU上的处理时间和Rank值,再计算所述子任务调度到不同CPU上的条件概率P(xi|c);
步骤七:待得到所述子任务调度到不同CPU上的先验概率和条件概率后,利用贝叶斯网络模型对所述有向无环图中子任务调度到不同CPU的结果进行预测;
步骤八:重复步骤六到七,直至待调度的有向无环图中的所有子任务完成条件概率的计算,并完成贝叶斯网络模型对所述有向无环图中所有子任务的调度到不同CPU结果的预测;
步骤九:当对待调度的有向无环图的所有子任务调度结果预测结束,输出甘特图,完成调度任务;
通过下式求取调度到不同CPU上的条件概率p(xi|c):
其中,μc,i和 分别是第c类样本在第i个属性上取值的均值和方差,xi为待调度的子任务的在第i个特征上的取值;
通过下式进行贝叶斯网络模型对有向无环图中所有子任务的调度到不同CPU结果的预测:
其中,y是任务调度的所有结果组成的集合,b是属性数目,d为训练集中所选取的特征的数量。
2.根据权利要求1所述的一种基于贝叶斯网络的分布式计算任务调度算法,其特征是:
通过下式求取调度到不同CPU的先验概率P(c):
其中,Dc是数据集D2中第c类样本组成的集合,|D|为训练集中所有子任务的数量。
3.根据权利要求1所述的一种基于贝叶斯网络的分布式计算任务调度算法,其特征是:
所述有向无环图中有10个任务,在3个不同的CPU上进行处理。

说明书全文

一种基于贝叶斯网络的分布式计算任务调度算法

一、技术领域

[0001] 本发明涉及分布式计算任务调度技术领域,是一种基于贝叶斯网络的分布式计算任务调度算法。二、背景技术
[0002] 随着计算技术的发展,有些应用需要非常巨大的计算能才能完成,如果采用集中式计算,需要耗费相当长的时间来完成。分布式计算将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。分布式计算,就是使用高速的网络,将许多不同的但内部又有关联的资源联系在一起,它可以为用户提供有强大的并行计算,并具有任务分配能力。其中,衡量分布式计算的能力的一个重要指标,就是分布式计算时对任务的调度效率。总的来说,分布式计算资源调度所面临的的主要问题:任务是否能分配到合适的资源上以及任务在各个资源上执行的顺序是否合适。
[0003] 分布式计算任务常用有向无环图来表示。其中有向无环图图中的节点,表示任务;边表示任务间的依赖关系。每一个节点都已知计算该任务所耗费的时间,并且每一个边都已知它若迁移到别的资源上时,所消耗的时间成本。目前针对分布式计算任务已有许多传统的算法,用于解决分布式任务的调度问题。例如HEFT算法,用于解决计算资源调度时,主要包含两个步骤:利用Rank值确定任务的优先级和为任务分配合适的CPU资源。但是这类传统的调度方法,往往存在着操作复杂和时间复杂度高的问题。
[0004] 本发明提出的一种基于贝叶斯网络的分布式计算任务调度方法,这种方法构建了一个贝叶斯网络,这个贝叶斯网络把影响调度结果的任务在CPU上的处理时间、Rank值和任务分配到不同CPU上处理的概率作为训练集的属性,充分考虑了调度过程中上一个任务的调度结果对下一个任务的影响。在这种前提下,本发明使用贝叶斯网络,对待调度任务进行调度判别。这种方法使用了较低的时间复杂度,实现了对传统算法(如HEFT调度算法)的模拟,解决了传统调度算法存在的操作繁琐和时间复杂度高的问题。三、发明内容
[0005] 为了解决了传统调度算法的存在的操作繁琐和时间复杂度高的问题,设计了一种基于贝叶斯网络的分布式计算任务调度算法。本发明有以下技术特征:
[0006] 一种基于贝叶斯网络的分布式计算任务调度算法,包括以下步骤:
[0007] 步骤一:利用HEFT调度算法对随机生成的有向无环图进行调度,得到每个有向无环图所有的子任务分配不同CPU编号的结果所述每个有向无环图所有的子任务分配不同CPU编号的结果为HEFT调度算法的调度结果;
[0008] 步骤二:取待调度的有向无环图中的单个子任务,取所述单个任务在不同CPU上的处理时间和Rank值,作为数据集D1的特征值,取HEFT算法的调度结果作为数据集D1的分类结果,生成数据集D1;
[0009] 步骤三:利用构建的贝叶斯网络模型对数据集D1进行处理,得到数据集D1每个子任务在不同CPU上处理的概率;
[0010] 步骤四:将步骤三中得到数据集D1里的每个子任务在不同CPU上处理的概率作为新的特征,加入到数据集D1中,构成新的数据集D2;
[0011] 步骤五:计算数据集D2中每个任务调度到不同CPU上的先验概率P(c);
[0012] 步骤六:取待调度的有向无环图中的一个子任务,计算所述子任务在数据集D2中在不同CPU上的处理时间和Rank值,再计算所述子任务调度到不同CPU上的条件概率P(xi|c);
[0013] 步骤七:待得到所述子任务调度到不同CPU上的先验概率和条件概率后,利用贝叶斯网络模型对所述有向无环图中子任务调度到不同CPU的结果进行预测;
[0014] 步骤八:重复步骤六到七,直至待调度的有向无环图中的所有子任完成条件概率的计算,并完成贝叶斯网络模型对所述有向无环图中所有子任务的调度到不同CPU结果的预测;
[0015] 步骤九:当对待调度的有向无环图的所有子任调度结果预测结束,输出甘特图,完成调度任务。
[0016] 优选地,通过下式求取计算调度结果中调度到不同CPU的先验概率P(c):
[0017]
[0018] 其中,Dc是训练集D2中第c类样本组成的集合。
[0019] 优选地,通过下式求取调度到不同CPU上的条件概率P(xi|c):
[0020]
[0021] 其中,μc,i和 分别是第c类样本在第i个属性上取值的均值和方差。
[0022] 优选地,通过下式进行贝叶斯网络模型对有向无环图中所有子任务的调度到不同CPU 结果的预测:
[0023]
[0024] 其中,y是任务调度的所有结果组成的集合,b是属性数目。
[0025] 优选地,所述有向无环图中有10个任务,在3个不同的CPU上进行处理。
[0026] 另外,本实用新型还有以下有益效果:
[0027] 本发明利用了贝叶斯网络,构建了一个考虑了任务处理先后顺序的影响的数据集,实现对传统的机器学习算法(HEFT调度算法)的模拟,使对传统的调度算法的模拟更为准确。
[0028] 本发明的使用的范围广,可以广泛的对传统调度算法进行学习和模拟,具有普遍适用性。
[0029] 本发明使用贝叶斯网络模型进行任务的调度,解决了传统算法的操作繁琐和时间复杂度高的问题,具有操作简单和时间复杂度低的优点。四、附图说明
[0030] 图1是贝叶斯网络模型图。
[0031] 图2是待调度任务的有向无环图。
[0032] 图3是待调度的任务在不同的CPU上的处理时间。
[0033] 图4是使用HEFT算法对附图1和附图2所示任务,调度的甘特图。
[0034] 图5是使用本发明对附图1和附图2所示任务,调度的甘特图。五、具体实施方式
[0035] 一种基于贝叶斯网络的分布式计算任务调度算法,其步骤是:
[0036] 步骤一:利用HEFT调度算法对随机生成的有向无环图进行调度,得到每个有向无环图所有的子任务分配不同CPU编号的结果,所述每个有向无环图所有的子任务分配不同CPU 编号的结果为HEFT调度算法的调度结果。如附图2和3所示,即为一个分布式计算中待调度任务的DAG图及其在不同CPU上的处理时间。图中共有10个任务,可以在3个不同的 CPU上进行处理,每个任务所具有的的属性不同;图2中箭头的首尾代表处理该任务所需要的先后顺序,不同任务间连接箭头边上的权重,代表从当前任务转换到箭头所指任务所需要的迁移时间。
[0037] 步骤二:取待调度的有向无环图中的单个子任务,取所述单个任务在不同CPU上的处理时间和Rank值,作为数据集D1的特征值,取HEFT算法的调度结果作为数据集D1的分类结果,生成数据集D1。选取特训集D1中的一个,展示训练集D1的构成,如表1所示:
[0038] 表1训练集D1的构成图示例
[0039]
[0040] 步骤三:利用构建的贝叶斯网络模型对数据集D1进行处理,得到数据集D1每个子任务在不同CPU上处理的概率。贝叶斯网络模型如附图1所示,附图1中T1,T2,T3直至Tn代表的是任务在不同CPU上的处理时间,Rank代表的是任务的秩。C代表父节点,C’代表的是子节点,如附图1所示,C的预测结果将会传递给C’,对其预测产生影响。
[0041] 步骤四:将步骤三中得到的所述数据集D1中的每个子任务在不同CPU上处理的概率作为新的特征,加入到数据集D1中,构成新的数据集D2。选取特训集D2中的一个,展示训练集D2的构成,如表2所示:
[0042] 表2训练集D2的构成图示例
[0043]
[0044]
[0045] 步骤五:计算数据集D2中每个任务调度到不同CPU上的先验概率P(c)。
[0046] 步骤六:取待调度的有向无环图中的一个子任务,计算所述子任务在数据集D2中在不同CPU上的处理时间和Rank值,再计算所述子任务调度到不同CPU上的条件概率P(xi|c)。
[0047] 步骤七:待得到所述子任务调度到不同CPU上的先验概率和条件概率后,利用贝叶斯网络模型对所述有向无环图中子任务调度到不同CPU的结果进行预测。
[0048] 步骤八:重复步骤六到七,直至待调度的有向无环图中的所有子任完成条件概率的计算,并完成贝叶斯网络模型对所述有向无环图中所有子任务的调度到不同CPU结果的预测。调度的结果如表3所示:
[0049] 表3调度结果
[0050]
[0051] 步骤九:当对待调度的有向无环图的所有子任调度结果预测结束,输出甘特图。如附图 5所示。
[0052] 以上所述仅是基于贝叶斯网络的分布式计算任务调度算法的优选实施方式,基于贝叶斯网络的分布式计算任务调度算法的保护范围并不仅局限于上述实施例,凡属于思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的技术人员来说,在不脱离本发明原理前提下的若干改进和变化,这些改进和变化也应视为本发明的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈