一种平衡节点负载的方法及装置制造方法及图纸

技术编号:12929048 阅读:72 留言:0更新日期:2016-02-29 00:07
本发明专利技术实施例公开了一种平衡节点的负载的方法及装置,该方法应用于众核平台,该方法包括:获取众核平台中的第一核内记录的负载信息;对于任一消息,根据消息的目的地址信息和消息的源地址信息,确定将消息发送至目的地址信息对应的核所需经过的节点;根据消息的数量以及消息所需经过的节点的信息,计算出完成所有消息的发送时,各个节点所需承载的负载量;将所承载的负载量超过其第一预设负载值的节点作为第一节点,从消息中确定所有经过第一节点的第一消息;从第一消息的源核或目的核中选择待迁移核;将待迁移核中的至少一个执行程序分别迁移至从众核平台中选择出的相应的目标核。采用本发明专利技术实施例提供的方法及装置可以提高CPU的性能。

【技术实现步骤摘要】
一种平衡节点负载的方法及装置
本专利技术涉及通信
,更具体的说,是涉及一种平衡节点负载的方法及装置。
技术介绍
随着互联网的发展,众核平台上核的数量越来越多,各个核之间通信的消息数量也越来越多。下面以Mesh网络芯片为例对众核平台上各个核之间的通信过程进行说明。请参阅图1,为现有技术中二维Mesh网络芯片内布局的示意图,每一个核都对应一节点Switch,节点Switch是各个核之间进行通信时消息的中转站。节点Switch会根据其接收到的消息的目的核地址与节点Switch自身的位置决定向哪个位置发送该消息。假设一消息的源核地址为(0,0)、目的核地址为(1,1),节点Switch先比较x坐标再比较y坐标,则核(0,0)向核(1,1)发送消息的过程如下:核(0,0)将消息发送到节点Switch(0,0),节点Switch(0,0)对比消息的目的核地址(1,1)与节点Switch(0,0)的位置,由于目的核的x坐标1大于节点Switch(0,0)的x坐标0,所以节点Switch(0,0)将消息发送至节点Switch(1,0);节点Switch(1,0)确定出该消息的目的核的x坐标1等于节点Switch(1,0)的x坐标1后,分析该消息的目的核的y坐标,由于目的核的y坐标1大于节点Switch(1,0)的y坐标0,所以将该消息发送至节点Switch(1,1),节点Switch(1,1)对比该消息的目的核(1,1)的y坐标1与节点(1,1)的y坐标1相等,则把该消息发送到核(1,1)。对于节点Switch(0,0)与节点Switch(1,1)来说,上述消息为本地负载,对于节点Switch(1,0)来说上述消息为远端负载。专利技术人在实现本专利技术创造的过程中发现,在核与核进行通信时,可能会造成一些节点Switch的负载量过多,从而导致CPU的性能降低。
技术实现思路
有鉴于此,本专利技术提供了一种平衡节点负载的方法及装置,以克服现有技术中由于一些节点的负载量过多,导致CPU的性能降低的问题。为实现上述目的,本专利技术提供如下技术方案:第一方面,一种平衡节点负载的方法,应用于众核平台,所述方法包括:获取所述众核平台中的第一核内记录的负载信息,所述第一核包括所述众核平台中已分配有执行程序的核,所述负载信息包括所述第一核中需要发送的消息的数量、所述消息的目的地址信息和所述消息的源地址信息,所述执行程序用于生成与所述消息相关的信息;对于任一所述消息,根据所述消息的目的地址信息和所述消息的源地址信息,确定将所述消息发送至所述目的地址信息对应的核所需经过的节点;根据所述消息的数量以及所述消息所需经过的节点的信息,计算出完成所有消息的发送时,各个节点所需承载的负载量;将所承载的负载量超过其第一预设负载值的节点作为第一节点,从所述消息中确定所有经过所述第一节点的第一消息以及所述第一消息的源核地址信息对应的源核或所述第一消息的目的核地址信息对应的目的核;从所述第一消息的源核或目的核中选择待迁移核;将所述待迁移核中的至少一个所述执行程序分别迁移至从所述众核平台中选择出的相应的目标核,以便所述目标核将所述至少一个所述执行程序对应的消息,发送至相应的目的地址信息对应的核,所需经过的节点不包括所述第一节点,所述目标核对应的节点所承载的负载量低于第二预设负载值。在第一方面的第一种可能实现方式中,从所述众核平台中选择目标核包括:将所承载的负载量低于所述第二预设负载值的节点作为第二节点,检测所述第二节点对应的核的状态标识,所述状态标识包括空闲状态标识与非空闲状态标识;将状态标识为空闲状态标识的核确定为第二核;从所述第二核中选择出所述目标核。在第一方面的第二种可能实现方式中,从所述众核平台中选择目标核包括:将所承载的负载量低于所述第二预设负载值的节点作为第二节点,从所述第二节点中选择所承载的负载量最小的节点,并将所述所承载的负载量最小的节点对应的核作为所述目标核。结合第一方面、结合第一方面的第一种可能实现方式或者结合第一方面的第二种可能实现方式,在第三种可能实现方式中,所述从所述第一消息的源核或目的核中选择待迁移核包括:比较各个所述第一消息的源核中消息的数量,获得消息数量最多的源核,并将所述消息数量最多的源核或所述消息数量最多的源核对应的目的核作为所述待迁移核。在第一方面的第四种可能实现方式中,所述将所述待迁移核中的至少一个所述执行程序分别迁移至从所述众核平台中选择出的相应的目标核包括:对于所述至少一个所述执行程序中的每一所述执行程序,获得所述执行程序,将所述执行程序设置于相应的所述目标核,并根据相应的所述目标核的地址信息和所述执行程序对应的待迁移核的负载信息,对所述目标核的负载信息进行更新,将所述待迁移核中的所述执行程序删除。结合第一方面或者结合第一方面的第四种可能实现方式,在第五种可能实现方式中,在所述将所述待迁移核中的至少一个所述执行程序分别迁移至从所述众核平台中选择出的相应的目标核之后,还包括:将目的地址信息为所述待迁移核的地址信息的核,中的目的地址信息更新为相应的目标核的地址信息。结合第一方面或者结合第一方面的第四种可能实现方式,在第六种可能实现方式中,在将所述待迁移核中的至少一个所述执行程序分别迁移至从所述众核平台中选择出的相应的目标核之后,还包括:在所述待迁移核中设置反馈程序,所述反馈程序用于在所述待迁移核接收到其他核发送的消息时,向所述其他核发送更新目的核地址信息的指示;在所述其他核中设置应答程序,所述应答程序用于在接收到所述更新目的核地址信息的指示时,将所述其他核中与所述至少一个执行程序对应的消息的目的核地址信息更新为相应目标核的地址信息。在第一方面的第七种可能实现方式中,所述第一核中还记录有应用程序类别,所述将所述待迁移核中的至少一个所述执行程序分别迁移至从所述众核平台中选择出的相应的目标核包括:获得所述第一核中各个执行程序的执行程序类别;将同一执行程序类别的执行程序设置于同一所述目标核中;将所述第一核中所述同一执行程序类别的执行程序清除。结合第一方面、结合第一方面的第一种可能实现方式、结合第一方面的第二种可能实现方式、结合第一方面的第三种可能实现方式或者结合第一方面的第七种可能实现方式,在第八种可能实现方式中,在将所述待迁移核中的至少一个所述执行程序分别迁移至从所述众核平台中选择出的相应的目标核之前,还包括:确定所述第一节点所承载的负载量中的本地负载量;当所述第一节点的本地负载量不大于所述第一节点的预设本地负载值时,执行所述将所述待迁移核中的至少一个所述执行程序分别迁移至从所述众核平台中选择出的相应的目标核的操作。在第一方面的第九种实现方式中,所述第一核记录负载信息包括:在检测到所述第一核发送消息时,检测所述消息的相关信息,所述相关信息包括所述消息的目的地址信息和所述消息的源地址信息;确定所述消息的第一消息数量;当已经记录有具有相同源地址信息和目的地址信息的消息时,将所述具有相同源地址信息和目的地址信息的消息对应的消息的数量增加所述第一消息数量;当未记录有具有相同源地址信息和目的地址信息的消息时,记录所述第一核发送消息的目的地址信息和消息的源地址信息,并将其对应的消息数量设置为所述第一消息数量。结合第一方面的第九种实现方式,在本文档来自技高网
...
一种平衡节点负载的方法及装置

