CN100550853C - 一种基于输出队列的流控实现方法及装置 - Google Patents
一种基于输出队列的流控实现方法及装置 Download PDFInfo
- Publication number
- CN100550853C CN100550853C CN200710002741.3A CN200710002741A CN100550853C CN 100550853 C CN100550853 C CN 100550853C CN 200710002741 A CN200710002741 A CN 200710002741A CN 100550853 C CN100550853 C CN 100550853C
- Authority
- CN
- China
- Prior art keywords
- cell
- information
- pressure control
- output port
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/11—Identifying congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5679—Arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5681—Buffer or queue management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于输出队列的流控实现方法及装置。本发明主要包括:采用基于输出端口的信元排队和对信元从不同角度进行统计计数来实现队列的调度和流控。在这种体系下,流控和队列的管理是分开进行;所述的队列管理直接应用于信元的调度,所述的流控不是直接依赖于队列管理中的信元统计结果,而是通过从信元的优先级、输出端口、信元的源芯片号等角度出发,采用不同的组合对信元进行统计计数,并在此基础上实现流控。因此,本发明的实现可以使参加调度的队列数目少而简单,易于管理,信元调度易于实现。而且本发明可以使反压控制力度做的很细,并且十分灵活,可以根据实际选择使用。
Description
技术领域
本发明涉及网络通信领域,尤其涉及一种流控实现技术。
背景技术
目前,三级交换系统已经广泛应用于通信设备中。如图1所示,组成三级交换系统的芯片主要包括:
(1)共享缓存交换芯片(SM,Switching Memory chip),主要实现信元缓存、队列管理和调度等功能。
(2)纵横交叉交换芯片(SC,Switching Crossbar Chip),主要完成对SM的请求进行仲裁、实现无阻塞空分交换以及对收集到的反压信息处理后转发给相应的SM。
其中,如图1所示,所述的SM进一步又可以分成以下两部分:
(1)SMi,即SM的上行部分,有输入端口和输出端口,主要实现对需要交换的信元进行缓存、进行队列管理、发送请求给SC、根据SC送来的仲裁信号完成调度的功能。
(2)SMe,即SM的下行部分,也是既有输入端口也有输出端口,主要实现把SC交换过来的信元进行缓存、实现队列管理、向SMi反映SMe的反压状况、完成信元的调度等功能。
在三级交换系统中,任何一个SMe可以接收来自任何一个SMi的信元;任何一个SMi发出的信元都可以通过SC交换到任何一个SMe。
这样,三级交换系统中,当各个SMi在一段时间内同时向某一个SMe发送信元时,就需要对来自于各个SMi的信元进行合理的管理,从而实现信元的合理调度。
另外,三级交换系统中,还需要提供相应的流控措施,以保证整个信元传输过程可以正常进行。
目前,在三级交换系统中,如图2所示,采用了相应的反压控制措施对相应的信元传输过程进行控制,具体方案为:
当SMe检测到空闲缓存小于设定的阈值时,该SMe可以将相关信息(即反压信息)通知SMi,SMi将反压信息放在信元头发送给SC;
SC通过信元头获取反压信息后,将反压信息发往各个SMe;
各个SMe收到反压信息后,将反压信息通知各自的SMi,各个SMi收到反压信息后,相应的有发送请求的SMi将停止发送请求。
当SMe_BP(指发生反压的SMe,BP,即back pressure,反压)发现空闲缓存大于相应的阈值,则采用和发送反压信息相同的手法,将反压取消的信息通过SC告诉各个SM,具体如图3所示,各个SM检测到反压信息已经被取消后,需要发送信息的SMi重新向SC发送请求,并可以通过SC继续将信元发给SMe。
目前,在三级交换系统中,基于上述反压控制机制,分别提供了两种可供选择的流控和调度实现方案,下面将分别进行说明。
(一)实现方案一
该方案为基于源芯片排队的流控和调度实现方案,该方案中具体是采用一种特定的队列管理机制,利用该机制同时实现流控和信元的调度。
基于源芯片排队的队列管理机制的原理为:假设在交换系统中有N个SM,每个SMe有M个输出端口,信元的优先级有W种。对于每一个SMe,其对收到的信元按照具有相同源SM号、相同输出端口、相同优先级的信元构成一个队列的原则进行分类,则将需要维护N×M×W个队列的信息,队列的信息包括队列的长度以及队列中每一个信元在缓存中的位置等信息。
基于上述维护的N×M×W个队列的信息,在基于源芯片排队的队列管理机制中,相应的输出端口调度方案为:首先,选择输出端口,之后,选择源芯片号及优先级,最后,根据选择的结果在对应的队列中选择一个信元,并输出。当一个信元可以从SMe的某个输出端口出去时,则相应的队列的信元数目减一,并更新队列信息。
在基于源芯片排队的队列管理机制下,相应的队列反压的流控实现方案为:某个SMe(比如编号A),检测到来自一个SMi(比如编号B)的信元或者数据包的队列长度超过预定的阀值后,就单独通知SMi(B),让其停止或者降低速率向SMe(A)发送数据的流量。也就是说,SMe(A)对所有SMi的流控是可以做到各自独立的。相应的全局反压的流控实现方案为:当检测到某一SMe空闲缓存低于一定阀值时,则生成相应的全局反压信号,并通过本芯片的SMi传递给SC,由SC通知所有的SMi停止向该SMe发送信元。
在该实现方案,由于参加调度的队列数目众多,因此需要的资源随着交换网的扩展快速地增加。相应的调度的实现也越复杂,使得在有限的时间内完成众多的队列管理工作较为困难
(二)实现方案二
该方案是基于输出端口排队实现流控和调度,即采用一种特定的队列管理机制,利用该机制可以同时实现基于输出端口的流控和信元的调度。
基于输出端口排队的队列管理机制的原理为:假设在交换系统中,每个SMe有M个输出端口,信元的优先级有W种。对于每一个SMe,其对收到的信元按照所有相同输出端口、相同优先级的信元构成一个队列的规则进行分类,共有M×W个队列,该队列管理机制需要维护M×W个队列的信息,队列的信息包括队列的长度以及队列中每一个信元在缓存中的位置等信息。
在基于上述的输出端口排队的队列管理机制下,对信元的调度方案包括:首先确定输出端口,接着选择优先级,然后根据选择的结果在对应的队列中选择一个信元并输出,当一个信元从SMe的某个输出端口出去的时候,相应的该队列的信元数目减一,同时需要对信元占用的缓存进行回收,并更新队列信息。
在基于上述的输出端口排队的队列管理机制下,对信元反压的流控实现过程包括:当某个SMe检测到需要从该端口出去的信元数目超出阀值的时候,该SMe就会生成相应的反压信号,并通过本芯片的SMi传递给SC,再由SC通知所有SMi都停止向该端口发送数据流。相应的全局反压的流控实现方案包括:当检测到空闲缓存低于一定阀值的时候,生成相应的反压信号,该反压信号就会通过本芯片的SMi传递给SC,再由SC告诉所有的SMi停止往该SMe发送信元。
在该方案中,反压控制只限于端口,而无法实现单独针对某一队列信元的反压控制,因此,控制的粒度不够细,同时,还存在流控的不公平性问题。比如,当有多个SMi向同一个SMe发送流量,其中一个SMi的送来的流量特别大,其他SMi的送来的流量比较小,此时,若端口出现堵塞,则将让所有SMi停止向该端口发送流量,这对于流量小的SMi而言显然是不公平的。
发明内容
本发明的实施例提供一种基于输出队列的流控实现方法及装置,从而可以使参加调度的队列减少,管理简单,并具有易于实现及流控机制可以灵活设置以满足实际应用的特点。
本发明的实施例提供了一种基于输出队列的流控实现方法,该方法应用的系统中包括信息发送端和信息接收端,且在信息接收端中包括输入处理单元、信元调度单元和队列管理单元,其中,所述的队列管理单元采用基于输出端口的队列管理方式,且该方法包括:
统计获取信息接收端中所述输入处理单元和信元调度单元中的信元处理信息,具体为对信元调度单元送进来的出队信息,根据信元的优先级和输出端口确定信元的源芯片号,并结合输入处理单元送进来的入队信息,基于信元的优先级、输出端口和信元的源芯片号中的至少一项对相应信元的处理数目进行统计;
根据统计获取的信元处理信息确定需要进行反压控制的信息发送端,并对相应的信息发送端进行反压控制。
本发明的实施例提供了一种基于输出队列的流控实现装置,该装置应用的系统中包括信息发送端和信息接收端,且在信息接收端中依次包括连接输入处理单元、队列管理单元和信元调度单元,其中,所述的队列管理单元采用基于输出端口的队列管理方式,该装置包括:
信元统计单元,用于分别统计获取信息接收端中所述输入处理单元和信元调度单元中的信元处理信息,具体用于对信元调度单元送进来的出队信息,根据信元的优先级和输出端口确定信元的源芯片号,并结合输入处理单元送进来的入队信息,基于信元的优先级、输出端口和信元的源芯片号中的至少一项对相应信元的处理数目进行统计;
反压控制单元,用于根据统计获取的信元处理信息确定需要进行反压控制的信息发送端,并对相应的信息发送端进行反压控制。
由上述本发明实施例提供的技术方案可以看出,本发明的实施例可以使得对反压的控制基于对信元的各种统计来实现,而队列的管理直接作用于信元的调度。本发明由于对反压控制和队列的管理分开,因此,可以使反压控制粒度根据需要进行相关调整,选择不同的组合方式来进行使用,从而在需要时可以使控制粒度做到很细。而且本发明还具有管理简单,易于实现,占用资源较少,并具有灵活的流控机制以满足实际的应用的特点。
附图说明
图1为现有技术提供的由SM和SC组成的三级交换系统的示意图;
图2为现有技提供的实现反压控制的流程图;
图3为现有技提供的实现反压取消控制的流程图;
图4为本发明提供的实现信元流控机制的装置结构图;
图5为本发明提供的实现信元调度的流程图;
图6为本发明提供的实现信元流控的流程图。
具体实施方式
本发明是从不同角度对信元进行统计计数以实现针对队列的流控。本发明中,相应的流控功能的实现不再是直接依赖于队列管理中的信元统计结果,而是通过从信元的优先级、输出端口、信元的源芯片号等多角度出发,对信元进行统计计数,并在此基础上实现流控。
本发明在实现对信元队列流控所应用的系统包括信息发送端和信息接收端,且在信息接收端中包括:用于接收输入的信元的连接输入处理单元及用于对队列管理单元管理的信元队列进行调度发送处理的信元调度单元;其中,所述的队列管理单元采用基于输出端口的队列管理方式。
基于上述系统,本发明提供的对信元传输的流控机制则是根据对信元的各种统计信息,产生各种反压信息和反压取消信息,以达到对信元流控的目的,相应的具体处理过程包括:
1、统计处理信息接收端中所述输入处理单元和信元调度单元中的信元处理信息,具体包括:
对信元调度单元送进来的出队信息,根据信元的优先级和输出端口,确定信元的源芯片号,另一方面,结合输入处理单元送进来的入队信息,从信元的优先级、输出端口、信元的源芯片号等角度考虑,统计出相关信元的数目,并将统计结果送给反压控制单元;
2、根据统计获取的针对各个单元的信元处理信息确定需要进行反压控制的信息发送端,并对相应的信息发送端进行反压控制;
在该过程中,所述的对相应的信息发送端反压控制包括发起反压控制和反压取消控制两个过程,其中:
(1)所述的发起反压控制的具体处理过程包括:
根据信息接收端的承载能力预先设定一组信元数量阈值,即设置相应的反压控制信元数量阈值,当统计输出端口的相关信元数量大于预先设定的该阈值,则针对该相关信元产生反压信息,并根据该相关信元处理信息的统计结果,通知该相关信元的信息发送端暂停发送;下面将举例对反压控制过程进行说明:
例一:设定针对某一优先级的反压控制信元数量阈值,若统计的各单元收到或处理的具有某一优先级的信元的数量超过该阈值,则产生反压控制信息,对发送相应优先级信元的信息发送端进行反压控制;另一方面,设定全局反压的阀值,当缓存中所有信元的数目超过该阀值,则可以发送全局反压信息,控制所有的SM停止往该SM发送信元;
相应的反压控制的应用实例可以为:
假设SMe(A)的总的缓存数目为10000,对SMe(A)进行如下的设置:优先级为0的信元反压阀值为5000,优先级为1、2、3的信元的反压控制信元反压阀值为2000,全局反压控制阀值设置为7500,假设在某一时刻,统计单元的统计结果为:优先级为0的信元为4998个,优先级为1、2、3的信元为800个。假设在接下来的时间内,输入处理单元通知信元统计单元:在这一段时间内,优先级为0的信元新增加了20个,优先级为1、2、3的信元新增加3个。另一方面,信元调度单元告诉信元统计单元:在这一段时间内,优先级为0的信元被送出了2个,优先级为1、2、3的信元被送出了2个。信元统计单元根据输入处理单元和信元调度单元送来的信息,得出以下的统计信息:目前优先级为0的信元为5016个,优先级为1、2、3的信元为801个,缓存中信元的总数为7419个。信元统计单元把统计信息发送给反压控制单元,由于优先级为0的信元数目为5016个,超过了设定的阀值5000,因此反压控制模块就会把优先级为0的反压信息通过上行的信元头携带给SC,SC收到该反压信息,就会告诉所有的SM停止往该SM发送优先级为0的信元,但是可以发送其他优先级的信元。这样经过一段时间,由于其他SM停止向该SM发送优先级为0的信元,而该SMe(A)又不断的把优先级为0的信元调度出去,因此在缓存中的信元数目必然会不断减少,从而确保了缓存中优先级为0的信元不会严重偏离5000这一阀值。另一方面,假设又经过一段时间后,统计单元的统计结果为:优先级为0的信元为3000个,优先级为1、2、3的信元为1502个。这样整个缓存中的信元数目为7506个,超过了全局反压阀值7500。反压控制单元就会把该信息通过SC告诉所有的SM,所有SM就会停止往该SM(A)发送信元,这样就可以避免SMe(A)中缓存被耗尽而不得不丢弃信元的现象。
上面所说的仅仅是实际应用中的一个例子。事实上,采用什么样的流控手段完全是根据实际需要来确定,比如说:如果实际应用中需要对各个SM进行不同的流控,可以对针对不同的SM设定不同的阀值。整个反压的产生和取消的过程同上述的例子都是一样的。
(2)所述的反压取消控制的具体处理过程包括:
根据信息接收端的承载能力以及实际应用的需要预先设定一组信元数量阈值,即设置相应的取消反压控制信元数量阈值,当统计输出端口的相关信元数量小于或等于预先设定的该阈值,则针对该相关信元产生反压取消信息,并根据该相关信元处理信息的统计结果,通知该相关信元的信息发送端恢复发送;该取消反压控制信元数量阈值可以与之前的反压控制信元数量阈值相同,也可以各自独立设置;
其中,所述的取消反压控制信元数量阈值是根据信息接收端的承载能力,从信元的优先级信息、信元的输出端口和/或信元的源端信息等角度考虑,并结合实际需要进行相关的设置,具体可以包括针对整个缓存全局反压的信元数量阈值,针对某个输出端口反压的信元数量阈值和/或针对某一个信元队列反压的信元数量阈值等;当然,还可以包含其他阈值,例如,可以设置来自某个芯片或者某个优先级的信元数量阀值等。
比如,统计输入处理单元缓存的所有信元的数目,可以用来发送当缓存不足的反压信号,这种反压称为全局反压;统计输出端口的信元数目或者统计某个输出端口中具有同一优先级的信元的数目,可以对需要从该输出端口出去的队列进行反压控制;对具有同源芯片号、同输出端口、同优先级的信元进行统计,可以具体控制某个队列的反压;总的来说,反压的控制力度都可以针对信元的优先级、输出端口、信元的源芯片号这几方面根据需要进行相关配置,通过不同的组合方式来进行使用。
本发明还提供了一种基于输出队列的流控实现装置,该装置应用的系统中包括信息发送端和信息接收端,且在信息接收端中依次包括连接输入处理单元、队列管理单元和信元调度单元,其中,所述的队列管理单元采用基于输出端口排队的队列管理方式直接应用于信元的调度;为实现本发明,在该装置中还设置了以下两个处理单元,具体为:
信元统计单元,一方面用于对信元调度单元送进来的出队信息,根据信元的优先级和输出端口,确定信元的源芯片号,另一方面,用于结合输入处理单元送进来的入队信息,从信元的优先级、输出端口、信元的源芯片号等角度出发,统计出相关信元的数目,相应的统计结果将被发送给反压控制单元;
反压控制单元,用于根据统计获取的信元处理信息确定需要进行反压控制的信息发送端,并对相应的信息发送端进行反压控制。
为了便于理解本发明,下面将结合如图4所示的具体实现结构图对各个单元的作用作具体的说明。
(一)输入处理单元
所述的输入处理单元负责接收下行信元,同时把信元的入队信息作为信元处理信息发给队列管理单元和信元统计单元;其中,所述的入队信息主要包括信元的源端信息(即发送信元的源芯片)、信元的输出端口信息、信元的优先级信息等。
(二)队列管理单元
所述的队列管理单元主要有两方面的功能,即入队管理和出队管理。
所述的入队管理是指队列管理单元会根据输入处理单元送来的入队信息,采用基于输出端口排队的方式,令所有具有相同输出端口、相同优先级的信元构成一个队列,例如,输出端口数为M,有W种优先级,则同时需要管理M×W个队列的信息;
所述的出队管理是指队列管理单元会根据信元调度单元送来的出队信息,将调度出去的信元信息从相关的队列中删除。
(三)信元统计单元
所述的信元统计单元根据当前的入队信息和出队信息(其中,在处理出队信息时,还会根据出队信元的输出端口和优先级找出信元的源芯片号),从信元的优先级、输出端口、信元的源芯片号等角度出发,统计出相关信元的数目,并且把统计结果送给反压控制单元,作为反压产生或取消的依据;比如说,统计缓存中所有信元的数目,可以用来发送当缓存不足的反压信号;统计输出端口的信元数目或者统计某个输出端口中具有同一优先级的信元的数目,可以对需要从该输出端口出去的队列进行反压控制,对具有同源芯片号、同输出端口、同优先级的信元进行统计,可以具体控制某个队列的反压;
所述的信元统计单元具体为针对信元的优先级、输出端口、信元的源芯片号等任意一种或多种信息的统计,以作为反压或反压取消控制的依据。
(四)信元调度单元
所述的信元调度单元会根据队列管理单元送来的各个端口的信元数目来决定当前是否有信元可调,如果当前端口有信元可调,则进一步进行优先级的选择,从而完成从M×W个队列中选出一个队列的操作,然后把排在该队列最前面的信元调度出去,这样就确保了最早到达的信元可以最早得到服务,实现了信元的公平调度;同时还会把出队信息通知队列管理单元和信元统计单元。
(五)反压控制单元
所述的反压控制单元主要是根据信元统计单元送过来的各种统计信息,发送各种反压信息以及各种反压取消的信息;
所述的反压控制单元进行反压的处理过程包括:根据预先设定的信元数量阈值,当统计输出端口的相关信元数量大于预先设定的阈值,则针对该相关信元产生反压信息;
同理,所述的反压控制单元进行反压取消的处理过程包括:根据预先设定的信元数量阈值,当统计输出端口的相关信元数量小于或等于预先设定的阈值,则针对该相关信元产生反压取消信息。
下面将结合附图对本发明在某一信元队列进来后,各个单元是如何相互合作来实现信元的调度和流控为实施例对本发明的实现方案进行详细的说明。
(一)图5所示的是本发明信元由输入到调度出去的过程,其具体步骤包括:
步骤51:信元从输入端口进来,输入处理单元把信元缓存起来,然后把相关的入队信息告诉队列管理单元和信元统计单元。所述的入队信息主要包括信元来自哪个芯片、要从哪个端口输出、信元的优先级等信息。
步骤52:队列管理单元和信元统计单元对入队信息进行处理;
所述的队列管理模块对入队信息的入队管理具体包括:根据输入处理单元送来的入队信息,采用基于输出端口排队的方式,让所有相同输出端口,相同优先级的信元构成一个队列。所述的信元统计单元对入队信息的处理具体包括:对输入处理单元送来的入队信息,根据信元的优先级、输出端口、信元的源芯片号等这几方面,通过不同的组合方式进行统计,统计信元的数目,并把统计结果发送给反压控制单元,作为反压产生的依据。
步骤53:信元调度单元检查到输出队列中信元个数不为0,把信元调度出去,同时返回出队信元的信息给队列管理单元和信元统计单元。
步骤54、步骤55:队列管理单元和信元统计单元对出队信息进行处理。所述的出队信息主要包括出队信元输出端口、信元的优先级等信息。所述的队列管理单元对出队信息的管理包括把已经调度出去的信元信息从队列中删除。所述的信元统计单元根据信元的出队信息,基于信元的优先级、输出端口确定信元的源芯片号,并根据信元的优先级、输出端口、信元的源芯片号等进行相关信元的数目的统计,之后,再将统计结果发给反压控制单元,以作为反压取消的依据。
通过上述过程,共享缓存交换芯片的下行部分SMe可以在接收到信元后,基于信元的优先级、输出端口等信息,对输出端口的信元队列进行排队来管理每一个端口的信元,从而实现信元的调度。
(二)图6所示的是本发明实现信元流控的具体过程,为了描述方便,这里以如何对来自芯片A优先级为0的队列实现流控为例进行说明,实现其他类型的流控过程与该过程类似,其具体步骤如下:
反压控制过程包括:
步骤61:输入信元被正确接收并缓存后,输入处理单元将相关的队列信息发送给信元统计单元;
步骤66:当芯片A优先级0的信元被信元调度单元调度出去以后,相关的出队信息发给信元统计单元;
步骤62:信元统计单元根据入队信息和出队信息,对信元进行统计,同时把各种统计结果发送给反压控制单元;
步骤63:反压控制单元根据统计结果产生反压信号;
具体为:反压控制单元处理各种统计结果,并检测来自芯片A优先级为0的信元个数是否超出预先设置的阀值,如果超出阀值,则产生反压信号,并继续执行步骤64;
步骤64:反压信号通过下行信元发送给纵横交叉交换芯片SC,并通过SC转发该反压信号;
步骤65:纵横交叉交换芯片SC将反压信号发送给芯片A后,芯片A接收该反压信号则暂时停发0优先级的信元。
反压取消控制过程包括:
步骤61:输入信元被正确接收并缓存后,输入处理单元把相关的队列信息发送给信元统计单元;
步骤66:当芯片A优先级0的信元被信元调度单元调度出去以后,相关的出队信息发给信元统计单元;
步骤62:信元统计单元根据入队信息和出队信息进行统计,同时把各种统计结果发送给反压控制单元;
步骤67:反压控制单元产生反压取消信号;
具体为:反压控制单元处理各种统计结果,并检测来自芯片A优先级为0的信元个数是否低于阀值,如果是,则产生反压取消信号;
步骤68:反压取消信号通过下行信元发送给纵横交叉交换芯片SC,并由SC转发该反压取消信号;
步骤69:SC将反压取消信息发送给芯片A后,芯片A接收该反压取消信号则可以重新发送0优先级的信元。
通过上述过程,SMe可以在接收到信元后,基于对信元的优先级、输出端口、信元的源芯片号等不同角度进行设置,统计信元的数目,从而实现从粗到细对反压进行控制,最粗可以实现针对整个缓存的全局反压,最细可以对来自某个芯片的某个优先级队列进行反压。
综上所述,本发明不仅可以实现对信元的调度,而且使参加调度的信元队列少,易于管理;同时可以实现多种反压控制粒度。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1、一种基于输出队列的流控实现方法,该方法应用的系统中包括信息发送端和信息接收端,且在信息接收端中包括输入处理单元、信元调度单元和队列管理单元,其中,所述的队列管理单元采用基于输出端口的队列管理方式,其特征在于,该方法包括:
统计获取信息接收端中所述输入处理单元和信元调度单元中的信元处理信息,具体为对信元调度单元送进来的出队信息,根据信元的优先级和输出端口确定信元的源芯片号,并结合输入处理单元送进来的入队信息,基于信元的优先级、输出端口和信元的源芯片号中的至少一项对相应信元的处理数目进行统计;
根据统计获取的信元处理信息确定需要进行反压控制的信息发送端,并对相应的信息发送端进行反压控制。
2、根据权利要求1所述的方法,其特征在于,所述的信元处理信息包括:输入处理单元的入队信息和信元调度单元中的信元出队信息。
3、根据权利要求1或2所述的方法,其特征在于,所述的对相应的信息发送端反压控制的处理过程具体包括:根据信息接收端的承载能力及应用需求,预先设定一组反压控制信元数量阈值,当统计输出端口的相关信元数量大于预先设定的阈值,则针对该相关信元产生反压信息,并根据该相关信元处理信息的统计结果,通知该相关信元的信息发送端暂停发送。
4、根据权利要求3所述的方法,其特征在于,所述的方法还包括对相应的信息发送端进行反压取消控制,具体包括:根据信息接收端的承载能力及应用需求预先设定一组取消反压控制信元数量阈值,当统计输出端口的相关信元数量小于或等于预先设定的阈值,则针对该相关信元产生反压取消信息,并根据该相关信元处理信息的统计结果,通知该相关信元的信息发送端恢复信元的发送操作。
5、根据权利要求3所述的方法,其特征在于,所述的信元数量阈值是根据信息接收端的承载能力以及实际的应用需要进行设置。
6、根据权利要求1或2所述的装置,其特征在于,所述的反压控制包括针对整个缓存信元的全局反压控制、针对某个优先级的信元的反压控制、针对某个输出端口信元的反压控制和针对某一个队列的信元的反压控制中的至少一项。
7、一种基于输出队列的流控实现装置,该装置应用的系统中包括信息发送端和信息接收端,且在信息接收端中依次包括连接输入处理单元、队列管理单元和信元调度单元,其中,所述的队列管理单元采用基于输出端口的队列管理方式,其特征在于,该装置包括:
信元统计单元,用于分别获取并统计信息接收端中所述输入处理单元和信元调度单元中的信元处理信息,具体用于对信元调度单元送进来的出队信息,根据信元的优先级和输出端口确定信元的源芯片号,并结合输入处理单元送进来的入队信息,基于信元的优先级、输出端口和信元的源芯片号中的至少一项对相应信元的处理数目进行统计;
反压控制单元,用于根据统计获取的信元处理信息确定需要进行反压控制的信息发送端,并对相应的信息发送端进行反压控制。
8、根据权利要求7所述的装置,其特征在于,所述的反压控制单元进行的反压控制包括对信元发起反压,且所述对信元发起反压的处理过程包括:根据预先设定的反压控制信元数量阈值,当统计输出端口的相关信元数量大于预先设定的该阈值,则针对该相关信元产生反压信息。
9、根据权利要求7所述的装置,其特征在于,所述的反压控制单元进行的反压控制包括对信元发起反压取消,且所述发起反压取消的处理过程包括:根据预先设定的取消反压控制信元数量阈值,当统计输出端口的相关信元数量小于或等于预先设定的该阈值,则针对该相关信元产生反压取消信息。
10、根据权利要求7、8或9所述的装置,其特征在于,所述的反压控制单元包括针对整个缓存信元的全局反压控制、针对某个优先级的信元的反压控制、针对某个输出端口信元的反压控制和针对某一个队列的信元的反压控制中的至少一项。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710002741.3A CN100550853C (zh) | 2007-01-25 | 2007-01-25 | 一种基于输出队列的流控实现方法及装置 |
PCT/CN2008/070188 WO2008092404A1 (fr) | 2007-01-25 | 2008-01-25 | Procédé et appareil de réalisation de contrôle de flux sur la base d'une file d'attente de sortie |
EP08706565A EP2129058A4 (en) | 2007-01-25 | 2008-01-25 | METHOD AND APPARATUS FOR PERFORMING FLOW CONTROL BASED ON OUTPUT WAITING FILE |
US12/509,081 US8174987B2 (en) | 2007-01-25 | 2009-07-24 | Method and apparatus for implementing output queue-based flow control |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710002741.3A CN100550853C (zh) | 2007-01-25 | 2007-01-25 | 一种基于输出队列的流控实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101035067A CN101035067A (zh) | 2007-09-12 |
CN100550853C true CN100550853C (zh) | 2009-10-14 |
Family
ID=38731381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710002741.3A Expired - Fee Related CN100550853C (zh) | 2007-01-25 | 2007-01-25 | 一种基于输出队列的流控实现方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8174987B2 (zh) |
EP (1) | EP2129058A4 (zh) |
CN (1) | CN100550853C (zh) |
WO (1) | WO2008092404A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738561B1 (en) | 1997-11-21 | 2004-05-18 | Victor Company Of Japan, Ltd. | Recording medium and signal processing apparatus |
CN100550853C (zh) * | 2007-01-25 | 2009-10-14 | 华为技术有限公司 | 一种基于输出队列的流控实现方法及装置 |
CN101340385B (zh) * | 2008-08-22 | 2012-02-29 | 华为技术有限公司 | 一种反压信息的生成方法、系统和装置 |
CN101667959B (zh) * | 2008-09-05 | 2014-08-20 | 华为技术有限公司 | 一种物理层数据传输的方法、装置及数据传输的系统 |
JP5233775B2 (ja) * | 2009-03-19 | 2013-07-10 | 富士通株式会社 | パケット伝送装置、回線インタフェースユニット及びパケット伝送装置の制御方法 |
CN102143053B (zh) * | 2010-11-12 | 2014-08-20 | 华为技术有限公司 | 传输数据的方法、装置和系统 |
CN102088412B (zh) * | 2011-03-02 | 2014-09-03 | 华为技术有限公司 | 交换单元芯片、路由器及信元信息的发送方法 |
CN102684983B (zh) * | 2011-03-15 | 2016-08-03 | 中兴通讯股份有限公司 | 一种信元调度方法和装置 |
CN102377672A (zh) * | 2011-11-03 | 2012-03-14 | 华为技术有限公司 | 数据中心网络中的选路方法和通信设备 |
CN105763481A (zh) * | 2014-12-19 | 2016-07-13 | 北大方正集团有限公司 | 一种信息缓存方法及装置 |
CN112532531B (zh) * | 2020-11-12 | 2022-09-30 | 杭州迪普科技股份有限公司 | 一种报文调度方法及装置 |
CN115118782B (zh) * | 2022-06-27 | 2023-08-22 | 平安银行股份有限公司 | 数据控制方法、装置、电子设备及计算机可读存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5983278A (en) * | 1996-04-19 | 1999-11-09 | Lucent Technologies Inc. | Low-loss, fair bandwidth allocation flow control in a packet switch |
US6141323A (en) * | 1996-06-03 | 2000-10-31 | Whittaker Corporation | Closed loop congestion control using a queue measurement system |
US6195335B1 (en) * | 1997-06-27 | 2001-02-27 | International Business Machines Corporation | Data switch |
US6519225B1 (en) * | 1999-05-14 | 2003-02-11 | Nortel Networks Limited | Backpressure mechanism for a network device |
US6944152B1 (en) * | 2000-08-22 | 2005-09-13 | Lsi Logic Corporation | Data storage access through switched fabric |
US6980520B1 (en) * | 2001-06-11 | 2005-12-27 | Advanced Micro Devices, Inc. | Method and apparatus for performing source-based flow control across multiple network devices |
US7180862B2 (en) * | 2002-07-18 | 2007-02-20 | Intel Corporation | Apparatus and method for virtual output queue feedback |
US7453810B2 (en) * | 2004-07-27 | 2008-11-18 | Alcatel Lucent | Method and apparatus for closed loop, out-of-band backpressure mechanism |
CN100417136C (zh) * | 2005-07-27 | 2008-09-03 | 华为技术有限公司 | 一种基于三级交换网的下行队列快速反压传送装置及方法 |
ATE552262T1 (de) * | 2006-11-29 | 2012-04-15 | Pfizer Prod Inc | Spiroketone als inhibitoren von acetyl-coa- carboxylase |
CN100550853C (zh) * | 2007-01-25 | 2009-10-14 | 华为技术有限公司 | 一种基于输出队列的流控实现方法及装置 |
CN100591047C (zh) * | 2007-02-10 | 2010-02-17 | 华为技术有限公司 | 一种多级交换网的反压方法、系统及交换节点 |
-
2007
- 2007-01-25 CN CN200710002741.3A patent/CN100550853C/zh not_active Expired - Fee Related
-
2008
- 2008-01-25 EP EP08706565A patent/EP2129058A4/en not_active Withdrawn
- 2008-01-25 WO PCT/CN2008/070188 patent/WO2008092404A1/zh active Application Filing
-
2009
- 2009-07-24 US US12/509,081 patent/US8174987B2/en active Active
Non-Patent Citations (2)
Title |
---|
一种输入输出排队交换机中分布式分组调度方法的研究. 涂晓东,李乐民.电子与信息学报,第25卷第4期. 2003 |
一种输入输出排队交换机中分布式分组调度方法的研究. 涂晓东,李乐民.电子与信息学报,第25卷第4期. 2003 * |
Also Published As
Publication number | Publication date |
---|---|
WO2008092404A1 (fr) | 2008-08-07 |
EP2129058A4 (en) | 2010-02-24 |
CN101035067A (zh) | 2007-09-12 |
EP2129058A1 (en) | 2009-12-02 |
US20090290593A1 (en) | 2009-11-26 |
US8174987B2 (en) | 2012-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100550853C (zh) | 一种基于输出队列的流控实现方法及装置 | |
US7027457B1 (en) | Method and apparatus for providing differentiated Quality-of-Service guarantees in scalable packet switches | |
US9083655B2 (en) | Internal cut-through for distributed switches | |
CN104836750B (zh) | 一种基于时间片轮转的数据中心网络流调度方法 | |
CN101557340B (zh) | 一种数据网络中实现多级队列调度的方法及装置 | |
US6356629B1 (en) | Switched virtual circuit controller setup congestion management strategy | |
CN102164067B (zh) | 交换网流控实现方法、交换设备及系统 | |
CN102111327B (zh) | 信元调度方法和系统 | |
EP2442498B1 (en) | Method and device for controlling switching network traffic | |
CN103379038B (zh) | 一种流量调度的装置及方法 | |
WO2011006398A1 (zh) | 一种数据交换方法及数据交换结构 | |
CN102611605B (zh) | 一种数据交换网的调度方法、装置和系统 | |
US9100313B1 (en) | Shared egress buffer in a multi-stage switch | |
CN107948103A (zh) | 一种基于预测的交换机pfc控制方法及控制系统 | |
CN102752192B (zh) | 基于SCTP的ForCES传输映射层的带宽分配方法 | |
CN102487494A (zh) | 短信流量控制方法和系统 | |
US6947380B1 (en) | Guaranteed bandwidth mechanism for a terabit multiservice switch | |
US8879578B2 (en) | Reducing store and forward delay in distributed systems | |
WO2014075525A1 (zh) | 一种报文转发方法和装置 | |
CN102333026A (zh) | 报文转发方法及装置 | |
US7602797B2 (en) | Method and apparatus for request/grant priority scheduling | |
CN112565100B (zh) | 一种主动和被动方式相结合的网络拥塞控制方法 | |
Minkenberg et al. | Speculative flow control for high-radix datacenter interconnect routers | |
RU2827656C2 (ru) | Способ процесса передачи трафика реального времени с использованием планировщика и функцией контроля доставки в программно-конфигурируемых сетях | |
EP4521708A1 (en) | Transmission buffering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091014 |