一种云计算平台中的异构分布式任务处理系统及其处理方法_3

文档序号:9304476阅读:来源:国知局
,任务运行的总时间。
[0061] 按任务经过改进的application调度算法调度后的顺序提交到master节点上,统 计全部任务执行结束时,任务运行的总时间。
[0062] 上述方案一的实验测试结果见如下表1:
[0063]表1
[0064]
[0071] 从方案一测试的结果来看,不同的任务提交顺序对任务执行的总时间是有影响。 从不同提交顺序产生的差异上来看,执行速度最快的提交顺序比最慢的快了 19. 4%,因而, 一个合理的执行顺序对于提高任务执行效率是有重要意义的。而从方案二的测试结果来 看,使用我们的调度算法执行效率提升了约11. 0%。随后我们又进行了 50个任务的测试工 作,结果执行效率提升了约15. 0%。因而,从调度算法的执行结果上来看,提出的基于时间 划分的贪心调度算法具有较好的效果。
[0072] 本发明提供的一种云计算平台中的异构分布式任务处理系统及其处理方法,首 先,任务加载器加载任务描述信息并生成任务描述对象,并保存入任务队列中,然后任务调 度器按照预定调度算法对任务描述对象进行调度排序,对任务队列中的任务描述对象重新 排序,最后,任务启动器将排序后的任务描述对象依次加载到spark集群的对应节点上进 行执行,采用调度算法对任务描述对象进行调度排序,对调度排序后的任务描述对象进行 执行,任务的批处理执行效率得到了优化,提高了任务的执行效率;另外,在spark平台中 嵌入了GPU程序和MPI程序,实现了异构分布式任务的处理,并且引入了GPU程序,GPU程 序的执行效率远高于CPU的执行效率,因此,在spark平台中嵌入GPU程序,整个任务队列 中的所有任务执行的效率会得到优化和提尚。
[0073] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和 原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种云计算平台中的异构分布式任务处理系统,其特征在于,所述系统包括任务加 载器、任务调度器、任务启动器以及任务执行器; 所述任务加载器,用于读取并加载预先保存的任务描述信息,将所述任务描述信息生 成对应的任务描述对象,并将生成的任务描述对象保存入任务队列中; 所述任务调度器,用于获取所述任务队列中的任务描述对象,并采用预定调度算法对 所述任务描述对象进行调度排序,生成顺序变化的待提交任务队列; 所述任务启动器,用于获取待提交任务队列中的任务描述对象,并根据待提交队列中 任务描述对象的顺序以及spark集群上执行资源的使用状态,依次启动所述任务描述对象 并将其提交到spark集群上; 所述任务执行器,用于执行提交到spark集群上的任务描述对象。2. 如权利要求1所述的云计算平台中的异构分布式任务处理系统,其特征在于,所述 任务加载器,用于读取并加载预先保存的任务描述信息,将所述任务描述信息生成对应的 任务描述对象具体包括: 所述任务加载器读取从web前端传入的保存有任务描述信息的XML文件或者从本地描 述文件中加载保存有任务描述信息的XML文件; 所述任务加载器根据所述XML文件生成对应的任务描述对象。3. 如权利要求1所述的云计算平台中的异构分布式任务处理系统,其特征在于,所述 任务调度器,用于获取所述任务队列中的任务描述对象,并采用预定调度算法对所述任务 描述对象进行调度排序,生成顺序变化的待提交任务队列具体包括: 任务调度器获取所述任务队列中的任务描述对象,判断其任务类型是否为GPU,若为 GPU任务,则放入GPU任务队列中,否则,将其放入CPU任务队列中; 分别对GPU任务队列中的GPU任务和CPU任务队列中的CPU任务采用预定调度算法进 行调度排序,生成待提交GPU任务队列和待提交CPU任务队列; 将生成的待提交GPU任务队列和生成的待提交CPU任务队列合并,得到所述待提交任 务队列。4. 如权利要求3所述的云计算平台中的异构分布式任务处理系统,其特征在于,所述 分别对GPU任务队列中的GPU任务和CPU任务队列中的CPU任务采用预定调度算法进行调 度排序具体包括: 根据每一个GPU任务执行所需要的CPU核数以及执行时间估值,对GPU任务队列中的 GHJ任务进行调度排序; 根据每一个CPU任务执行所需要的CPU核数以及执行时间估值,对CPU任务队列中的 CPU任务进彳丁排序。5. 如权利要求4所述的云计算平台中的异构分布式任务处理系统,其特征在于,所述 任务启动器还用于: 当从待提交任务队列中获取的为GPU任务描述对象,则将其提交到spark集群上存在 空闲GPU资源的节点上; 当从待提交任务队列中获取的为MPI任务描述对象,则根据MPI任务描述对象中的启 动参数,将其提交到spark集群中存在空闲资源的对应节点上; 当从待提交任务队列中获取的为spark任务描述对象,则作为普通任务提交到spark 集群中存在空闲资源的对应节点上。6. 如权利要求1所述的云计算平台中的异构分布式任务处理系统,其特征在于,所述 任务执行器还用于: 记录各任务描述对象在spark集群上的总执行时间。7. -种云计算平台中的异构分布式任务处理方法,其采用如权利要求1-6任一项所述 的云计算平台中的异构分布式任务处理系统,其特征在于,所述方法包括: 51、 任务加载器读取并加载预先保存的任务描述信息,将所述任务描述信息生成对应 的任务描述对象,并将生成的任务描述对象保存入任务队列中; 52、 任务调度器获取所述任务队列中的任务描述对象,并采用预定调度算法对所述任 务描述对象进行调度排序,生成顺序变化的待提交任务队列; 53、 任务启动器获取待提交任务队列中的任务描述对象,并根据待提交队列中任务描 述对象的顺序以及spark集群上执行资源的使用状态,依次启动所述任务描述对象并将其 提交到spark集群上; 54、 任务执行器执行提交到spark集群上的任务描述对象。8. 如权利要求7所述的云计算平台中的异构分布式任务处理方法,其特征在于,所述 步骤S2进一步包括: 任务调度器获取所述任务队列中的任务描述对象,判断其任务类型是否为GPU,若为 GPU任务,则放入GPU任务队列中,否则,将其放入CPU任务队列中; 分别对GPU任务队列中的GPU任务和CPU任务队列中的CPU任务采用预定调度算法进 行调度排序,生成待提交GPU任务队列和待提交CPU任务队列; 将生成的待提交GPU任务队列和生成的待提交CPU任务队列合并,得到所述待提交任 务队列。9. 如权利要求8所述的云计算平台中的异构分布式任务处理方法,其特征在于,所述 分别对GPU任务队列中的GPU任务和CPU任务队列中的CPU任务采用预定调度算法进行调 度排序具体包括: 根据每一个GPU任务执行所需要的CPU核数以及执行时间估值,对GPU任务队列中的 GHJ任务进行调度排序; 根据每一个CPU任务执行所需要的CPU核数以及执行时间估值,对CPU任务队列中的 CPU任务进彳丁排序。10. 如权利要求9所述的云计算平台中的异构分布式任务处理方法,其特征在于,所述 步骤S3进一步包括: 当从待提交任务队列中获取的为GPU任务描述对象,则将其提交到spark集群上存在 空闲GPU资源的节点上; 当从待提交任务队列中获取的为MPI任务描述对象,则根据MPI任务描述对象中的启 动参数,将其提交到spark集群中存在空闲资源的对应节点上; 当从待提交任务队列中获取的为spark任务描述对象,则作为普通任务提交到spark 集群中存在空闲资源的对应节点上。
【专利摘要】本发明公开了一种云计算平台中的异构分布式任务处理系统及其处理方法,所述处理系统包括任务加载器、任务调度器、任务启动器以及任务执行器;任务加载器,用于将加载的任务描述信息生成对应的任务描述对象,并保存入任务队列中;任务调度器,用于采用预定调度算法对任务队列中的任务描述对象进行调度排序,生成顺序变化的待提交任务队列;任务启动器,用于根据待提交队列中任务描述对象的顺序以及spark集群上执行资源的使用状态,依次启动所述任务描述对象并将其提交到spark集群上;所述任务执行器,用于执行提交到spark集群上的任务描述对象。通过本发明,能够在云计算平台上实现异构分布式任务的并行批处理。
【IPC分类】G06F9/48
【公开号】CN105022670
【申请号】CN201510425353
【发明人】秦勃, 夏海涛, 景辉, 朱勇
【申请人】中国海洋大学
【公开日】2015年11月4日
【申请日】2015年7月17日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1