一种基于多核处理器的流量控制方法和多核处理器的制作方法

文档序号:7747107阅读:147来源:国知局
专利名称:一种基于多核处理器的流量控制方法和多核处理器的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种基于多核处理器的流量控制方法和多核处理
O
背景技术
由于网络总是由有限的资源所组成,包括网络节点内的信息缓冲器、节点处理器和输入/输出链路等。若对数据传输不加任何控制措施,就可能出现网内数据流量不均, 有些节点和链路上的数据超过了节点的存储和处理能力,或者超过了链路的传输能力,导 致网络的拥塞。通常情况下,网络边缘处的节点设备作为转发单元,负责执行流量/拥塞控 制。这些转发单元的核心包括网络处理器、多核处理器和可编程门阵列等。随着网络流量 的日益增长,处理器逐渐向多核方向发展,并且由于单核处理的业务日趋复杂,多核处理器 内部实际上也形成了以单核为节点的微网络。与由节点设备构成的宏观网络类似,为了保证微网络内的报文被转发出去时是有 序的,通常需要在微网络内就采取一些报文保序的措施,而这些报文保序措施恰恰也构成 了微网络内流量突发的原因,导致数据流在未被转发出去之前,微网络就发生了拥塞。例如,多核处理器的多线程处理机制容易造成同一条数据流的报文乱序,对此,通 常的保序做法是采用多线程之间流水线方式传递出发信号量,由得到信号量的线程执行处 理,而线程的处理时刻有时并不均勻,由此造成流量突发,进而发生微网络的拥塞。再如,多 核处理器中的前端单核在处理报文时增加报文序列号,后端单核需要对报文缓存从而重新 排序以实现报文保序,这种报文保序方式也会造成流量突发,进而发生微网络的拥塞。由于现有技术在处理微网络内传输的报文时,单核之间报文的转发只是采用先进 先出(FIFO,First In First Out)的简单转发模式,而构成多核处理器的各个单核性能 并非完全一致,例如,可能处于前端的单核性能高于处于后端的单核性能,如此,一旦微网 络内的流量突发导致拥塞,进而需要丢弃报文时,单核之间对报文采用的FIFO这种简单转 发模式容易造成高优先级报文被丢弃。因此,即使在宏观网络的发送节点执行了服务质量 (QoS,Quality of Service)控制,但多核处理器内部(微网络内)发生的上述异常实际上 已经破坏了网络的QoS。

