一种资源分配方法及系统技术方案

技术编号:8452884 阅读:161 留言:0更新日期:2013-03-21 13:58
本发明专利技术实施例提供一种资源分配方法及系统,其中方法包括:获取关于MPMD并行应用程序的作业提交命令,依据所述作业提交命令确定与所述MPMD并行应用程序对应的配置文件;解析所述配置文件,判断所述配置文件中是否包含有指示进行资源优化分配的信息;若是,依据并行计算机系统中各个计算节点之间的通讯性能优先级,将MPMD并行应用程序中各单程序流多数据流SPMD的内部任务分配到,并行计算机系统中当前处于空闲状态、通讯性能优先级相对高,且与所述各SPMD的内部任务数量对应的计算节点中。本发明专利技术实施例有效的利用了计算资源,提高了MPMD并行应用的运行效率。

【技术实现步骤摘要】

本专利技术涉及资源分配
,尤其涉及一种资源分配方法及系统
技术介绍
MPMD (多程序流多数据流)并行应用是由多个SPMD (单程序流多数据流)组成,每个SPMD内部由同一个可执行程序按照一定规模构成,相互协作进行并行计算;同一个SPMD 内不同任务之间可以通过通信函数进行交换数据和同步;不同SPMD的任务之间也进行消息通信。不同MPMD并行应用具有不同的通信特征,或相同MPMD并行应用通过相关参数的配置也可具有不同的通信特征。以地球系统模式MPMD类型的程序为例,如图I所示,该MPMD 并行应用由5个SPMD组成,包括完全相互作用的大气,海洋、海冰和陆面4个分量模式SPMD 和一个耦合器SPMD,分量模式SPMD之间通过耦合器SPMD相互交换数据。各个模式SPMD内部同一个可执行程序按照一定规模构成,相互协作进行并行计算,同一模式内不同任务之间通过通信函数进行交换数据及同步;各个分量模式SPMD相互独立地运行,不同模式之间没有通信,所有模式周期性地与耦合器交换数据。专利技术人在实现本专利技术的过程中发现现有的MPMD并行应用的资源分配,只是随机的进行任务到计算资源的分配,这不利于计算资源的有效利用,影响MPMD并行应用的运行效率。
技术实现思路
有鉴于此,本专利技术实施例提供一种资源分配方法及系统,以解决现有技术随机的进行任务到计算资源的分配,不利于计算资源的有效利用,影响MPMD并行应用的运行效率的问题。为实现上述目的,本专利技术实施例提供如下技术方案一种资源分配方法,包括获取关于多程序流多数据流MPMD并行应用程序的作业提交命令,依据所述作业提交命令确定与所述MPMD并行应用程序对应的配置文件;解析所述配置文件,判断所述配置文件中是否包含有指示进行资源优化分配的信若是,依据并行计算机系统中各个计算节点之间的通讯性能优先级,将MPMD并行应用程序中各单程序流多数据流SPMD的内部任务分配到,并行计算机系统中当前处于空闲状态、通讯性能优先级相对高,且与所述各SPMD的内部任务数量对应的计算节点中。其中,依据并行计算机系统的网络拓扑结构和路由算法确定各个计算节点之间的通讯性能优先级,其中,连接到同一个数据交换机switch的两个计算节点间的通讯性能优先级最高,连接到不同switch的两个计算节点间的通讯性能优先级低于连接到同一个 switch的两个计算节点间的通讯性能优先级;对于连接到不同switch的两个计算节点,根据两个计算节点间的路由路径确定计算节点间的通讯性能,路由路径越短,计算节点之间的通讯性能优先级越高。其中,所述依据并行计算机系统中各个计算节点之间的通讯性能优先级,将MPMD 并行应用程序中各单程序流多数据流SPMD的内部任务分配到,并行计算机系统中当前处于空闲状态、通讯性能优先级相对高,且与所述各SPMD的内部任务数量对应的计算节点中包括若并行计算机系统中,当前处于空闲状态的通讯性能优先级最高的计算节点数量不小于所述各SPMD的内部任务数量,则将所述SPMD的内部任务分配到与所述各SPMD的内部任务数量对应的,当前处于空闲状态的通讯性能优先级最高的计算节点中;若并行计算机系统中,当前处于空闲状态的通讯性能优先级最高的计算节点数量小于所述各SPMD的内部任务数量,则依照通讯性能优先级从高至低的原则,确定当前空闲的计算节点数量与多余任务的数量对应的至少一个优先级层次;将所述各SPMD的内部任务分配到处于空闲状态的通讯性能优先级最高的计算节点,和所确定的优先级层次中与所述多余任务的数量对应的优先级相对高的空闲计算节点中,所述多余任务数量为,所述各 SPMD的内部任务数量减去当前空闲的通讯性能优先级最高的计算节点能够处理的任务数量后剩余的任务数量。其中,所述将所述SPMD的内部任务分配到与所述各SPMD的内部任务数量对应的, 当前处于空闲状态的通讯性能优先级最高的计算节点中包括若当前处于空闲状态的通讯性能优先级最高的计算节点中具有数量不小于SPMD 数量的计算节点集合,且计算节点集合内的计算节点数量与SPMD内的任务数量对应,则将同属于一个SPMD内的任务分配到能够处理该SPMD任务的同属于一个计算节点集合内的计算节点中,所述计算节点集合为至少两个优先级最高的连续的计算节点的集合。其中,所述解析所述配置文件包括解析所述配置文件,确定MPMD并行应用程序的SPMD组成,各SPMD对应的任务状况和各SPMD的内部任务数量。其中,依据并行计算机系统的网络拓扑结构和路由算法,预先确定各个计算节点之间的通讯性能优先级。本专利技术实施例还提供一种资源分配系统,包括配置文件确定模块,用于获取关于多程序流多数据流MPMD并行应用程序的作业提交命令,依据所述作业提交命令确定与所述MPMD并行应用程序对应的配置文件;解析模块,用于解析所述配置文件;指示判断模块,用于根据所述解析模块所解析的内容,判断所述配置文件中是否包含有指示进行资源优化分配的信息;分配模块,用于在所述指示判断模块的判断结果为是时,依据并行计算机系统中各个计算节点之间的通讯性能优先级,将MPMD并行应用程序中各单程序流多数据流SPMD 的内部任务分配到,并行计算机系统中当前处于空闲状态、通讯性能优先级相对高,且与所述各SPMD的内部任务数量对应的计算节点中。其中,依据并行计算机系统的网络拓扑结构和路由算法确定各个计算节点之间的通讯性能优先级,其中,连接到同一个数据交换机switch的两个计算节点间的通讯性能优先级最高,连接到不同switch的两个计算节点间的通讯性能优先级低于连接到同一个switch的两个计算节点间的通讯性能优先级;对于连接到不同switch的两个计算节点,根据两个计算节点间的路由路径确定计算节点间的通讯性能,路由路径越短,计算节点之间的通讯性能优先级越高。其中,所述分配模块包括第一判断单元,用于判断并行计算机系统中,当前处于空闲状态的通讯性能优先级最高的计算节点数量是否不小于所述各SPMD的内部任务数量;第一分配单元,用于在所述第一判断单元的判断结果为是时,将所述SPMD的内部任务分配到与所述各SPMD的内部任务数量对应的,当前处于空闲状态的通讯性能优先级最高的计算节点中;第一确定单元,用于在所述第一判断单元的判断结果为否时,依照通讯性能优先级从高至低的原则,确定当前空闲的计算节点数量与多余任务的数量对应的至少一个优先级层次;第二分配单元,用于将所述各SPMD的内部任务分配到处于空闲状态的通讯性能优先级最高的计算节点,和所述第一确定单元所确定的优先级层次中与所述多余任务的数量对应的优先级相对高的空闲计算节点中;所述多余任务数量为,所述各SPMD的内部任务数量减去当前空闲的通讯性能优先级最高的计算节点能够处理的任务数量后剩余的任务数量。其中,所述第一分配单元包括第一分配子单元,用于在当前处于空闲状态的通讯性能优先级最高的计算节点中具有数量不小于SPMD数量的计算节点集合,且计算节点集合内的计算节点数量与SPMD内的任务数量对应时,将同属于一个SPMD内的任务分配到能够处理该SPMD任务的同属于一个计算节点集合内的计算节点中,所述计算节点集合为至少两个优先级最高的连续的计算节点的集合。基于上述技术方案,本专利技术实施例采用并行计算机系统,按本文档来自技高网...

【技术保护点】
一种资源分配方法,其特征在于,包括:获取关于多程序流多数据流MPMD并行应用程序的作业提交命令,依据所述作业提交命令确定与所述MPMD并行应用程序对应的配置文件;解析所述配置文件,判断所述配置文件中是否包含有指示进行资源优化分配的信息;若是,依据并行计算机系统中各个计算节点之间的通讯性能优先级,将MPMD并行应用程序中各单程序流多数据流SPMD的内部任务分配到,并行计算机系统中当前处于空闲状态、通讯性能优先级相对高,且与所述各SPMD的内部任务数量对应的计算节点中。

【技术特征摘要】

【专利技术属性】
技术研发人员:岳霖霖龚道永
申请(专利权)人:无锡江南计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1