[发明专利]一种节点调度优先级确定方法及装置有效
申请号: | 201210031763.3 | 申请日: | 2012-02-13 |
公开(公告)号: | CN102567120A | 公开(公告)日: | 2012-07-11 |
发明(设计)人: | 石伟 | 申请(专利权)人: | 北京星网锐捷网络技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华 |
地址: | 100036 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 节点 调度 优先级 确定 方法 装置 | ||
技术领域
本发明涉及嵌入式计算机技术领域,尤其涉及一种节点调度优先级确定方法及装置。
背景技术
目前,依靠提高单核处理器中单颗中央处理器(CPU)内核的运行频率已经不能满足用户对网络设备性能的要求。为了提高网络设备对数据流的处理速度,多核处理器应运而生。多核处理器可以解决单核处理器频率提升的瓶颈问题,通过采用多个CPU内核同时协同工作,可以大量缩短任务执行的时间。
为了高效地利用多核处理器,可以把系统任务划分为多个线程(或多个子任务),每个线程又可以划分为多个阶段执行点,一个阶段执行点就是调度内核的最小执行颗粒,从而使得每个内核都能充分得到调度。每一个内核同一时间只能执行一个线程中的一个阶段执行点(即一个最小执行颗粒)。
时间、阶段执行点、内核,这三个变量是一对一的关系不可重叠。通常把时间和阶段执行点的组合定义为一个最小的执行单元,每个内核可以自由地获取到一个空闲的执行单元并得到调度。具体的,可以用如图1所示的坐标图表示他们之间的关系。
对于一个网络设备来说,系统任务应该划分多少个线程,每个线程该划分多少个阶段执行点,如何均衡这些线程的负载,这些是决定整个网络设备性能的关键。目前大部分网络设备只有一个线程,在这个线程上再划分多个阶段执行点,所以不涉及负载均衡的问题。但是随着CPU技术的发展,多核的概念已不再是双核或4核,而是可集成十多个甚至几十个内核。那么单纯地在一个线程里分布多个内核已经不能充分发挥系统性能,必须要在多线程多阶段执行点上分布多个内核,再加以负载均衡。
对于每个阶段执行点中可能出现的临界资源争夺问题,在多核处理器中尤其突出。多核处理器中会出现多个内核执行同一个阶段执行点的情况,如果这个阶段执行点出现操作临界资源的情况,那么这些内核就要排队等待获取临界资源。在有临界资源的阶段执行点中通常用自旋锁的方式进行保护,如果某个内核先抢到这个临界资源,其他内核执行到自旋锁的地方就挂起等待,直到临界资源被释放为止,从而出现了临界资源互锁。如果出现多个内核进入到某阶段执行点后都需要轮询等待临界资源,就出现了多核竞争,导致大大降低多核的性能发挥。
在多核处理器中数据处理从开始到结束的一连串的动作可以称为流水线,一条流水线可划分为多个处理阶段,每个处理阶段就是内核调度的节点(一个节点就是一个阶段执行点),也是内核并行调度和进入的最小原子操作。
有些多核处理器按照节点的任务队列深度来判断节点的调度优先级,当一个内核完成一个节点的处理任务后就需要进入另一个节点获取新的任务进行处理,此时,节点的选择是根据当前等待多核调度的节点的调度优先级,选择调度优先级高的节点进行处理。如果节点n出现操作临界资源的情况,而此时节点n-1(节点n之前的一个节点)还在源源不断地将要处理的数据传输给节点n,那么节点n的调度优先级就会不断增加。系统调度算法就会分配更多的内核来处理节点n,这些内核执行到节点n的临界资源时就会进行多核竞争,发生互斥,导致性能下降。
发明内容
本发明实施例提供一种节点调度优先级确定方法及装置,用于减少节点中发生的多核竞争,提高多核处理器的性能。
一种节点调度优先级确定方法,应用于根据任务队列深度确定节点调度优先级的多核处理器中,所述方法包括:
确定出现临界资源互锁的节点n;
在每条在节点n处发生临界资源互锁的流水线上,降低距离节点n最近,且位于节点n之前的节点n-1的调度优先级,其中n为大于1的正整数。
一种节点调度优先级确定装置,应用于根据任务队列深度确定节点调度优先级的多核处理器中,所述装置包括:
确定模块,用于确定出现临界资源互锁的节点n;
调整模块,用于在每条在节点n处发生临界资源互锁的流水线上,降低距离节点n最近,且位于节点n之前的节点n-1的调度优先级,其中n为大于1的正整数。
根据本发明实施例提供的方案,在根据任务队列深度确定节点调度优先级的多核处理器中,在每条流水线上,降低出现临界资源互锁的节点n之前的节点n-1的调度优先级,按照内核根据当前等待多核调度的节点的调度优先级,选择调度优先级高的节点进行处理的原理,降低节点n-1得到调度的可能性,从而避免前向节点不断的向出现瓶颈的后向节点输入待处理的数据任务,避免节点n中的任务队列深度增加,从而避免更多的内核调度到节点n,减少节点n出现多核竞争的可能性,充分发挥多核处理器的性能。
附图说明
图1为现有技术中时间、阶段执行点和内核的关系示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京星网锐捷网络技术有限公司,未经北京星网锐捷网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210031763.3/2.html,转载请声明来源钻瓜专利网。