1 一些基础概念的纠正
Cell 信元:概念来自ATM(Asynchronous transfer mode). 一般指固定长度的数据分组。
In the ISO-OSI reference model data link layer (layer 2), the basic transfer units are generically called frames. In ATM these frames are of a fixed (53 octets or bytes) length and specifically called "cells".
Packet 分组:data length可变,在不同的协议中可能不同。计算机网络中经常用到。
Speedup 加速比: 指switch交换速率与线速之比。
2 对于工作方向的指导
由于前期工作的准备不足和毕设时间的紧迫,现在已经来不及按照先广度后深度的方法阅读文献,目前要抓住毕设研究的关键问题,有针对性地对文献进行阅读,找出最需要的部分。首先,要抓出交换机分组调度的链条,整个过程主要可以分为三部分:入队(CA)、输入调度(IS)和输出调度(OS)。本课题研究的关键在于更优输入调度算法的探索,因此,对于入队和输出调度不要做过多的追求,找一个合适的算法先用,重点对输入调度进行研究。
我们就知道影响交换机性能的因素中,HoL阻塞占了很大部分。同时,输入调度又是离HOL阻塞最近的过程,显然,缓解HOL阻塞是本次研究的中重中之重,这也是一开始就确定好的方向,那么如何将这个任务具体实行呢?
1. 从结构入手,对CICQ结构比如crosspoint的buffer size进行优化,这也是许多文献探讨的方向,本课题的研究重点是调度算法,因此不多做讨论,直接选择一个合适的结构开始算法研究。
2.从算法入手,讨论排队时延,那就主要涉及两个方面。一是算法本身的性能(复杂度,裁决次数等);二是算法对HOL阻塞的影响,这就引入了一个trade-off。有可能一个算法比较复杂,执行它在输入端需要花更多的时间,但是它对HOL阻塞的缓解效果好,总体上提升了交换分组调度的性能。总的来说,队头阻塞的影响>>算法好坏。
以cell-splitting为例,分析上,对分组进行拆分增加了单独考虑的分组个数,增加了判决的次数。比如一个4 x 4交换机,一个扇出为3的cell,拆分后在这个time slot走了两个,下一个time slot要走这一个,有可能会让一个扇出为4的cell无法一次走掉。 但是,从仿真结果来看,使用扇出拆分的总体效果,是好于不使用的。尽管如此,这个方法也引入了一些问题,比如不是所有用户接收到某个cell的时间都是相同的了,就需要考虑同步的问题(似乎涉及到Qos),但这也不是本课题重点要考虑的问题。
对于队头阻塞的分析,有两个需要考虑的点,一是分组需求的差异性(扇出不同),二是之前time slot输入调度的结果。
在上周的工作中有一个误区是过分关注了各个文献中设计的算法是怎样工作的,一步步去理解耗费了大量的时间,实际上应该把80%的精力放在他们如何分析和推理问题上面,接下来的工作应该注意的重点:
1. 为了简化问题,他们做了哪些假设?有哪些前提和限制?
2. 思考哪些假设是合理的?哪些是不合理的/过于理想化/过于简化的?
3. 有没有哪些分析是不够全面的,比如没考虑到的? 或者思考不够深入的?
4. 提出的限制越多,一般就离实际情况越远,有哪些限制是必须的,有哪些是可以放宽甚至取消的? 放宽了限制对算法性能是否有影响?
5. 本科毕设应该主要针对于一个小点进行分析和改进,不要妄想全盘改进,找准定位。尽快先把方案提出来,利用仿真验证。
6. 趁师兄还在尽快熟悉实验室的仿真平台,一周内完成!
3 参考方向
老师提到了speedup=2的一篇文章,应该是[2016]Non-blocking frame-based multicast scheduler for IQ switches这篇。
Abstract: It has been shown that input queued (IQ) switches have throughput limitations when loaded with multicast traffic. However, if the circulation of packets is allowed, the IQ switches can be non-blocking for any admissible multicast traffic scenario using only a speedup of two. The non-blocking frame-based algorithm for scheduling the multicast traffic is proposed.
读这篇文章,重点关注他是如何分析问题的。比如他最后的结论是建立在speedup为2的基础上,那么他为什么会要求加速比为2? 类比:加速比就相当于滤波器的截止频率,加速比为N(VOQ模拟OQ情况),就相当于截止频率无限大,无失真传输系统。filter将带宽缩小,会影响信号,那么switch将加速比缩小会影响交换性能。
关于基于帧的方法,主要有两种思路:
1. 通常的思路是在帧内通过调度算法进行选择,安排好调度顺序,使后面不打算HOL阻塞。
2. 调整到达顺序?研究的重点思路。控制乱序问题? Trade-off:可以乱序,只要这样做对总体的好处大于重新整序带来的代价,就ok。
例子:BvN分解(应该是这个)很早提出来,乱序问题十几年都没有解决,但是它带来的好处确实比较大(业务均衡,使得时延控制简单了),所以一直有人使用。
Michael Tartre and Bill Lin. Frame-Based Multicast Switching. 2010 中写到:
The Birkhoff-von Neumann (BvN) switching strategy proposed by Chang et al. [1] provides one such offline scheduling approach that can guarantee 100% throughput and deterministic delays for any known admissible traffic. The BvN approach can be used to decompose any admissible traffic matrix into a convex combination of permutation matrices that correspond to switch configurations. Although BvN switching can support any flow rates specified as non-negative real numbers, the approach has several drawbacks. First, the number of permutation matrices that a BvN decomposition can generate is O(N^2) for an N × N switch, which can lead to a substantial online memory requirement when N is large. Second, the BvN switching approach is not completely offline. It uses the Packetized Generalized Process Sharing (PGPS) algorithm in [2] to schedule online the generated permutation matrices, which is non-trivial to implement. (http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.167.3478&rep=rep1&type=pdf)