预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局*CN102455944A*(12)发明专利申请(10)申请公布号CN102455944A(43)申请公布日2012.05.16(21)申请号201010524795.8(22)申请日2010.10.29(71)申请人迈普通信技术股份有限公司地址610041四川省成都市高新区九兴大道16号迈普大厦(72)发明人曹淋曾健(74)专利代理机构成都虹桥专利事务所51124代理人邹裕蓉(51)Int.Cl.G06F9/50(2006.01)权利要求书权利要求书22页页说明书说明书55页页(54)发明名称多核负载均衡的方法以及处理器(57)摘要本发明针对无操作系统提供一种有效的多核负载均衡的方法以及实现该方法的处理器。处理器将每个核需要执行的任务组织成一个链表,在预设时间内记录每个核对应的执行轮数,执行轮数为核执行完对应链表上的所有任务的次数;处理器根据每个核对应的执行轮数判断每个核的负载情况并进行负载均衡;核对应的执行轮数越低,其核的负载越大。本发明中负载的计算不依赖于任务的执行时间,而是由执行轮数决定。在一定时间内,核完成的执行轮数间接表征了核的繁忙程度或者负载。执行轮数与负载的关系为:执行轮数越低,负载越大;执行轮数越高,表明核有执行更多任务的能力,负载越小。CN102459ACN102455944A权利要求书1/2页1.多核负载均衡的方法,其特征在于,包括以下步骤:处理器将每个核需要执行的任务组织成一个链表,在预设时间内记录每个核对应的执行轮数,执行轮数为核执行完对应链表上的所有任务的次数;处理器根据每个核对应的执行轮数判断每个核的负载情况并进行负载均衡;核对应的执行轮数越低,其核的负载越大。2.如权利要求1所述多核负载均衡的方法,其特征在于,处理器根据每个核对应的执行轮数进行负载均衡具体步骤如下:预设时间到,将每个核对应的执行轮数放入集合,负载均衡处理步骤如下:在集合中选取当前的最大执行轮数与最小执行轮数;当则将最大执行轮数所对应核上准备迁移的任务迁移至最小执行轮数所对应的核上,然后删除集合中当前的最大执行轮数与最小执行轮数,返回直至集合中不同时存在最大执行轮数与最小执行轮数时或者负载均衡结束。3.如权利要求2所述多核负载均衡的方法,其特征在于,得出最大执行轮数所对应核上准备迁移的任务的步骤如下:在所述预设时间内,每个核每执行任务一次后,累加对应任务的执行时间;并将所述最大执行轮数所对应核上执行的每个任务放入集合,依次在集合中选取执行时间最长的任务作为准备迁移的任务,直至则不再在集合中选取任务,得出本次最大执行轮数所对应核上准备迁移的所有任务。4.如权利要求2或3所述多核负载均衡的方法,其特征在于,所述预设值为20%。5.处理器,其特征在于,包括2个或2个以上的核、负载均衡器;所述核用于,执行其对应链表中的任务,在预设时间内记录该核对应的执行轮数,执行轮数为核执行完对应链表上的所有任务的次数;所述负载均衡器用于,根据每个核对应的执行轮数判断每个核的负载情况并进行负载均衡;核对应的执行轮数越低,其核的负载越大。6.如权利要求5所述处理器,其特征在于,所述负载均衡器还用于,预设时间到,将每个核对应的执行轮数放入集合,负载均衡处理如下:在集合中选取当前的最大执行轮数与最小执行轮数;当则将最大执行轮数所对应核上准备迁移的任务迁移至最小执行轮数所对应的核上,然后再删除集合中的当前的最大执行轮数与最小执行轮数,继续进行以上负载均衡的处理,直至集合中不同时存在最大执行轮数与最小执行轮数时或者负载均衡结束。7.如权利要求6所述处理器,其特征在于,所述核还用于,每个核每执行一次任务后,累加对应任务的执行时间;所述负载均衡器还用于,得出最大执行轮数所对应核上准备迁移的任务,步骤如下:在2CN102455944A权利要求书2/2页所述预设时间内,每个核每执行任务一次后,累加对应任务的执行时间;并将所述最大执行轮数所对应核上执行的每个任务放入集合,依次在集合中选取执行时间最长的任务作为准备迁移的任务,直至则不再在集合中选取任务,得出本次最大执行轮数所对应核上准备迁移的所有任务。8.如权利要求6或7所述处理器,其特征在于,所述预设值为20%。3CN102455944A说明书1/5页多核负载均衡的方法以及处理器技术领域[0001]本发明涉及基于多核处理技术,尤其涉及多核负载均衡技术。背景技术[0002]充分利用各个核的处理能力以提高系统吞吐率,是多核转发系统的关键。为此,需要把系统中的任务“均匀”的分布到各个核上去运行。均匀的分布并不是按任务的个数,而是让各个核的负载尽量均衡。[0003]要实现各个核的负载均衡,首先必须了解各个核的当前负载情况。获得各个核的当前负载后,就可以向各个核上调度任务,以实现负载均衡。[000