3. Online smoothing
5.3 在無線環境中多用戶使用系統的情形
5.3.1 網路延遲及 jitter 之量測
5.3.1.3 Client 數量對平順演算法的影響
我們同時開啟 6 個 client 連上 server,量取 server 和某一個 client 的流量,如圖 5.11
圖 5.11 在多用戶同時使用系統時,其中一用戶的時間-封包累積量
這是封包累積量對時間做的圖,最底下的藍線是傳輸的 Lower bound,緩衝區大小是 2Mbytes,在有做 smoothing 的情況,每 40ms 累積的封包量幾乎是固定的,所以斜率看起來沒太大變化,也就是傳 輸速率變化很小.
我們將上圖在 0~1.2 秒附近的圖放大來看,如圖 5.12
圖 5.12 時間-封包累積量 (區間 0~1.2 秒)
由於是傳同一個檔案,所以理論上在同一時間所累積的量應該是 一樣的,在 2 個 client,3 個 client,4 個 client 可以看出幾乎是 重疊的,這是最合理想的狀況;但在 6 個 client 的情況,server 停 了約 0.9 秒沒傳東西.有點像是當掉了.應該是 server 同時跑 6 個程 式,太忙而造成的現象,另外,1 個 client 和 5 個 client 的曲線和 2,3,4 個 client 的差較遠,推測也是作業系統執行上的問題.
為了確定 6 個 client 發呆的情形不是偶發的現象,我們多做了幾 次量測,發現 10 次中約有 1 次會發生 server 發呆的情形,接下來是 另一次量測的結果.
因為封包累積圖需要在 MATLAB 下縮放移動才容易看,為了在文
章中能讓讀者方便了解,我們接下來用速率-時間取代封包累積-時間 的表示法.然而,這樣的表示法會喪失一些時間上的資訊,因為求速 率的時候,必須取一段時間,然後用這段時間內送出的封包總量除以 時間長度,但是這樣就無從得知封包在這段時間裡的那個時間點到 達.
圖 5.13 和圖 5.14 是有做平順演算法的 server 服務 1~6 個 client 時,在傳送端/接收端看到的速率變化.
圖 5.13 傳送端送出封包的速率
圖 5.14 接收端收到封包的速率
在 Tx 端的情況,可以看到 client 數量只有 1 的時候(黃線),在 時間 20 秒級 25 秒附近忽然陡降又回升,表示在這段時間傳輸的資料 量很小,這樣的現象推測是程式 sleep 太久或是受到作業系統內其它 程式的影響,也就是像(前圖)6 個 client 在 0~0.9 秒的情況;除此之 外,client 數量對傳輸速率沒有很明顯的影響.這很合理,若 server 有足夠的運算能力,不管有幾個 client,每個 client 都會做
smoothing,彼此之間不會互相影響.
在 Rx 端的情況下,可以看到速率變動幅度比 Tx 端大,變化的情 形和 client 數量也無關,Rx 端主要是跟著 Tx 端變化,再加上無線
網路的傳輸延遲.
圖 5.15~圖 5.17 是在 Tx 端比較有使用 smoothing 和沒有用 smoothing 的傳輸速率有何差異,因為不同 client 的圖都很像,我 們挑幾個來看:
圖 5.15 1 client 之傳輸速率
圖中能看出有 smoothing 的傳輸速率(藍線)比沒用 smoothing 的 (青線)平穩.在最開始的地方藍線衝到很高的地方,那是因為程式設 計成在剛開始的時候要先送 25 個 frame 的資料量,好讓 client 的 buffer 能先裝滿,減少 underflow 的可能性.
圖 5.16 同時有 2 個 clients 使用系統,其中 1 client 之傳輸速率
圖 5.17 同時有 5clients 使用系統,其中 1 client 之傳輸速率
再來,我們想知道有很多 client 同時連上 server 時,server 如 何分配哪段時間傳送哪個 client 的資料.圖 5.18 是 6 個 client 同時 連上 server 時,每個 client 的封包大小-時間圖.
圖 5.18 clients 使用系統時的封包傳送相對時間 看一個 40ms 範圍內的傳送情況,如圖 5.19:
圖 5.19 中封包是一叢一叢的,代表一個 frame 包含的包,不同 顏色表示不同 client 的封包.在 server 端做規劃的時候是每個 client 分別獨立規劃的,不同 client 的封包群在時間上的距離有近 有遠,看程式執行的時間;接著我們比較在接收端看到的情況,如圖 5.20:
圖 5.19 有 6 clients 使用系統時的封包傳送相對時間(取 40ms 範圍) 圖 5.20 是 AP 傳給 6 個 client 的封包,可以看得出來封包間的 距離比較開,因為封包實際傳送時要等 RTS/CTS,所以花得時間較多;
另外可以發現,無線網路已經很忙碌,在時間軸上空白的部份(閒置) 已不多,若再加上 Server 傳給 AP 的另外一半傳輸量,網路幾乎沒有 閒置的時間了.
圖 5.20 有 6 clients 使用系統時的封包接收相對時間(取 40ms 範圍)