中央处理器和图形处理器负载均衡的方法和系统的制作方法_2

文档序号:9326756阅读:来源:国知局
存空间的大小,可以将多个计算节点内的CPU设备按照编号顺序划分为一个CPU设备分组,例如,如果设置4个CPU设备分为一个CPU设备分组,按照编号顺序可以1-4号的CPU设备分到一个CPU设备分组,5-8号的CPU设备分到一个CPU设备分组,由于所有的CPU设备相同,即具有相同的内存空间,这样组内的CPU设备的计算能力一致,从而可以同时处理相同的任务,同样可以根据计算每个任务需要的内存空间的大小,可以将多个计算节点内的相同的GPU设备划分为一个GPU设备分组,由于所有的GPU设备相同,即具有相同的内存空间,这样组内的GPU设备的计算能力一致,从而可以同时处理相同的任务,这样的分组可以有效利用所有的CPU设备和GPU设备的计算能力,避免了现有技术中在CPU与GPU异构协同计算集群中一个计算节点内采用CPU与GPU异构并行计算而导致的任务完成效率低的技术问题。
[0029]S103、将每个任务分别划分给一个CPU设备分组或一个GPU设备分组计算。
[0030]具体的,可以采用是多点接口(Multi Point Interface,简称:MPI)通信模块对每个任务进行动态划分,可以由主进程根据每个CPU设备分组或GPU设备分组已有的任务作为参考信息,在系统运行过程中,根据每个CPU设备分组或GPU设备分组的负载状态,随时调整任务的分配,分别划分给一个CPU设备分组或一个GPU设备分组进行计算,使得各计算节点尽可能保持负载的平衡。
[0031]本发明实施例提供的中央处理器和图形处理器负载均衡的方法,应用于包含多个计算节点的CPU与GPU异构协同计算集群中,通过对至少一个相同的CPU与至少一个相同的GPU设备分别进行编号,再根据计算每个任务所需要的内存空间,对所述CPU设备和所述GPU设备分别按照编号顺序进行分组,然后将每个任务划分给一个CPU设备分组或一个GPU设备分组来完成每个任务的计算,由于每个组内的CPU设备或GPU设备都相同,即具有相同的的内存空间,因此都具有相同的计算能力,将划分的任务数据分配给组内每个CPU设备或者每个GPU设备,使得他们可以同时处理相同的任务数据,从而完成所有任务的计算,进而优化了 CPU与GPU设备间负载均衡。
[0032]进一步地,在上述实施例的基础上,上述步骤102,包括:根据所述CPU设备的内存空间以及计算每个任务需要的内存空间的大小,计算得到每个任务需要的所述CPU设备的数目;
[0033]将一个任务需要的CPU设备作为一个CPU设备分组,按照计算出的CPU设备数目和总的CPU设备的数目,得到CPU设备的分组数目,按照所述分组数目将所述CPU设备按照编号顺序分组。
[0034]具体的,根据所述CPU设备的内存空间以及每个任务需要的内存空间的大小,可以假设计算得到每个任务需要的所述CPU设备的数目为GC,按照以下公式:GC =(Mcom+MemC-1) /MemC,其中,一个计算节点的内存空间的大小为MemC,每个任务需要的内存空间的大小为Mcom,所述每个任务所需要的内存空间是相同的,则可以计算出每个CPU设备分组的CPU设备的数目,如果有N个计算节点,每个计算节点有一个CPU设备,则所有的CPU设备可以分为N/GC个组,每个CPU设备分组计算同一个任务时,可以再对每个CPU设备划分该任务数据,由于组内的CPU设备相同,即具有相同的内存空间,此时组内的CPU设备的计算能力一致,可以采用静态的划分,计算速度更快。
[0035]进一步地,在上述实施例的基础上,上述步骤102,包括:根据GPU的内存空间以及每个任务需要的内存空间的大小,计算得到每个任务需要的所述GPU设备的数目;
[0036]将一个任务需要的GPU设备作为一个GPU设备分组,按照计算出的GPU设备数目和总GPU设备的数目,得到GPU设备的分组数目;按照所述分组数目将所述GPU设备按照编号顺序分组。
[0037]具体的,根据所述GPU设备的内存空间以及每个任务需要的内存的空间大小,可以假设计算得到每个任务计算需要的所述GPU设备的数目为GG,则可以按照以下公式:GG=(Mcom+MemG-1) /MemG,其中,一个计算节点的内存大小为MemG,每个任务需要的内存空间的大小为Mcom,所述每个任务所需要的内存空间是相同的,则可以计算出每个GPU设备分组的GPU设备的数目,如果有N个计算节点,每个计算节点内有M个GPU设备,则所有的GPU设备可以分为M*N/GC个组,每个GPU设备分组计算同一个任务,可以再对每个GPU设备划分该任务数据,由于组内的GPU设备相同,此时组内的GPU设备的计算能力一致,可以采用静态的划分,计算速度更快。
[0038]进一步地,在上述实施例的基础上,上述步骤103,包括:将每个任务的编号通知给所划分到的CPU设备分组或GPU设备分组的组长,组长再把划分到本分组的任务编号广播给分组中每个组员,收到相同任务编号的所述CPU设备或者所述GPU设备完成相应任务的计算。
[0039]具体为,给每个任务进行编号,具体可以是数字编号或者字母编号,只要有唯一识别的信息即可,然后在每个CPU设备分组或GPU设备分组里设置一个组长,一般选择组内编号最小的设备为组长,由主进程将每个任务的编号划分给每个CPU设备分组或GPU设备分组的组长,由组长把每个任务的编号广播给每个组员,该广播信息可以包括任务编号信息、任务需要的空间等信息,当收到相同任务编号的CPU设备或者GPU设备则同时计算该任务,直至完成任务后可以立即向主进程请求下一个任务,直至将所有任务处理完毕为止。
[0040]图3为本发明实施例提供的中央处理器和图形处理器负载均衡的系统结构框图,如图3所示,应用于包含多个计算节点的CPU与GPU异构协同计算集群(未示出)中,中央处理器和图形处理器负载均衡的系统,包括:编号单元10、分组单元20和计算单元30 ;[0041 ] 其中,编号单元10,用于对至少一个相同的CPU设备和至少一个相同的GPU设备分别进行编号,其中,每个计算节点的所有CPU作为一个CPU设备,每个计算节点的一块GPU作为一个GPU设备;
[0042]分组单元20,用于根据计算每个任务需要的内存空间,将所述CPU设备和所述GPU设备分别按照编号顺序进行分组;
[0043]计算单元30,用于将每个任务划分给一个CPU设备分组或一个GPU设备分组。
[0044]本发明实施例提供的中央处理器和图形处理器负载均衡的系统,应用于包含多个计算节点的CPU与GPU异构协同计算集群中,包括:编号单元、分组单元和计算单元,通过编号单元对至少一个相同的CPU设备和至少一个相同的GPU设备分别进行编号,分组单元根据计算每个任务所需要的内存空间,将所述CPU设备和所述GPU设备分别按照编号顺序进行分组,然后计算单元将每个任务分辨划分给一个CPU设备分组或一个GPU设备分组完成每个任务的计算,由于每个组内的CPU设备和GPU设备都相同,即具有相同的内存空间,因此具有相同的计算能力,将划分的任务数据分配给组内每个CPU设备或者每个GPU设备,使得他们可以同时处理相同的任务数据,从而完成所有任务的计算,进而优化了 CPU与GPU设备间负载均衡。
[0045]进一步地,上述分组单元20还包括:CPU设备分组单元210 ;
[0046]所述CP
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1