【技术保护点】
一种平衡节点负载的方法,应用于众核平台,其特征在于,所述方法包括:获取所述众核平台中的第一核内记录的负载信息,所述第一核包括所述众核平台中已分配有执行程序的核,所述负载信息包括所述第一核中需要发送的消息的数量、所述消息的目的地址信息和所述消息的源地址信息,所述执行程序用于生成与所述消息相关的信息;对于任一所述消息,根据所述消息的目的地址信息和所述消息的源地址信息,确定将所述消息发送至所述目的地址信息对应的核所需经过的节点;根据所述消息的数量以及所述消息所需经过的节点的信息,计算出完成所有消息的发送时,各个节点所需承载的负载量;将所承载的负载量超过其第一预设负载值的节点作为第一节点,从所述消息中确定所有经过所述第一节点的第一消息以及所述第一消息的源核地址信息对应的源核或所述第一消息的目的核地址信息对应的目的核;从所述第一消息的源核或目的核中选择待迁移核;将所述待迁移核中的至少一个所述执行程序分别迁移至从所述众核平台中选择出的相应的目标核,以便所述目标核将所述至少一个所述执行程序对应的消息,发送至相应的目的地址信息对应的核,所需经过的节点不包括所述第一节点,所述目标核对应的节点所承载的负载量低于第二预设负载值。...

