一个交换机有可能由缓存式输入端口、交换架构以及缓存式的输出端口所组成。如果在输入端口处使用了先进先出(FIFO)的策略,那么就只有最先进入的数据包可以被处理。而此时如果最先进入的数据包由于目标输出端口正忙而无法被处理的话,那么更晚到达的数据包就没有办法被处理(即便是更晚到达的数据包的目标输出端口并没有处于忙碌的状态)。输出正忙的情况有:
- 存在输出的竞态关系;
- 或者更常见的情况是输出缓存已满,从而导致了阻塞现象(例如多个输入的数据传输速率超过了输出的传输速率)。
如果没有队头阻塞的话,新到达的数据包就有可能绕开被阻碍的数据包而被导向它们各自的(没有处于阻塞状态的)目标输出端口了。这种现象有可能在缓存式输入的系统中对性能造成极大的影响。
解决队头阻塞[编辑]
解决这个问题的其中一个方法是使用虚拟输出队列[1]。只有在缓存式输入的交换机中才会出现队头阻塞的情况。如果交换机内部的带宽足够的话,缓存输入就是没有必要的了——所有的缓存都可以在输出处被处理,从而也避免了队头阻塞。这样的无缓存式输入架构在中小型规模的以太网交换机中非常常见。
Read full article from 队头阻塞 - 维基百科,自由的百科全书
No comments:
Post a Comment