发明内容
本发明实施例提供一种基于多核处理器的流量控制方法和多核处理器。—种基于多核处理器的流量控制方法,包括多核处理器中的首核对接收到的报 文进行优先级排序,并将排序后的报文发送到至少一个中间核,所述中间核为所述多核处 理器中除首核之外的其他单核;多核处理器中所述至少一个中间核中的任意一个中间核接 收上一个单核发送的报文并转发。一种多核处理器,包括首核和至少一个中间核,所述首核,用于对接收到的报文进 行优先级排序并将排序后的报文发送到至少一个中间核;所述至少一个中间核中的任意一个中间核,用于接收上一个单核发送的报文并转发,所述中间核为所述多核处理器中除首 核之外的其他单核。本发明实施例通过的基于多核处理器的流量控制方法中,多核处理器中的首核对 接收到的报文进行优先级排序并按照排序后的优先级高低转发该报文;多核处理器中的中 间核在其出口处将经过优先级排序的报文转发至该多核处理器中的下一单核。与现有技术 相比,本发明实施例提供的报文优先级排序不仅可以有效预防微网络内部发生拥塞,而且 在微网络内部发生拥塞时,能够丢弃低优先级报文来保障高优先级报文,从而在微网络内 部提供了较好的QoS,并进一步为宏观网络的QoS提供了保障。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍。图1是本发明实施例提供的一种基于多核处理器的流量/拥塞控 制方法基本流程 示意图;图2是现有技术的多核处理器中单核按照FIFO原则转发报文示意图;图3是本发明实施例提供的优先级映射示意图;图4是本发明实施例提供的一种通用流量整形示意图;图5是本发明实施例一提供的一种多核处理器基本逻辑结构示意图;图6是本发明实施例二提供的一种多核处理器基本逻辑结构示意图;图7是本发明实施例三提供的一种多核处理器基本逻辑结构示意图;图8是本发明实施例四提供的一种多核处理器基本逻辑结构示意图;图9是本发明实施例五提供的一种多核处理器基本逻辑结构示意图。
具体实施例方式下面将结合的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然, 所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施 例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于 本发明保护的范围。现有技术多核处理器中的单核对所有报文都是无差别地对待,如图2所示,当报 文A、报文B和报文C从入口依次进入(报文A先进入,报文B次之,之后是报文C)某一单 核时,单核将报文A、报文B和报文C报文送入FIFO队列。在调度时,按照FIFO的原则,报 文A先出列,报文B次之,之后是报文C。这种处理方式的结果是后送入队列的报文,即使 其优先级较高,但在微网络内部发生拥塞时仍需要排在先进入队列、但优先级较低的报文 之后发送出去,甚至在微网络或宏观网络环境持续恶化时可能先被丢弃。在本发明实施例 中,可以通过对报文进行优先级映射来解决现有技术这一问题。请参阅图1,本发明实施例提供的一种基于多核处理器的流量控制方法基本流程 示意图,主要包括步骤S101,多核处理器中的首核对接收到的报文进行优先级排序,并将排序后的报文 发送到至少一个中间核。
S102,多核处理器至少一个中间核中的任意一个中间核接收上一个单核发送的报 文后转发。显然,多核处理器至少包括两个单核。在本发明实施例中,所谓首核是指多核处理 器在收到宏观网络中其他节点设备发送的报文时,该多核处理器中第一个接收到该报文的 单核。进一步地,首核对接收到的报文进行优先级排序可以包括SlO 11,首核对接收到的报文进行分类。
报文分类也称作流分类(Traffic Classification),通过采用一定的规则识别出 符合某类特征的报文,它是微网络中各个单核对业务进行区分服务的前提和基础,单核对 报文所进行的各个处理动作,例如报文流入微网络时进行的流量监管、报文流出单核之前 进行的流量整形和微网络发生拥塞时对队列进行的拥塞管理等等都需要和流分类关联起 来才有意义。流分类的规则可以很简单,例如,可以根据报文中报文头(Head)的服务类型 (ToS,Type of Service)字段识别出不同类型的流量;流分类的规则也可以采用其它方式, 例如,可以综合数据链路层、网络层和传输层的MAC地址、IP协议类型、源地址、目的地址甚 至应用程序的端口号等相关信息对报文进行识别。与各种节点设备(例如,路由器、交换机 和NodeB等)构成的宏观网络相比,由单核构成的微网络(多核处理器)较为简单,需要处 理的也是微网络内部的简单QoS。因此,不必采用灵活度很高的流分类算法,一般来说只要 能够区分信令报文和数据报文即可,简单的流分类原则在一定程度上可以减少报文处理的 延迟。以无线控制领域为例进行说明,信令报文承载在传输控制协议/流传输控制协议 (TCP/SCTP, Transmission Control Protocol/Stream Transmission ControIProtoco1) 或者用户数据报协议(UDP,User Datagram Protocol)之上的D通道链路接入协议(LAPD, Link Access Protocol on the D channel),一般采用报文五元组(源地址、源端口号、协 议号码、目的地址、目的端口号)即可识别,因此,在本发明实施例中,可以采用五元组的简 单HASH算法完成流分类,识别出信令报文和数据报文。S1012,首核根据分类的结果对分类后的报文进行优先级映射。对分类后的报文进行优先级映射包括按照报文的类型,将各个分类后的报文赋 予相应的优先级字段。单核可以根据报文携带的报文头,为报文赋予一种具有本地意义的优先级字段, 艮口,根据报文的类型,将报文打上相应的优先级标记,这些优先级标记就是具有本地意义的 优先级字段。例如,信令报文和数据报文在进入单核时,信令报文与数据报文相比具有较 高的优先级;此外,同样是信令报文,也可以为不同的信令报文例如信令报文1、信令报文
2........信令报文η分配高低不同的优先级,如此,每类报文都具有一个相应的优先级,
从而完成报文优先级的映射。考虑到由单核构成的微网络需要处理的是简单QoS,本实施例可以将所有进入单 核的报文分成4类(对应4种优先级),在进入中间核时可以根据报文的种类存入4个优先 级队列(PQ,Priority Queuing)中的一个队列。如图3所示,4个优先级队列分别为高优 先队列、中优先队列、正常优先队列和低优先队列,它们的优先级依次降低。在报文出列的 时候,先让高优先队列中的报文出列并发送,直到高优先队列中的报文发送完;然后发送中优先队列中的报文,同样,直到发送完;然后是正常优先队列和低优先队列。这样,分类后属 于较高优先级队列的报文将会得到优先发送,使得关键业务的报文(例如,信令报文)能够 得到优先处理,非关键业务(例如,E-Mail)的报文在微网络处理完关键业务后得到处理, 由此既保证了关键业务的优先,又充分利用了各个单核的资源。需要说明的是,报文所经过映射后得到的优先级字段可以由首核向中间核传递, 中间核也可以将该优先级字段向下一单核或宏观网络的节点设备传递。如此,不必每个中 间核再对报文做优先级映射,微网络就可以获得用以决定报文调度顺序的优先级字段,从 而可以全面有效地控制报文的转发调度能力。首核对报文进行优先级映射为下一单核的流量管理提供了前提和基础,其本身并 不对微网络内部拥塞(例如,由于微网络内部流量的突发造成的拥塞)做任何处理,但中间 核(指多核处理器中除首核之外的任意一个单核)可以对经过优先级排序的报文进行流量 整形。在本发明实施例中,多核处理器至少一个中间核中的任意一个中间核接收上一个 单核发送的报文后转发,可以采用两种方式,一种是对从上一单核接收的报文不做任何形 式的处理直接转发,另一种是对报文进行流量整形后再转发。流量整形是一种主动调整流 量输出速率的措施,其典型作用是限制流出某一单核的全部报文或某一类报文的流量突 发,使全部报文或这类报文以比较均勻的速度向下一单核发送。例如,为了预防微网络中的 流量突发造成的拥塞,减轻下一级单核的处理压力,多核处理器中的任意一个中间核可以 对报文进行流量整形后再转发,任意一个中间核接收上一个单核发送的报文后转发的过程 可以包括
S1021,判断是否需要对任意一个中间核收到的报文进行流量整形;S1022,若需要,则该任意一个中间核在自身的出口处对收到的报文进行流量整形 后再转发。在图4所示本发明实施例提供的一种通用流量整形(GTS,Generic TrafficShaping)示意图中,令牌桶用于存放令牌,令牌桶中的每一个令牌都代表一个字 节,令牌桶控制机制基于令牌桶中是否存在令牌来指示什么时候可以发送流量(报文)。当 令牌桶中的令牌数量大于或等于即将被转发的报文的长度时,该报文才可以被转发,即,如 果令牌桶中有足够的令牌可以用来发送报文,则报文直接被继续发送下去,同时,令牌桶中 的令牌数量按照被转发出去的报文的长度做相应数量的减少。在判断是否需要对收到的报文进行流量整形时,可以将收到的报文的长度与令牌 桶中的令牌数量进行比较,当报文长度与令牌桶中的令牌数量限定的流量特性不符,例如, 当令牌桶中的令牌数量减少以致具有某一长度的报文不能再发送时,判断需要对收到的报 文进行流量整形。此时,可以将收到该报文存入GTS缓冲队列。当令牌桶中有足够的令牌 时,即所述收到的报文的长度与所述令牌桶中的令牌数量限定的流量特性相符后,GTS从缓 冲队列中取出与所述令牌桶中的令牌数量相对应长度的报文后转发,例如按一定的周期从 队列中取出报文进行发送,直到令牌桶中的令牌数又减少到GTS缓冲队列中的报文不能再 发送或是GTS缓冲队列中的报文全部发送完毕为止,具体地,在取出与所述令牌桶中的令 牌数量相对应长度的报文时,可以取出在数值上与所述令牌桶中的令牌数量相等的报文。由于令牌是以事先配置的恒定速度,例如,根据下一级单核的处理能力配置的一个恒定速度向令牌桶存入令牌,在本实施例中,还提供了另一种判断是否需要对收到的报 文进行流量整形的方法,该方法可以包括S’ 1021,将报文到达当前中间核的速度与向令牌桶中放置令牌的速度进行比较;S’ 1022,若该报文到达中间核的速度大于向令牌桶中放置令牌的速度,则判断需 要对收到的报文进行流量整形。这是因为,下一级单核的处理能力,例如,接收报文的速度 与令牌存入令牌桶的速度相当,如果以报文到达中间核的当前速度转发至下一级单核,由 于下一级单核无法接收,则当前中间核只能将接收到的报文丢弃,因此,在上述情形下,需 要对收到的报文进行流量整形。与前述实施例部分类似,在S’ 1022中,当判断需要对收到的报文进行 流量整形 时,中间核将收到的报文存入缓冲队列,并且以与向令牌桶中放置令牌的速度相对应的速 度从缓冲队列中取出报文后转发,例如以数值上与向令牌桶中放置令牌的速度相等的速度 与从所述缓冲队列中取出报文后转发。对于步骤S1021、S1022或S,1021、S,1022及其后续流量整形的原理,可以举例如 下假设令牌桶被配置的平均存入令牌速率为r个/秒,S卩,每隔Ι/r秒向令牌桶存入 一个令牌,进一步假设令牌桶最多可以存放b个令牌。如果令牌到达时令牌桶已经满了,那 么这个令牌会被丢弃。当η个字节(byte)的报文到达中间核时,GTS就从令牌桶中删除η 个令牌(被删除的η个令牌可以视为“发放”给了该η个字节的报文),该η个字节的报文 从出口被转送出去。如果令牌桶中少于η个令牌,η个字节的报文在数值上已经大于令牌桶中的令牌 数量,那么不会删除令牌,认为这个报文在流量限制之外,即报文长度与令牌桶中的令牌数 量限定的流量特性不符,将该η个字节的报文存入GTS缓冲队列,待到令牌桶中累积了足够 多的令牌时再转发。因此,本发明实施例提供的GTS可以允许最长b个字节的流量突发,但 从长期运行结果看,报文在中间核出口处被转发的速率限制在常量r byte/S(r字节/秒)。 如果该中间核的下一单核可以接受的流量极限值是r byte/s,那么,由流量突发造成的拥 塞可以被该中间核很好地解决,报文也不会在该中间核的下一单核被丢弃。需要说明的是,报文在进入GTS缓冲队列之前是经过了优先级映射而具有各自的 优先级,而缓冲队列的优先级与报文的优先级相应,即,报文按照其优先级被存入相应优先 级的缓冲队列,从GTS缓冲队列中取出的报文也是按照高优先级的先取出、低优先级的后 取出这个原则取出后转发至下一单核。如此,可以保证在任何网络环境下(例如,流量突发 以及由此造成的网络拥塞),高优先级的报文始终先于低优先级的报文发送。为了更好地理解本发明实施例对流量整形的说明,可以举一个应用的场景。假设 多核处理器的中间核1向该中间核1的下一单核2发送报文,单核2对中间核1发送来的 报文进行承诺访问速率(CAR,Committed Access Rate)流量限制,即,单核2对超出了其中 的令牌桶限制的CAR流量特性(例如,最高速率是本实施例中的常量r)的报文直接丢弃。为了减少流量突发时报文在单核2的丢弃,可以在中间核1的出口对报文进行GTS 处理,对于超出GTS流量特性的报文,即上述实施例中速率超过常量r的报文将存入中间核 1中的GTS缓冲队列。当可以继续发送下一批报文时,GTS再从该GTS缓冲队列中取出报文 进行发送。如此,发往单核2的报文将都符合单核2的流量特性规定,从而减少报文在单核2上的丢弃。相反,如果不在中间核1的出口进行GTS处理,则所有超出单核2的CAR流量 特性的报文将被单核2丢弃。由上述本发明实施例可知,尽管随着多核处理器中的单核数量增多以及业务功能 的复杂多样化,多核处理器构成的微网络也日益复杂,但采用本发明实施例提供的报文优 先级排序、优先级队列调度以及流量整形等拥塞管理,在微网络内部流量突发造成拥塞时, 可以防止单核之间性能差异导致的高优先级报文丢弃,进一步为宏观网络的QoS提供了保 障。请参阅图5,本发明实施例一提供的一种多核处理器基本逻辑结构示意图。为了便 于说明,仅仅示出了与本发明实施例相关的部分。该多核处理器至少包括两个单核处理器, 其中,首核51用于对接收到的报文进行优先级排序,并将排序后的报文发送到至少一个中 间核,任意一个中间核52用于接收上一个单核(包括首核51)发送的报文并转发。本实施 例中,首核51是指多核处理器作为宏观网络的转发单元在收到其他节点设备发送的报文 时,微网络(由多核处理器中单核构成)中第一个接收到该报文的单核,中间核52可以是 多核处理器中除首核51之外的任意其他单核。图5示例的首核51可以进一步包括分类模块611和优先级映射模块612,如图6 所示本发明实施例提供的多核处理器,其中分类模块611用于对接收到的报文进行分类。即通过采用一定的规则识别出符合 某类特征的报文,它是微网络中各个单核对业务进行区分服务的前提和基础,单核对报文 所进行的各个处理动作,例如报文流入微网络时进行的流量监管、报文流出单核之前进行 的流量整形和微网络发生拥塞时对队列进行的拥塞管理等等都需要和分类模块611执行 的流分类关联起来才有意义。在实施例中,分类模块611可以采用报文五元组(源地址、源 端口号、协议号码、目的地址、目的端口号)的简单HASH算法完成流分类,识别出信令报文 和数据报文。优先级映射模块612,用于根据分类模块611分类的结果对分类后的报文进行优 先级映射。在一个实施例中,其结果是完成了报文所携带的报文头到报文优先级的映射。报 文所携带的报文头经过优先级映射模块612映射后得到的优先级字段可以由首核51向中 间核52传递,中间核52也可以将该优先级字段向下一单核(例如,单核53等)传递。如 此,不必每个单核再对报文做优先级映射,微网络就可以获得用以决定报文调度能力的优 先级字段,从而可以全面有效地控制报文的转发调度能力。图5示例的中间核52可以进一步包括判断模块711和整形模块712,如图7所示 本发明实施例三提供的多核处理器,其中判断模块711用于判断是否需要对收到的报文进行流量整形;整形模块712用于在判断模块711判断需要对收到的报文进行流量整形时,在中 间核出口处对收到的报文进行流量整形后再将报文转发至下一单核(例如,单核53等)或 宏观网络的节点设备。图7示例的判断模块711可以进一步包括第一比较单元811和第一判断单元812, 整形模块712可以进一步包括第一缓存单元813和第一转发单元814,如图8所示本发明实 施例提供的多核处理器,其中第一比较单元811,用于将收到的报文的长度与令牌桶中的令牌数量进行比较;
第一判断单元812,用于第一比较单元811比较的结果为收到的报文的长度与所 述令牌桶中的令牌数量限定的流量特性不符时,判断需要对收到的报文进行流量整形;第一缓存单元813,用于在第一判断单元812判断需要对收到的报文进行流量整 形时,将收到的报文存入缓冲队列;第一转发单元814,用于待收到的报文的长度与令牌桶中的令牌数量限定的流量 特性相符后,从缓冲队列中取出与令牌桶中的令牌数量相对应长度的报文后转发。具体地, 第一转发单元可以取出在数值上与所述令牌桶中的令牌数量相等的报文后转发。在本实施例中,令牌桶按配置的速率向桶中放置令牌,当令牌 桶中的令牌数量在 数值上大于或等于即将被转发的报文的长度时,该报文才可以被转发,即,如果令牌桶中有 足够的令牌可以用来发送报文,则报文直接被继续发送下去,同时,令牌桶中的令牌数量按 照被转发出去的报文的长度做相应数量的减少。报文即将被转发出去之前,第一比较单元 811将其长度与令牌桶中的令牌数量进行比较,当报文长度与令牌桶中的令牌数量限定的 流量特性不符,例如,当令牌桶中的令牌数量减少以致具有某一长度的报文不能再发送时, 第一判断单元812判断需要对收到的报文进行流量整形,第一缓存单元813将该报文存入 GTS缓冲队列。当令牌桶中有足够的令牌时,第一转发单元814按照一定的周期从队列中取 出报文进行发送,直到令牌桶中的令牌数又减少到GTS缓冲队列中的报文不能再发送或是 GTS缓冲队列中的报文全部发送完毕为止。或者,图7示例的判断模块711可以进一步包括第二比较单元911和第二判断单 元912,整形模块712可以进一步包括第二缓存单元913和第二转发单元914,如图9所示 本发明实施例五提供的多核处理器,其中第二比较单元911,用于将报文到达所述中间核的速度与向令牌桶中放置令牌的 速度进行比较;第二判断单元912,用于第二比较单元911比较的结果为报文到达中间核的速度 大于向令牌桶中放置令牌的速度,则判断需要对收到的报文进行流量整形;第二缓存单元913,用于第二判断单元912判断需要对收到的报文进行流量整形 时将收到的报文存入缓冲队列;第二转发单元914,用于以数值上与向令牌桶中放置令牌的速度相对应的速度与 从所述缓冲队列中取出报文后转发。具体地,第二转发单元914可以取出在数值上与所述 令牌桶中的令牌数量相等的报文。需要说明的是,对于图5至图9所示实施例,报文在进入GTS缓冲队列之前是经过 了优先级映射而具有各自的优先级,而缓冲队列的优先级与报文的优先级相应,即,报文按 照其优先级被存入相应优先级的缓冲队列,因此,从GTS缓冲队列中取出的报文也是按照 高优先级的先发送、低优先级的后发送这个原则转发至下一单核,这样,可以保证在任何网 络环境下(例如,流量突发以及由此造成的网络拥塞),高优先级的报文始终先于低优先级 的报文发送。上述各模块/单元之间的信息交互、执行过程等内容,由于与本发明方法实施例 基于同一构思,具体内容可参见本发明方法实施例中的说明,此处不再赘述。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可 以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种基于多核处理器的流量控制方法和多核处理 器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上 实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技 术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本 说明书内容不应理解为对本发明的限制。
权利要求
一种基于多核处理器的流量控制方法,其特征在于,包括多核处理器中的首核对接收到的报文进行优先级排序,并将排序后的报文发送到至少一个中间核,所述中间核为所述多核处理器中除首核之外的其他单核;多核处理器中所述至少一个中间核中的任意一个中间核接收上一个单核发送的报文并转发。
2.根据权利要求1所述的方法,其特征在于,所述多核处理器中的首核对接收到的报 文进行优先级排序包括所述首核对接收到的报文进行分类;所述首核根据分类的结果对所述分类后的报文进行优先级映射。
3.根据权利要求2所述的方法,其特征在于,所述首核根据分类的结果对所述分类后 的报文进行优先级映射包括按照报文的类型,将各个分类后的报文赋予相应的优先级字 段。
4.根据权利要求3所述的方法,其特征在于,还包括所述首核将所述报文优先级字段传递至所述至少一个中间核,所述中间核中的任意一 个中间核将所述优先级字段传递至下一单核。
5.根据权利要求1所述的方法,其特征在于,所述多核处理器中所述至少一个中间核 中的任意一个中间核接收上一个单核发送的报文并转发包括所述任意一个中间核接收上一个单核发送的报文;判断是否需要对所述收到的报文进行流量整形;若需要,则所述任意一个中间核在自身的出口处对所述收到的报文进行流量整形后再 转发所述报文。
6.根据权利要求5所述的基于多核处理器的流量控制方法,其特征在于,所述判断是 否需要对所述收到的报文进行流量整形包括将所述收到的报文的长度与令牌桶中的令牌数量进行比较;若所述收到的报文的长度与所述令牌桶中的令牌数量限定的流量特性不符,则判断需 要对所述收到的报文进行流量整形;所述任意一个中间核在自身的出口处对所述收到的报文进行流量整形后再转发所述 报文包括将所述收到的报文存入缓冲队列;待所述收到的报文的长度与所述令牌桶中的令牌数量限定的流量特性相符后,从所述 缓冲队列中取出与所述令牌桶中的令牌数量相对应长度的报文后转发。
7.根据权利要求5所述的基于多核处理器的流量控制方法,其特征在于,判断是否需 要对所述收到的报文进行流量整形包括将所述报文到达所述任意一个中间核的速度与向令牌桶中放置令牌的速度进行比较;若所述报文到达所述中间核的速度大于所述向令牌桶中放置令牌的速度,则判断需要 对所述收到的报文进行流量整形;所述任意一个中间核在自身的出口处对所述收到的报文进行流量整形后再转发所述 报文包括将所述收到的报文存入缓冲队列;以与向令牌桶中放置令牌的速度相等的速度与从所述缓冲队列中取出报文后转发。
8.根据权利要求6或7所述的基于多核处理器的流量控制方法,其特征在于,所述缓冲 队列的优先级与所述报文的优先级相对应,所述报文按照所述报文的优先级被存入相应优 先级的缓冲队列,在取出报文时优先取出优先级高的报文。
9.一种多核处理器,包括首核和至少一个中间核,其特征在于所述首核,用于对接收到的报文进行优先级排序并将排序后的报文发送到至少一个中 间核;所述至少一个中间核中的任意一个中间核,用于接收上一个单核发送的报文并转发, 所述中间核为所述多核处理器中除首核之外的其他单核。
10.根据权利要求9所述的多核处理器,其特征在于,所述首核包括分类模块,用于对接收到的报文进行分类;优先级映射模块,用于根据所述分类模块分类的结果对所述分类后的报文进行优先级 映射。
11.根据权利要求9所述的多核处理器,其特征在于,所述任意一个中间核包括判断模块,用于判断是否需要对所述收到的报文进行流量整形;整形模块,用于在所述判断模块判断需要对所述收到的报文进行流量整形时,在所述 任意一个中间核出口处对所述收到的报文进行流量整形后再转发所述报文。
12.根据权利要求9所述的多核处理器,其特征在于,所述判断模块包括第一比较单元 和第一判断单元,所述整形模块包括第一缓存单元和第一转发单元;所述第一比较单元,用于将所述收到的报文的长度与令牌桶中的令牌数量进行比较;所述第一判断单元,用于在所述第一比较单元比较的结果为所述收到的报文的长度与 所述令牌桶中的令牌数量限定的流量特性不符时,判断需要对所述收到的报文进行流量整 形;所述第一缓存单元,用于在所述第一判断单元判断需要对所述收到的报文进行流量整 形时,将所述收到的报文存入缓冲队列;所述第一转发单元,用于待所述收到的报文的长度与所述令牌桶中的令牌数量限定的 流量特性相符后,从所述缓冲队列中取出与所述令牌桶中的令牌数量相对应长度的报文后 转发。
13.根据权利要求9所述的多核处理器,其特征在于,所述判断模块包括第二比较单元 和第二判断单元,所述整形模块包括第二缓存单元和第二转发单元;所述第二比较单元,用于将所述报文到达所述中间核的速度与向令牌桶中放置令牌的 速度进行比较;所述第二判断单元,用于所述第二比较单元比较的结果为所述报文到达所述中间核的 速度大于所述向令牌桶中放置令牌的速度,则判断需要对所述收到的报文进行流量整形;所述第二缓存单元,用于在所述第二判断单元判断需要对所述收到的报文进行流量整 形时将所述收到的报文存入缓冲队列;所述第二转发单元,用于以与向令牌桶中放置令牌的速度相对应的速度从所述缓冲队 列中取出报文后转发。
全文摘要
本发明实施例提供一种基于多核处理器的流量控制方法,包括多核处理器中的首核对接收到的报文进行优先级排序,并将排序后的报文发送到至少一个中间核,所述中间核为所述多核处理器中除首核之外的其他单核;多核处理器中所述至少一个中间核中的任意一个中间核接收上一个单核发送的报文并转发。与现有技术相比,本发明实施例提供的报文优先级排序不仅可以有效预防微网络内部发生拥塞,而且在微网络内部发生拥塞时,能够丢弃低优先级报文来保障高优先级报文,从而在微网络内部提供了较好的QoS,并进一步为宏观网络的QoS提供了保障。
文档编号H04L12/56GK101834790SQ20101015565
公开日2010年9月15日 申请日期2010年4月22日 优先权日2010年4月22日
发明者郭晓阳 申请人:上海华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1