【技术实现步骤摘要】
本专利技术涉及高性能计算领域,尤其涉及一种大规模并行环境下的。
技术介绍
大规模并行环境下,并行应用程序面对的计算资源众多,容易出现通信热点,产生负载不均衡现象,导致动态任务分配服务性能急剧下降,从而影响应用程序的整体效率。因此,在并行语言运行系统中,如何高效实现计算任务到计算资源的动态映射以达到众多计算资源间的负载平衡,保证并行应用程序性能最佳化,成为本领域技术人员亟待解决的技术问题之一。在大规模环境下实现动态任务分配,从而影响到应用程序性能,对于任务并行类课题,要实现动态任务分配,最直接的方式是用户利用并行消息库函数编写相应的控制程序,例如在MPI (消息传递编程模型,Message PassingInterface)程序中,选出一个主进程,通常为RANKO作为Master,其他进程向该进程发送任务请求消息,Master根据当前任务执行情况向其他进程提供任务分配服务。但这种实现方式的缺点在于1)用户编写任务控制程序具有一定的难度,实现较为复杂;2)可扩展性存在问题,在大规模并行系统上,用户进程成千上万,Master负担较重,影响程序的整体执行效率。此外,大规模并行环境的计算资源众多,经常出现计算资源故障的现象。因此,如何保证并行程序以较小的容错代价在计算资源出现故障的情况下继续执行,也是本领域技术人员亟待解决的技术问题。在容错方面,检查点技术是最为常见的手段之一。检查点技术是指当用户程序执行到一定阶段时,将当前用户程序执行的内存映像保留至磁盘,当故障发生时,读出最近一个检查点的内存映像,从该点重新运行用户程序。检查点容错技术需要保留完整程序的内存映像 ...
【技术保护点】
一种并行任务动态分配方法,其特征在于,该方法适用于包括多级用户进程的并行系统;所述多级用户进程包括至少两级主进程和普通进程;该方法包括:所述主进程将本级待分配的并行任务排序,形成本级待分配任务队列;所述主进程接收下一级用户进程发送的任务请求消息及所请求的任务数量;所述主进程从本级待分配任务队列的队首开始,按照下一级用户进程所请求的任务数量,为下一级用户进程分配任务,并更新本级待分配任务队列。
【技术特征摘要】
1.一种并行任务动态分配方法,其特征在于,该方法适用于包括多级用户进程的并行系统;所述多级用户进程包括至少两级主进程和普通进程;该方法包括 所述主进程将本级待分配的并行任务排序,形成本级待分配任务队列; 所述主进程接收下一级用户进程发送的任务请求消息及所请求的任务数量; 所述主进程从本级待分配任务队列的队首开始,按照下一级用户进程所请求的任务数量,为下一级用户进程分配任务,并更新本级待分配任务队列。2.如权利要求I所述的并行任务动态分配方法,其特征在于,该方法还包括 所述主进程从本级待分配任务队列的队首开始,根据所述主进程本身的处理能力,为主进程分配任务,并更新本级待分配任务队列;在为主进程分配任务的过程中,暂停为下一级用户进程分配任务。3.如权利要求I或2所述的任一种并行任务动态分配方法,其特征在于,还包括 若所请求的任务数量大于所述本级待分配任务队列中的任务数量,则所述主进程向其上一级用户进程发送任务请求消息及所请求的任务数量,在接收到上一级用户进程分配的任务后更新所述本级待分配任务队列。4.如权利要求3所述的并行任务动态分配方法,其特征在于,该方法还包括 若在所述用户进程接收并执行任务的过程中发生故障,则将发生故障的任务回收,并排到分配该任务的用户进程所管理的待分配任务队列的队尾,以重新参与任务分配。5.如权利要求4所述的并行任务动态分配方法,其特征在于,所述主进程包括全局主进程和区域主进程; 所述多级用户进程包括全局主进程、至少一级区域主进程和普通进程; 所述全局主进程、至少一级区域主进程和普通进程呈树状排布;其中,全局主进程为根结点;区域主进程为分支结点;普通进程为叶子结点。6.如权利要求5所述的并行任务动态分配方法,其特征在于,在所述主进程将本级待分配的并行任务排序,形成本级待分配任务队列之前,还包括 将所有用户进程按照全局主进程、至少一级区域主进程及普通进程分为多级用户进程。7.如权利要求6所述的并行任务动态分配方法,其特征在于,所述将所有用户进程按照全局主进程、至少一级区域主进程及普通进程分为多级用户进程包括 选取作为全局主进程的用户进程; 将其他用户进程分组;在各组内选取作为区域主进程的用户进程; 余下的用户进程为普通进程。8.如权利要求7所述的并行任务动态分配方法,其特征在于,所述将其他用户进程分组包括 将除全局主进程以外的用户进程分组以形成一级区域主进程; 或者将除全局主进程以...
【专利技术属性】
技术研发人员:何王全,魏迪,权建校,吴伟,刘勇,文延华,方燕飞,
申请(专利权)人:无锡江南计算技术研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。