1 一些基礎(chǔ)概念的糾正
Cell 信元:概念來自ATM(Asynchronous transfer mode). 一般指固定長度的數(shù)據(jù)分組。
? ??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可變,在不同的協(xié)議中可能不同。計算機網(wǎng)絡(luò)中經(jīng)常用到。
Speedup 加速比: 指switch交換速率與線速之比。
2 對于工作方向的指導
????由于前期工作的準備不足和畢設(shè)時間的緊迫,現(xiàn)在已經(jīng)來不及按照先廣度后深度的方法閱讀文獻,目前要抓住畢設(shè)研究的關(guān)鍵問題,有針對性地對文獻進行閱讀,找出最需要的部分。首先,要抓出交換機分組調(diào)度的鏈條,整個過程主要可以分為三部分:入隊(CA)、輸入調(diào)度(IS)和輸出調(diào)度(OS)。本課題研究的關(guān)鍵在于更優(yōu)輸入調(diào)度算法的探索,因此,對于入隊和輸出調(diào)度不要做過多的追求,找一個合適的算法先用,重點對輸入調(diào)度進行研究。
? ? 我們就知道影響交換機性能的因素中,HoL阻塞占了很大部分。同時,輸入調(diào)度又是離HOL阻塞最近的過程,顯然,緩解HOL阻塞是本次研究的中重中之重,這也是一開始就確定好的方向,那么如何將這個任務(wù)具體實行呢?
? ? 1. 從結(jié)構(gòu)入手,對CICQ結(jié)構(gòu)比如crosspoint的buffer size進行優(yōu)化,這也是許多文獻探討的方向,本課題的研究重點是調(diào)度算法,因此不多做討論,直接選擇一個合適的結(jié)構(gòu)開始算法研究。
? ? 2.從算法入手,討論排隊時延,那就主要涉及兩個方面。一是算法本身的性能(復雜度,裁決次數(shù)等);二是算法對HOL阻塞的影響,這就引入了一個trade-off。有可能一個算法比較復雜,執(zhí)行它在輸入端需要花更多的時間,但是它對HOL阻塞的緩解效果好,總體上提升了交換分組調(diào)度的性能??偟膩碚f,隊頭阻塞的影響>>算法好壞。
????以cell-splitting為例,分析上,對分組進行拆分增加了單獨考慮的分組個數(shù),增加了判決的次數(shù)。比如一個4 x 4交換機,一個扇出為3的cell,拆分后在這個time slot走了兩個,下一個time slot要走這一個,有可能會讓一個扇出為4的cell無法一次走掉。 但是,從仿真結(jié)果來看,使用扇出拆分的總體效果,是好于不使用的。盡管如此,這個方法也引入了一些問題,比如不是所有用戶接收到某個cell的時間都是相同的了,就需要考慮同步的問題(似乎涉及到Qos),但這也不是本課題重點要考慮的問題。
? ? 對于隊頭阻塞的分析,有兩個需要考慮的點,一是分組需求的差異性(扇出不同),二是之前time slot輸入調(diào)度的結(jié)果。
? ? 在上周的工作中有一個誤區(qū)是過分關(guān)注了各個文獻中設(shè)計的算法是怎樣工作的,一步步去理解耗費了大量的時間,實際上應(yīng)該把80%的精力放在他們如何分析和推理問題上面,接下來的工作應(yīng)該注意的重點:
1. 為了簡化問題,他們做了哪些假設(shè)?有哪些前提和限制?
2. 思考哪些假設(shè)是合理的?哪些是不合理的/過于理想化/過于簡化的?
3. 有沒有哪些分析是不夠全面的,比如沒考慮到的? 或者思考不夠深入的?
4. 提出的限制越多,一般就離實際情況越遠,有哪些限制是必須的,有哪些是可以放寬甚至取消的? 放寬了限制對算法性能是否有影響?
5. 本科畢設(shè)應(yīng)該主要針對于一個小點進行分析和改進,不要妄想全盤改進,找準定位。盡快先把方案提出來,利用仿真驗證。
6. 趁師兄還在盡快熟悉實驗室的仿真平臺,一周內(nèi)完成!
3 參考方向
?老師提到了speedup=2的一篇文章,應(yīng)該是[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.
? ? 讀這篇文章,重點關(guān)注他是如何分析問題的。比如他最后的結(jié)論是建立在speedup為2的基礎(chǔ)上,那么他為什么會要求加速比為2? 類比:加速比就相當于濾波器的截止頻率,加速比為N(VOQ模擬OQ情況),就相當于截止頻率無限大,無失真?zhèn)鬏斚到y(tǒng)。filter將帶寬縮小,會影響信號,那么switch將加速比縮小會影響交換性能。
關(guān)于基于幀的方法,主要有兩種思路:
? ? ? ? 1. 通常的思路是在幀內(nèi)通過調(diào)度算法進行選擇,安排好調(diào)度順序,使后面不打算HOL阻塞。
? ? ? ? 2. 調(diào)整到達順序?研究的重點思路??刂苼y序問題? Trade-off:可以亂序,只要這樣做對總體的好處大于重新整序帶來的代價,就ok。
? ? ? ? 例子:BvN分解(應(yīng)該是這個)很早提出來,亂序問題十幾年都沒有解決,但是它帶來的好處確實比較大(業(yè)務(wù)均衡,使得時延控制簡單了),所以一直有人使用。
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)