【技术特征摘要】
1.一种平衡节点负载的方法,应用于众核平台,其特征在于,所述方法包括:获取所述众核平台中的第一核内记录的负载信息,所述第一核包括所述众核平台中已分配有执行程序的核,所述负载信息包括所述第一核中需要发送的消息的数量、所述消息的目的地址信息和所述消息的源地址信息,所述执行程序用于生成与所述消息相关的信息;对于任一所述消息,根据所述消息的目的地址信息和所述消息的源地址信息,确定将所述消息发送至所述目的地址信息对应的核所需经过的节点;根据所述消息的数量以及所述消息所需经过的节点的信息,计算出完成所有消息的发送时,各个节点所需承载的负载量;将所承载的负载量超过其第一预设负载值的节点作为第一节点,从所述消息中确定所有经过所述第一节点的第一消息以及所述第一消息的源核地址信息对应的源核或所述第一消息的目的核地址信息对应的目的核;从所述第一消息的源核或目的核中选择待迁移核;将所述待迁移核中的至少一个所述执行程序分别迁移至从所述众核平台中选择出的相应的目标核,以便所述目标核将所述至少一个所述执行程序对应的消息,发送至相应的目的地址信息对应的核,所需经过的节点不包括所述第一节点,所述目标核对应的节点所承载的负载量低于第二预设负载值。2.根据权利要求1所述方法,其特征在于,从所述众核平台中选择目标核包括:将所承载的负载量低于所述第二预设负载值的节点作为第二节点,检测所述第二节点对应的核的状态标识,所述状态标识包括空闲状态标识与非空闲状态标识;将状态标识为空闲状态标识的核确定为第二核;从所述第二核中选择出所述目标核。3.根据权利要求1所述方法,其特征在于,从所述众核平台中选择目标核包括:将所承载的负载量低于所述第二预设负载值的节点作为第二节点,从所述第二节点中选择所承载的负载量最小的节点,并将所述所承载的负载量最小的节点对应的核作为所述目标核。4.根据权利要求1至3任一所述方法,其特征在于,所述从所述第一消息的源核或目的核中选择待迁移核包括:比较各个所述第一消息的源核中消息的数量,获得消息数量最多的源核,并将所述消息数量最多的源核或所述消息数量最多的源核对应的目的核作为所述待迁移核。5.根据权利要求1所述方法,其特征在于,所述将所述待迁移核中的至少一个所述执行程序分别迁移至从所述众核平台中选择出的相应的目标核包括:对于所述至少一个所述执行程序中的每一所述执行程序,获得所述执行程序,将所述执行程序设置于相应的所述目标核,并根据相应的所述目标核的地址信息和所述执行程序对应的待迁移核的负载信息,对所述目标核的负载信息进行更新,将所述待迁移核中的所述执行程序删除。6.根据权利要求1或5所述方法,其特征在于,在所述将所述待迁移核中的至少一个所述执行程序分别迁移至从所述众核平台中选择出的相应的目标核之后,还包括:将目的地址信息为所述待迁移核的地址信息的核中的目的地址信息更新为相应的目标核的地址信息。7.根据权利要求1或5所述方法,其特征在于,在将所述待迁移核中的至少一个所述执行程序分别迁移至从所述众核平台中选择出的相应的目标核之后,还包括:在所述待迁移核中设置反馈程序,所述反馈程序用于在所述待迁移核接收到其他核发送的消息时,向所述其他核发送更新目的核地址信息的指示;在所述其他核中设置应答程序,所述应答程序用于在接收到所述更新目的核地址信息的指示时,将所述其他核中与所述至少一个执行程序对应的消息的目的核地址信息更新为相应目标核的地址信息。8.根据权利要求1所述方法,其特征在于,所述第一核中还记录有应用程序类别,所述将所述待迁移核中的至少一个所述执行程序分别迁移至从所述众核平台中选择出的相应的目标核包括:获得所述第一核中各个执行程序的执行程序类别;将同一执行程序类别的执行程序设置于同一所述目标核中;将所述第一核中所述同一执行程序类别的执行程序清除。9.根据权利要求1、2、3和8任一所述方法,其特征在于,在将所述待迁移核中的至少一个所述执行程序分别迁移至从所述众核平台中选择出的相应的目标核之前,还包括:确定所述第一节点所承载的负载量中的本地负载量;当所述第一节点的本地负载量不大于所述第一节点的预设本地负载值时,执行所述将所述待迁移核中的至少一个所述执行程序分别迁移至从所述众核平台中选择出的相应的目标核的操作。10.根据权利要求1所述方法,其特征在于,所述第一核记录负载信息包括:在检测到所述第一核发送消息时,检测所述消息的相关信息,所述相关信息包括所述消息的目的地址信息和所述消息的源地址信息;确定所述消息的第一消息数量;当已经记录有具有相同源地址信息和目的地址信息的消息时,将所述具有相同源地址信息和目的地址信息的消息对应的消息的数量加所述第一消息数量;当未记录有具有相同源地址信息和目的地址信息的消息时,记录所述第一核发送消息的目的地址信息和消息的源地址信息,并将其对应的消息数量设置为所述第一消息数量。11.根据权利要求10所述方法,其特征在于,所述相关信息还包括所述消息的长度信息,所述确定所述消息的第一消息数量包括:根据所述长度信息以及所述众核平台中的各个节点一次发送消息的最大长度信息,计算出所述消息的第一消息...

【专利技术属性】
技术研发人员:王金堂
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1