路由端口竞争公平性问题
来源:互联网 发布:ie3.0fps弹道优化驱动 编辑:程序博客网 时间:2024/05/29 18:03
问题背景:随着网络技术的发展,数据传送速率越来越快,而数据总是要在网络中的一些节点处发生交换、路由等操作,这就要求路由器的交换速率要随着数据传送速率的增加而不断增长。提高路由器交换速率的途径有两条:一是采用更高速的开关器件,二是改进配置路由器中的开关的算法。
并行迭代匹配算法(Parallel Iterative Matching,简称为PIM算法)[1]是目前已投入商用的一种算法。这个算法分为3步:1、请求。每一个未被匹配的有等待队列的输入端口发送请求到需求的输出端口;2、授权。未被匹配的输出端口收到请求后,均匀等概率地随机授权给一个请求;3、确认。输入端口得到授权后也均匀等概率地随机授权给一个输出端。下图给出了这三个步骤的一个示例。
这个算法可以重复进行多次,直到输入端口和输出端口达到一个“极大”匹配(注意不是最大匹配)。但是这个算法也存在一些问题,比如说由于在输入端口和输出端口都采用等概率选取的方式,可能造成端口间的不公平性问题,一个例子如下图所示[2]。
下面以博弈论观点来分析这个问题,为方便起见用I1、I2分别表示输入的两个端口,用O1、O2分别表示输出的两个端口。显然I1有两个数据包λ1,1和λ1,2在竞争端口一的使用权,在传统的PIM算法中采用等概率选取的方法来解决端口竞争问题,下面考虑三个数据包λ1,1、λ1,2和λ2,1的“收益”情况。根据前面描述的PIM算法O2只会授权给I1(用O2→I1表示),而O1会等可能地授权给I1或I2(分别用O1→I1和O1→I2表示),于是可能出现两种授权情况,分别是(O1→I1,O2→I1)和(O1→I2,O2→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→I1,O2→I1)和(O1→I2,O2→I1)两种授权方式的概率分别为q和1-q。那么三个数据包的“收益”情况变为下表。
从而λ1,1的期望收益为pq,λ1,2的期望收益为q(1-p)+ 1-q=1-pq,λ2,1的期望收益为1-q。要使三个数据包公平,即要求它们的期望收益满足如下方程pq=1-pq =1-q,可以解出p =1,q =1/2。
这样即可使三个数据包达到公平。
但是,对于一般的多个端口的问题,要求解的是一组非线性方程,这组方程可能没有解,即使有解,求解也可能十分困难。
- 路由端口竞争公平性问题
- 关于小米路由MINI无法端口转发的问题
- 对我国养老保障制度公平性问题的思考
- 多线程竞争资源问题
- 多线程数据竞争问题
- 多线程竞争问题分析
- 完成端口的回射服务器,给别人的代码添加了补丁(竞争问题,发送数据)
- 高考公平性
- 路由问题?
- 路由问题
- 一个线程竞争的问题
- mutex, cond; 竞争, 同步问题
- Linux 内核SMP 竞争问题
- 智能路由 为何引爆互联网巨头间的竞争?
- 竞争
- 竞争
- 竞争
- 竞争
- DXUT框架剖析(4)
- DXUT框架剖析(5)
- Hibernate对象的三种状态
- 一个C++集成产品化服务
- spinlock 详解
- 路由端口竞争公平性问题
- Oracle数据库的备份导出和导入
- Apache2+Tomcat7+mod_jk2.2.3集群负载均衡配置(目前最强悍)
- 声音、音频采样率、采样精度等常识概念
- DXUT框架剖析(6)
- 中国外卖网站的现状
- 一个Statistical Computing主页
- 被虐、 = =、
- 中南民族大学计算机科学学院本科课程课件等相关