首页 理论教育PCIExpressRate-Based流量控制简介

PCIExpressRate-Based流量控制简介

【摘要】:图9-3 Rate-based流量控制机制假设Node 1与Node 2之间共存在5个VC,即在链路1的两端设置了5组缓存。采用Rate-Based流量控制机制可以有效解决“可预知带宽”的数据传递。因为Rate-Based流量控制的实时性较弱,当一个VC需要瞬间传递大量报文时,Rate-Bsed机制不能及时地为这条VC提供足够的数据传送率;而当一个VC拥塞时,也不能及时地降低数据传送率。因此使用Rate-Based机制并不能满足网络上突发数据传送的需要,此时需要使用Credit-Based机制对流量进行控制。

Rated-Based机制适合“可预知带宽”的数据传递方式,而Credit-Based机制更加适合“突发数据传送”。下面将以图9-3所示的实例简单介绍Rate-Based机制。

978-7-111-29822-9-Part02-116.jpg

图9-3 Rate-based流量控制机制

假设Node 1与Node 2之间共存在5个VC,即在链路1的两端设置了5组缓存。而这5个VC共享一个物理通路,即链路1。为方便起见,假设链路1的带宽为1,而在系统初始化时,将VC1~5可以使用的带宽BCVC都设为1/4(即Rate值为1/4),而且每一个VC使用的最大数据传送率不能超过BCVC。

在某些情况下,由于在Node 1中,每个VC的BCVC最大值为1/4,因此Node 1可以向Node 2发送的数据带宽总和为5/4,大于链路1所能提供的峰值带宽,因此链路1将可能成为瓶颈,从而造成网络拥塞。此时来自Node 1的数据报文必然会阻塞在各自VC的发送缓冲中,并可能出现报文重传现象。

Rete-Based机制使用“自适应”调解的办法有效防止了这种网络拥塞。Rate-Based机制规定每一个VC在发送一定数量的报文后,将主动地将相应VC的Rate调整为Rate减去ADR(Additive Decrease Rate),直到Rate等于MCR(Minimum Cell Rate)[60];当Node 2的Egress端口并不拥塞时,Node 2将向Node 1的对应VC发出正向反馈,通知该VC可以适当提高数据传送率,当Node 1的VC收到这个正向反馈后,将更新其BCVC。(www.chuimin.cn)

假设在本例中MCR为x,当链路1严重拥塞时,Node 2不会向Node 1的所有VC发出正向反馈,最终Node 1所有VC的Rate都将降为MCR,此时Node 1将不会向Node 2发送过多的数据报文;当链路1并不拥塞时,Node 2将向Node 1的相应VC发出正反馈,通知Node 1可以适当提高数据报文的数据传送率。

Rate-Based流量控制机制可以使用漏桶(Leaky Bucket)算法或者令牌桶(Token Buck-et)算法实现。使用令牌桶算法时,一个设备至少具有MCR个令牌,这个设备每发送一定数量的报文后,将令牌减少ADR个,但是总令牌数不低于MCR。当这个设备收到下游设备的正反馈时,将增加令牌数。

采用Rate-Based流量控制机制可以有效解决“可预知带宽”的数据传递。比如Node 1向Node 2发送音频或者视频数据,这些音视频数据占用的数据带宽基本恒定,因此使用这种方法可以保证这类数据报文的流畅传递。

而对于多数长度“不可预知”的突发数据传递,该机制并不能完全适用。因为Rate-Based流量控制的实时性较弱,当一个VC需要瞬间传递大量报文时,Rate-Bsed机制不能及时地为这条VC提供足够的数据传送率;而当一个VC拥塞时,也不能及时地降低数据传送率。因此使用Rate-Based机制并不能满足网络上突发数据传送的需要,此时需要使用Credit-Based机制对流量进行控制。