路由端口竞争公平性问题

来源:互联网 发布:ie3.0fps弹道优化驱动 编辑:程序博客网 时间:2024/05/29 18:03

问题背景:随着网络技术的发展,数据传送速率越来越快,而数据总是要在网络中的一些节点处发生交换、路由等操作,这就要求路由器的交换速率要随着数据传送速率的增加而不断增长。提高路由器交换速率的途径有两条:一是采用更高速的开关器件,二是改进配置路由器中的开关的算法。

 

并行迭代匹配算法(Parallel Iterative Matching,简称为PIM算法)[1]是目前已投入商用的一种算法。这个算法分为3步:1、请求。每一个未被匹配的有等待队列的输入端口发送请求到需求的输出端口;2、授权。未被匹配的输出端口收到请求后,均匀等概率地随机授权给一个请求;3、确认。输入端口得到授权后也均匀等概率地随机授权给一个输出端。下图给出了这三个步骤的一个示例。

路由端口竞争公平性问题

这个算法可以重复进行多次,直到输入端口和输出端口达到一个极大匹配(注意不是最大匹配)。但是这个算法也存在一些问题,比如说由于在输入端口和输出端口都采用等概率选取的方式,可能造成端口间的不公平性问题,一个例子如下图所示[2]

路由端口竞争公平性问题

下面以博弈论观点来分析这个问题,为方便起见用I1I2分别表示输入的两个端口,用O1O2分别表示输出的两个端口。显然I1有两个数据包λ1,1λ1,2在竞争端口一的使用权,在传统的PIM算法中采用等概率选取的方法来解决端口竞争问题,下面考虑三个数据包λ1,1λ1,2λ2,1收益情况。根据前面描述的PIM算法O2只会授权给I1(用O2→I1表示),而O1会等可能地授权给I1I2(分别用O1→I1O1→I2表示),于是可能出现两种授权情况,分别是(O1→I1O2→I1)和(O1→I2O2→I1),两种情况的概率均为1/2。从而三个数据包的收益情况如下表所示。

路由端口竞争公平性问题

从而λ1,1的期望收益为1/4λ1,2的期望收益为3/4λ2,1的期望收益为1/2,可见三个数据包的期望收益不等,它们之间是不公平的!

 

但如果调整PIM算法不再等概率选取端口,则有可能解决不公平的问题。比如可以假设当λ1,1λ1,2都被输出端口授权时,I1选取λ1,1的概率为p,选取λ1,2的概率为1-p;同时在输出端口选取(O1→I1O2→I1)和(O1→I2O2→I1)两种授权方式的概率分别为q1-q。那么三个数据包的收益情况变为下表。

路由端口竞争公平性问题

从而λ1,1的期望收益为pqλ1,2的期望收益为q(1-p)+ 1-q=1-pqλ2,1的期望收益为1-q。要使三个数据包公平,即要求它们的期望收益满足如下方程pq=1-pq =1-q,可以解出p =1q =1/2

 

这样即可使三个数据包达到公平。

 

但是,对于一般的多个端口的问题,要求解的是一组非线性方程,这组方程可能没有解,即使有解,求解也可能十分困难。

原创粉丝点击