CN102981912A - 一种资源分配方法及系统 - Google Patents
一种资源分配方法及系统 Download PDFInfo
- Publication number
- CN102981912A CN102981912A CN2012104407982A CN201210440798A CN102981912A CN 102981912 A CN102981912 A CN 102981912A CN 2012104407982 A CN2012104407982 A CN 2012104407982A CN 201210440798 A CN201210440798 A CN 201210440798A CN 102981912 A CN102981912 A CN 102981912A
- Authority
- CN
- China
- Prior art keywords
- computing node
- spmd
- communication performance
- task
- priority
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供一种资源分配方法及系统,其中方法包括:获取关于MPMD并行应用程序的作业提交命令,依据所述作业提交命令确定与所述MPMD并行应用程序对应的配置文件;解析所述配置文件,判断所述配置文件中是否包含有指示进行资源优化分配的信息;若是,依据并行计算机系统中各个计算节点之间的通讯性能优先级,将MPMD并行应用程序中各单程序流多数据流SPMD的内部任务分配到,并行计算机系统中当前处于空闲状态、通讯性能优先级相对高,且与所述各SPMD的内部任务数量对应的计算节点中。本发明实施例有效的利用了计算资源,提高了MPMD并行应用的运行效率。
Description
技术领域
本发明涉及资源分配技术领域,尤其涉及一种资源分配方法及系统。
背景技术
MPMD(多程序流多数据流)并行应用是由多个SPMD(单程序流多数据流)组成,每个SPMD内部由同一个可执行程序按照一定规模构成,相互协作进行并行计算;同一个SPMD内不同任务之间可以通过通信函数进行交换数据和同步;不同SPMD的任务之间也进行消息通信。不同MPMD并行应用具有不同的通信特征,或相同MPMD并行应用通过相关参数的配置也可具有不同的通信特征。以地球系统模式MPMD类型的程序为例,如图1所示,该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任务的同属于一个计算节点集合内的计算节点中,所述计算节点集合为至少两个优先级最高的连续的计算节点的集合。
基于上述技术方案,本发明实施例采用并行计算机系统,按照大通信量的SPMD的内部任务优先分配到当前空闲的通信性能优先级相对高的计算节点的原则,进行MPMD并行应用的任务到并行计算机系统的计算资源的分配。相对现有技术随机进行MPMD并行应用的任务到计算资源的分配,而忽略同一模式内部任务和不同模式任务之间通信差异的分配方式,本发明实施例提供的资源分配方法,有效的利用了计算资源,提高了MPMD并行应用的运行效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种MPMD并行应用的结构框图;
图2为本发明实施例提供的资源分配方法的流程图;
图3为本发明实施例提供的一种并行计算机系统计算资源部分的结构框图;
图4为本发明实施例提供的资源分配系统的结构框图;
图5为本发明实施例提供的分配模块的结构框图;
图6为本发明实施例提供的第一分配单元的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2为本发明实施例提供的资源分配方法的流程图,参照图2,该方法可以包括:
步骤S100、获取关于MPMD并行应用程序的作业提交命令,依据所述作业提交命令确定与所述MPMD并行应用程序对应的配置文件;
现有技术可通过作业提交命令将MPMD并行应用程序提交到计算机系统内运行。提交命令中提供参数用以指定一个配置文件来指示MPMD程序的SPMD分量组成,如地球系统模式的MPMD程序中,可通过配置文件来指示MPMD的模式组成。步骤S100可与现有技术一致。
步骤S200、解析所述配置文件;
本发明实施例提供的配置文件,除了与现有技术一致可指示MPMD程序的SPMD分量组成外,还可在配置文件中设置用于指示是否开启本发明实施例提供的资源分配流程的信息,当配置文件指示开启本发明实施例提供的资源分配流程时,可通过该指示信息向计算机资源分配系统指示各任务之间的通信关系特征,即指示计算机资源分配系统,对于MPMD并行应用而言,SPMD内部任务的通信量大于不同SPMD任务之间的通信量,从而启动后续的将SPMD内部任务分配到计算机系统中当前空闲的通讯性能优先级相对高的计算节点中的流程;目前对于地球系统模式MPMD并行应用程序而言,地球系统模式MPMD并行应用程序的任务在通信方面存在以下特征:地球系统模式MPMD并行应用程序由若干个模式SPMD和一个耦合器SPMD组成;各SPMD分量内部不同任务之间有消息通信;不同分量模式SPMD的任务之间没有消息通信,各分量模式SPMD任务只和耦合器SPMD任务有消息通信。通过研究可证实普遍情况下,模式内部任务通信量大于模式之间的任务通信量。
为便于理解配置文件内容,现举一现有技术的配置文件示例,具体如下:
0-3 /home/gxnjs/swgfs/xuz/couple_model/new_test/exe/all/cpl
4-9 /home/gxnjs/swgfs/xuz/couple_model/new_test/exe/all/cice
10-15 /home/gxnjs/swgfs/xuz/couple_model/new_test/exe/all/clm
16-27 /home/gxnjs/swgfs/xuz/couple_model/new_test/exe/all/licom
28-39 /home/gxnjs/swgfs/xuz/couple_model/new_test/exe/all/gamil
上述配置文件是一个地球系统模式MPMD程序的配置文件,通过上述配置文件,可以知道该MPMD应用程序由4个模式(cice、clm、licom、gmail)和1个耦合器(cpl)组成,共40个任务,任务编号由0到39。其中,0号任务到3号任务共4个任务是cpl进程;4号任务到9号任务共6个任务是cice模式进程;10号任务到15号任务共6个任务是clm模式进程;16号任务到27号任务共12个任务是licom模式进程,28号任务到39号任务共12个任务是gamil模式进程。
本发明实施例的配置文件相对现有技术相比,在配置文件中还可设置用于指示是否开启本发明实施例提供的资源分配流程的信息,具体示例可如下:
#TASK_COMM_=ON
0-3 /home/gxnjs/swgfs/xuz/couple_model/new_test/exe/all/cpl
4-9 /home/gxnjs/swgfs/xuz/couple_model/new_test/exe/all/cice
10-15 /home/gxnjs/swgfs/xuz/couple_model/new_test/exe/all/clm
16-27 /home/gxnjs/swgfs/xuz/couple_model/new_test/exe/all/licom
28-39 /home/gxnjs/swgfs/xuz/couple_model/new_test/exe/all/gamil
相比现有技术,通过解析本发明实施例提供的配置文件不仅可以获得MPMD并行应用程序的SPMD组成和各SPMD对应的任务状况,确定各SPMD的内部任务数量。本发明实施例提供的配置文件中还设置了“#TASK_COMM_=ON或OFF”的信息,用于指示计算机资源分配系统是否执行本发明实施例提供的资源分配流程,配置文件中设置有“TASK_COMM=ON”表示执行本发明实施例提供的资源分配流程,确定各个SPMD内部任务的通信量大于不同SPMD之间任务的通信量,以便将SPMD的内部任务分配到计算机系统中当前处于空闲状态的通讯性能优先级相对高的计算节点中;如果配置文件设置有“TASK_COMM=OFF”或没有关键字信息,则表示不执行本发明实施例提供的计算资源分配流程。
值得注意的是,上述在配置文件中设置用于指示是否开启本发明实施例提供的资源分配流程的实现手段,仅为一种可选方式,其不应成为本发明实施例的限制。
步骤S300、判断所述配置文件中是否包含有指示进行资源优化分配的信息,若是,执行步骤S400;
具体可判断配置文件中是否设置有上述指示启动本发明实施例提供的资源优化分配流程的信息,此处的资源优化分配指的是本发明实施例提供的资源分配流程,即指示计算机系统SPMD内部任务之间的通信量大于不同SPMD任务之间的通信量,以便将SPMD内部任务分配到计算机系统中当前处于空闲状态的通讯性能优先级相对高的计算节点中;若判断结果为否,即不进行本发明实施例提供的资源优化分配的流程,可依照现有的资源分配方式进行资源的分配。
步骤S400、依据并行计算机系统中各个计算节点之间的通讯性能优先级,将MPMD并行应用程序中各单程序流多数据流SPMD的内部任务分配到,并行计算机系统中当前处于空闲状态、通讯性能优先级相对高,且与所述各SPMD的内部任务数量对应的计算节点中。
对于本发明实施例而言,各个计算节点之间的通讯性能是指任意两个计算节点之间的通信性能,如图3所示的AB、AC、AD、BC、BD、CD之间。
本发明实施例所指的各个计算节点之间的通讯性能优先级主要通过并行计算机系统的网络拓扑结构和网络路由算法确定;一般由系统网络设计者提供相关信息,具体的,计算节点与计算节点之间的通讯性能由两点决定:物理网络拓扑和网络路由算法。物理网络拓扑是指硬件连接的拓扑结构;路由算法目前是软件实现的。不论在任何系统中,一个计算节点内部的通讯性能是最高的,本发明实施例不考虑这种情况,本发明实施例考虑各个计算节点之间的通讯性能。对于本发明实施例而言,在拓扑结构中,如果两个计算节点是连接到同一个switch(数据交换机)中,路由算法对这些节点间的通讯性能没有影响,在本发明实施例中,这些节点间的通讯性能是优先级最高的,即对于连接到同一个switch中任意的两个计算节点,本发明实施例认为这些节点的通讯性能优先级一样,为最高的。对于不是连接到同一个switch的两个计算节点而言,这些计算节点的优先级低于最高优先级的计算节点,即对于本发明实施例而言,除了优先级最高的计算节点外,其他优先级的计算节点均为与非同一个switch连接的计算节点,对于这些计算节点的通讯性能优先级由网络拓扑和路由算法确定,网络拓扑可以通过命令查询,而路由算法是软件实现,只能通过系统计算网络的设计人员获得。通常,同一种网络拓扑会有多种路由算法,路由算法的不同,同样的计算节点到另一个计算节点的通讯性能会差异很大。在这些计算节点中,可通过两计算节点间的路由路径考虑两个计算节点的通讯性能优先级,路由路径越短,计算节点之间的通讯性能优先级越高。
即对于本发明实施例而言,计算节点之间的通讯性能优先级排序可以是:与同一个switch连接的计算节点之间的优先级最高,路由路径最短的与非同一个switch连接的计算节点之间的优先级第二高,路由路径第二短的与非同一个switch连接的计算节点之间的优先级第三高,依此类推。
本发明实施例除了考虑计算节点之间的通讯性能优先级外,还要考虑计算机系统中各个计算节点的工作状态,计算机节点的工作状态主要分为忙和闲,忙表示计算节点目前正在执行任务处理,闲表示计算节点目前处于空闲、无任务处理的状态。本发明实施例在判断进行资源优化分配后,需检测计算节点的工作状态,在此基础上,依据各个计算节点之间的通讯性能优先级,将SPMD的内部任务分配到,并行计算机系统中当前处于空闲状态、通讯性能优先级相对高,且与所述各SPMD的内部任务数量对应的计算节点中。此处通讯性能优先级相对高指的是在并行计算机系统处于空闲状态的计算节点中,与所述各SPMD的内部任务数量对应的通讯性能优先级排序在前的计算节点。
可选的,步骤S400的具体实施在此可以分为以下两种情况:
一、并行计算机系统中,当前处于空闲状态的通讯性能优先级最高的计算节点数量不小于所述各SPMD的内部任务数量;对于这种情况,可直接将SPMD的内部任务分配到与各SPMD的内部任务数量对应的,当前处于空闲状态的通讯性能优先级最高的计算节点中。
二、并行计算机系统中,当前处于空闲状态的通讯性能优先级最高的计算节点数量小于所述各SPMD的内部任务数量;对于这种情况,可依照通讯性能优先级从高至低的原则,确定当前空闲的计算节点数量与多余任务的数量对应的至少一个优先级层次;将各SPMD的内部任务分配到处于空闲状态的通讯性能优先级最高的计算节点,和所确定的优先级层次中与所述多余任务的数量对应的优先级相对高的空闲计算节点中。
其中,多余任务数量为,各SPMD的内部任务数量减去当前空闲的通讯性能优先级最高的计算节点能够处理的任务数量后剩余的任务数量。
本发明实施例中,所确定的优先级层次可能有多个,在通讯性能最高的优先级层次对应的空闲计算节点数量小于各SPMD的内部任务数量时,如果通讯性能第二优先级层次中的空闲的计算节点也无法满足多余任务的处理需求,即第二优先级层次中的空闲的计算节点数量小于多余任务数量,则需要再选取第三优先级层次中的空闲计算节点,结合第二优先级层次中的空闲的计算节点来满足多余任务的处理需求;甚至需要依序降低优先级层次,直至所降低到的优先级层次至最高优先级层次区间对应的空闲计算节点数量能够满足多余任务的处理需求;为便于理解,可参照下述示例:
如某个SPMD的内部任务数量为20个,而通讯性能第一优先级计算节点数量为10个,其中空闲计算节点为8个,通讯性能第二优先级的计算节点数量为5个,其中空闲计算节点为3个,通讯性能第三优先级的计算节点数量为10个,其中空闲计算节点为9个;则此时,需选取10个通讯性能第一优先级的计算节点中空闲的8个处理SPMD的8个内部任务,剩余的12个内部任务则分别由空闲的第二优先级的3个计算节点,和空闲的第三优先级的9个计算节点处理。
可选的,对于本发明实施例而言,若当前处于空闲状态的通讯性能优先级最高的计算节点中具有数量不小于SPMD数量的计算节点集合,且计算节点集合内的计算节点数量与各个SPMD内的任务数量对应,则可将同属于一个SPMD内的任务分配到能够处理该SPMD任务的同属于一个计算节点集合内的计算节点中。
其中,计算节点集合为至少两个优先级最高的连续计算节点的集合,连续的计算节点是指在该计算节点集合中任意的两个计算节点均连接在同一个switch上,计算节点集合中的计算节点之间不存在优先级状态不同的情况。为便于理解,可参照下述示例:
如MPMD并行应用中存在5个SPMD,各个SPMD的内部任务数量分别为3、4、5、5、4,且在通讯性能优先级最高的当前空闲的计算节点中,通讯性能优先级最高的连续计算节点所组成的计算节点集合至少有5个,各个计算节点集合内的计算节点数量至少为3、4、5、5、4,则可将同属于一个SPMD内的任务分配到能够处理该SPMD的同属于一个计算节点集合内的计算节点中,以实现计算资源的优化利用。
本发明实施例采用并行计算机系统,按照大通信量的SPMD的内部任务优先分配到当前空闲的通信性能优先级相对高的计算节点的原则,进行MPMD并行应用的任务到并行计算机系统的计算资源的分配。相对现有技术随机进行MPMD并行应用的任务到计算资源的分配,而忽略同一模式内部任务和不同模式任务之间通信差异的分配方式,本发明实施例提供的资源分配方法,有效的利用了计算资源,提高了MPMD并行应用的运行效率。
下面对本发明实施例提供的资源分配系统进行说明,下文描述的资源分配系统与上文的资源分配方法对应,两者可相互参照。
图4为本发明实施例提供的资源分配系统的结构框图,参照图4,该系统可以包括:
配置文件确定模块100,用于获取关于MPMD并行应用程序的作业提交命令,依据所述作业提交命令确定与所述MPMD并行应用程序对应的配置文件;
解析模块200,用于解析所述配置文件;
指示判断模块300,用于根据解析模块200所解析的内容,判断所述配置文件中是否包含有指示进行资源优化分配的信息;
分配模块400,用于在指示判断模块300的判断结果为是时,依据并行计算机系统中各个计算节点之间的通讯性能优先级,将MPMD并行应用程序中各单程序流多数据流SPMD的内部任务分配到,并行计算机系统中当前处于空闲状态、通讯性能优先级相对高,且与所述各SPMD的内部任务数量对应的计算节点中。
可依据并行计算机系统的网络拓扑结构和路由算法确定各个计算节点之间的通讯性能优先级,其中,连接到同一个switch的两个计算节点间的通讯性能优先级最高,连接到不同switch的两个计算节点间的通讯性能优先级低于连接到同一个swtich的两个计算节点间的通讯性能优先级;对于连接到不同switch的两个计算节点,根据两个计算节点间的路由路径确定计算节点间的通讯性能,路由路径越短,计算节点之间的通讯性能就越高,这些计算节点的通讯优先级越高。
本发明实施例采用并行计算机系统,按照大通信量的SPMD的内部任务优先分配到当前空闲的通信性能优先级相对高的计算节点的原则,进行MPMD并行应用的任务到并行计算机系统的计算资源的分配。相对现有技术随机进行MPMD并行应用的任务到计算资源的分配,而忽略同一模式内部任务和不同模式任务之间通信差异的分配方式,本发明实施例提供的资源分配系统,有效的利用了计算资源,提高了MPMD并行应用的运行效率。
图5示出了分配模块400的结构,参照图5,分配模块400可以包括:
第一判断单元410,用于判断并行计算机系统中,当前处于空闲状态的通讯性能优先级最高的计算节点数量是否不小于所述各SPMD的内部任务数量;
第一分配单元420,用于在第一判断单元410的判断结果为是时,将所述SPMD的内部任务分配到与所述各SPMD的内部任务数量对应的,当前处于空闲状态的通讯性能优先级最高的计算节点中;
第一确定单元430,用于在第一判断单元410的判断结果为否时,依照通讯性能优先级从高至低的原则,确定当前空闲的计算节点数量与多余任务的数量对应的至少一个优先级层次;
第二分配单元440,用于将所述各SPMD的内部任务分配到处于空闲状态的通讯性能优先级最高的计算节点,和第一确定单元430所确定的优先级层次中与所述多余任务的数量对应的优先级相对高的空闲计算节点中。
其中,多余任务数量为,各SPMD的内部任务数量减去当前空闲的通讯性能优先级最高的计算节点能够处理的任务数量后剩余的任务数量。
图6示出了第一分配单元420的结构,参照图6,第一分配单元420可以包括:
第一分配子单元421,用于在当前处于空闲状态的通讯性能优先级最高的计算节点中具有数量不小于SPMD数量的计算节点集合,且计算节点集合内的计算节点数量与SPMD内的任务数量对应时,将同属于一个SPMD内的任务分配到能够处理该SPMD任务的同属于一个计算节点集合内的计算节点中,所述计算节点集合为至少两个优先级最高的连续的计算节点的集合。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种资源分配方法,其特征在于,包括:
获取关于多程序流多数据流MPMD并行应用程序的作业提交命令,依据所述作业提交命令确定与所述MPMD并行应用程序对应的配置文件;
解析所述配置文件,判断所述配置文件中是否包含有指示进行资源优化分配的信息;
若是,依据并行计算机系统中各个计算节点之间的通讯性能优先级,将MPMD并行应用程序中各单程序流多数据流SPMD的内部任务分配到,并行计算机系统中当前处于空闲状态、通讯性能优先级相对高,且与所述各SPMD的内部任务数量对应的计算节点中。
2.根据权利要求1所述的方法,其特征在于,依据并行计算机系统的网络拓扑结构和路由算法确定各个计算节点之间的通讯性能优先级,其中,连接到同一个数据交换机switch的两个计算节点间的通讯性能优先级最高,连接到不同switch的两个计算节点间的通讯性能优先级低于连接到同一个switch的两个计算节点间的通讯性能优先级;对于连接到不同switch的两个计算节点,根据两个计算节点间的路由路径确定计算节点间的通讯性能,路由路径越短,计算节点之间的通讯性能优先级越高。
3.根据权利要求2所述的方法,其特征在于,所述依据并行计算机系统中各个计算节点之间的通讯性能优先级,将MPMD并行应用程序中各单程序流多数据流SPMD的内部任务分配到,并行计算机系统中当前处于空闲状态、通讯性能优先级相对高,且与所述各SPMD的内部任务数量对应的计算节点中包括:
若并行计算机系统中,当前处于空闲状态的通讯性能优先级最高的计算节点数量不小于所述各SPMD的内部任务数量,则将所述SPMD的内部任务分配到与所述各SPMD的内部任务数量对应的,当前处于空闲状态的通讯性能优先级最高的计算节点中;
若并行计算机系统中,当前处于空闲状态的通讯性能优先级最高的计算节点数量小于所述各SPMD的内部任务数量,则依照通讯性能优先级从高至低的原则,确定当前空闲的计算节点数量与多余任务的数量对应的至少一个优先级层次;将所述各SPMD的内部任务分配到处于空闲状态的通讯性能优先级最高的计算节点,和所确定的优先级层次中与所述多余任务的数量对应的优先级相对高的空闲计算节点中,所述多余任务数量为,所述各SPMD的内部任务数量减去当前空闲的通讯性能优先级最高的计算节点能够处理的任务数量后剩余的任务数量。
4.根据权利要求3所述的方法,其特征在于,所述将所述SPMD的内部任务分配到与所述各SPMD的内部任务数量对应的,当前处于空闲状态的通讯性能优先级最高的计算节点中包括:
若当前处于空闲状态的通讯性能优先级最高的计算节点中具有数量不小于SPMD数量的计算节点集合,且计算节点集合内的计算节点数量与SPMD内的任务数量对应,则将同属于一个SPMD内的任务分配到能够处理该SPMD任务的同属于一个计算节点集合内的计算节点中,所述计算节点集合为至少两个优先级最高的连续的计算节点的集合。
5.根据权利要求1所述的方法,其特征在于,所述解析所述配置文件包括:
解析所述配置文件,确定MPMD并行应用程序的SPMD组成,各SPMD对应的任务状况和各SPMD的内部任务数量。
6.根据权利要求1至5任一项所述的方法,其特征在于,依据并行计算机系统的网络拓扑结构和路由算法,预先确定各个计算节点之间的通讯性能优先级。
7.一种资源分配系统,其特征在于,包括:
配置文件确定模块,用于获取关于多程序流多数据流MPMD并行应用程序的作业提交命令,依据所述作业提交命令确定与所述MPMD并行应用程序对应的配置文件;
解析模块,用于解析所述配置文件;
指示判断模块,用于根据所述解析模块所解析的内容,判断所述配置文件中是否包含有指示进行资源优化分配的信息;
分配模块,用于在所述指示判断模块的判断结果为是时,依据并行计算机系统中各个计算节点之间的通讯性能优先级,将MPMD并行应用程序中各单程序流多数据流SPMD的内部任务分配到,并行计算机系统中当前处于空闲状态、通讯性能优先级相对高,且与所述各SPMD的内部任务数量对应的计算节点中。
8.根据权利要求7所述的系统,其特征在于,依据并行计算机系统的网络拓扑结构和路由算法确定各个计算节点之间的通讯性能优先级,其中,连接到同一个数据交换机switch的两个计算节点间的通讯性能优先级最高,连接到不同switch的两个计算节点间的通讯性能优先级低于连接到同一个switch的两个计算节点间的通讯性能优先级;对于连接到不同switch的两个计算节点,根据两个计算节点间的路由路径确定计算节点间的通讯性能,路由路径越短,计算节点之间的通讯性能优先级越高。
9.根据权利要求8所述的系统,其特征在于,所述分配模块包括:
第一判断单元,用于判断并行计算机系统中,当前处于空闲状态的通讯性能优先级最高的计算节点数量是否不小于所述各SPMD的内部任务数量;
第一分配单元,用于在所述第一判断单元的判断结果为是时,将所述SPMD的内部任务分配到与所述各SPMD的内部任务数量对应的,当前处于空闲状态的通讯性能优先级最高的计算节点中;
第一确定单元,用于在所述第一判断单元的判断结果为否时,依照通讯性能优先级从高至低的原则,确定当前空闲的计算节点数量与多余任务的数量对应的至少一个优先级层次;
第二分配单元,用于将所述各SPMD的内部任务分配到处于空闲状态的通讯性能优先级最高的计算节点,和所述第一确定单元所确定的优先级层次中与所述多余任务的数量对应的优先级相对高的空闲计算节点中;
所述多余任务数量为,所述各SPMD的内部任务数量减去当前空闲的通讯性能优先级最高的计算节点能够处理的任务数量后剩余的任务数量。
10.根据权利要求9所述的系统,其特征在于,所述第一分配单元包括:
第一分配子单元,用于在当前处于空闲状态的通讯性能优先级最高的计算节点中具有数量不小于SPMD数量的计算节点集合,且计算节点集合内的计算节点数量与SPMD内的任务数量对应时,将同属于一个SPMD内的任务分配到能够处理该SPMD任务的同属于一个计算节点集合内的计算节点中,所述计算节点集合为至少两个优先级最高的连续的计算节点的集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210440798.2A CN102981912B (zh) | 2012-11-06 | 2012-11-06 | 一种资源分配方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210440798.2A CN102981912B (zh) | 2012-11-06 | 2012-11-06 | 一种资源分配方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102981912A true CN102981912A (zh) | 2013-03-20 |
CN102981912B CN102981912B (zh) | 2015-05-20 |
Family
ID=47855968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210440798.2A Active CN102981912B (zh) | 2012-11-06 | 2012-11-06 | 一种资源分配方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102981912B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105208136A (zh) * | 2015-11-04 | 2015-12-30 | 苏州墨华高科信息技术有限公司 | 一种弹性并行cfd云计算系统 |
CN105573827A (zh) * | 2015-12-11 | 2016-05-11 | 联动优势电子商务有限公司 | 一种多机并行处理方法及装置 |
CN109361750A (zh) * | 2018-10-24 | 2019-02-19 | 上海精数信息科技有限公司 | 资源分配方法、装置、电子设备、存储介质 |
CN109583859A (zh) * | 2018-10-22 | 2019-04-05 | 中国平安人寿保险股份有限公司 | 多系统间批量交易任务处理方法及系统 |
CN111354052A (zh) * | 2020-02-21 | 2020-06-30 | 江苏赛诺格兰医疗科技有限公司 | 一种pet图像重建方法和系统 |
WO2020176041A1 (en) * | 2019-02-27 | 2020-09-03 | Singapore Telecommunications Limited | System for optimising data communication |
CN111694670A (zh) * | 2020-06-12 | 2020-09-22 | 北京字节跳动网络技术有限公司 | 资源分配方法、装置、设备和计算机可读介质 |
CN114564309A (zh) * | 2022-03-01 | 2022-05-31 | 航天科工智能运筹与信息安全研究院(武汉)有限公司 | 基于灵活配置实现性能提优的复杂算力系统并行处理方法 |
CN114625534A (zh) * | 2022-03-01 | 2022-06-14 | 航天科工智能运筹与信息安全研究院(武汉)有限公司 | 基于灵活配置实现性能提优的复杂算力系统并行处理系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004078600A (ja) * | 2002-08-19 | 2004-03-11 | Fujitsu Ltd | ロードモジュール生成方法、ロードモジュール生成プログラムおよびロードモジュール生成装置 |
CN1585380A (zh) * | 2004-05-28 | 2005-02-23 | 中国人民解放军国防科学技术大学 | 面向通信的分组并行输入/输出服务方法 |
CN101729324A (zh) * | 2008-10-10 | 2010-06-09 | 中兴通讯股份有限公司 | 资源分配方法以及家庭基站配置服务器 |
-
2012
- 2012-11-06 CN CN201210440798.2A patent/CN102981912B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004078600A (ja) * | 2002-08-19 | 2004-03-11 | Fujitsu Ltd | ロードモジュール生成方法、ロードモジュール生成プログラムおよびロードモジュール生成装置 |
CN1585380A (zh) * | 2004-05-28 | 2005-02-23 | 中国人民解放军国防科学技术大学 | 面向通信的分组并行输入/输出服务方法 |
CN101729324A (zh) * | 2008-10-10 | 2010-06-09 | 中兴通讯股份有限公司 | 资源分配方法以及家庭基站配置服务器 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105208136A (zh) * | 2015-11-04 | 2015-12-30 | 苏州墨华高科信息技术有限公司 | 一种弹性并行cfd云计算系统 |
CN105573827A (zh) * | 2015-12-11 | 2016-05-11 | 联动优势电子商务有限公司 | 一种多机并行处理方法及装置 |
CN109583859A (zh) * | 2018-10-22 | 2019-04-05 | 中国平安人寿保险股份有限公司 | 多系统间批量交易任务处理方法及系统 |
CN109361750A (zh) * | 2018-10-24 | 2019-02-19 | 上海精数信息科技有限公司 | 资源分配方法、装置、电子设备、存储介质 |
US11750473B2 (en) | 2019-02-27 | 2023-09-05 | Singapore Telecommunications Limited | System for optimising data communication |
WO2020176041A1 (en) * | 2019-02-27 | 2020-09-03 | Singapore Telecommunications Limited | System for optimising data communication |
CN111354052A (zh) * | 2020-02-21 | 2020-06-30 | 江苏赛诺格兰医疗科技有限公司 | 一种pet图像重建方法和系统 |
CN111354052B (zh) * | 2020-02-21 | 2024-01-02 | 江苏赛诺格兰医疗科技有限公司 | 一种pet图像重建方法和系统 |
CN111694670A (zh) * | 2020-06-12 | 2020-09-22 | 北京字节跳动网络技术有限公司 | 资源分配方法、装置、设备和计算机可读介质 |
CN111694670B (zh) * | 2020-06-12 | 2023-04-25 | 抖音视界有限公司 | 资源分配方法、装置、设备和计算机可读介质 |
CN114625534A (zh) * | 2022-03-01 | 2022-06-14 | 航天科工智能运筹与信息安全研究院(武汉)有限公司 | 基于灵活配置实现性能提优的复杂算力系统并行处理系统 |
CN114564309A (zh) * | 2022-03-01 | 2022-05-31 | 航天科工智能运筹与信息安全研究院(武汉)有限公司 | 基于灵活配置实现性能提优的复杂算力系统并行处理方法 |
CN114625534B (zh) * | 2022-03-01 | 2024-04-09 | 航天科工智能运筹与信息安全研究院(武汉)有限公司 | 基于灵活配置实现性能提优的复杂算力系统并行处理系统 |
CN114564309B (zh) * | 2022-03-01 | 2024-04-09 | 航天科工智能运筹与信息安全研究院(武汉)有限公司 | 基于灵活配置实现性能提优的复杂算力系统并行处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102981912B (zh) | 2015-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102981912A (zh) | 一种资源分配方法及系统 | |
CN108243245B (zh) | 基于混合雾计算的无线接入网络及其资源调配方法 | |
CN102111337A (zh) | 任务调度方法和系统 | |
CN109451540B (zh) | 一种网络切片的资源分配方法和设备 | |
CN105900064A (zh) | 调度数据流任务的方法和装置 | |
CN103036927A (zh) | 智能交通控制方法、装置与系统 | |
CN103401947A (zh) | 多个服务器的任务分配方法和装置 | |
CN109522090B (zh) | 资源调度方法及装置 | |
US20130238775A1 (en) | Thin client system, management server, workplace environment setting method and workplace environment setting program | |
CN111880911A (zh) | 一种任务负载调度方法、装置、设备及可读存储介质 | |
CN109196807B (zh) | 网络节点以及操作网络节点以进行资源分发的方法 | |
CN110830570B (zh) | 软件定义网络中鲁棒的有限控制器资源均衡部署方法 | |
CN114911612B (zh) | 一种面向cpu-gpu异构资源的任务调度方法 | |
CN113904923A (zh) | 一种基于软件定义网络的服务功能链联合优化方法 | |
CN114625500A (zh) | 云环境下拓扑感知的微服务应用调度的方法及应用 | |
CN102510403A (zh) | 用于车辆数据接收和实时分析的集群分布式系统及方法 | |
CN114116157A (zh) | 一种边缘环境下多边缘集群云结构及负载均衡调度方法 | |
CN108055321B (zh) | 基于国产化平台的高可靠集群构建方法 | |
CN114726434B (zh) | 一种适用于大规模光网络的毫秒级快速寻路方法 | |
WO2023108716A1 (zh) | 面向数据中心资源感知的虚拟网络映射方法 | |
CN113822485A (zh) | 一种配电网调度任务优化方法及系统 | |
Cohen et al. | Distributed asynchronous protocol for service provisioning in the edge-cloud continuum | |
CN110543362B (zh) | 一种图形处理器管理方法、装置及服务器 | |
CN110888741A (zh) | 应用容器的资源调度方法、装置、服务器及存储介质 | |
CN113391891B (zh) | 基于Rete和字符串模式匹配算法的负载均衡资源调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |