• 沒有找到結果。

D1. Server 端的 Delaying Ack

我們將 ns2 模擬器稍作修改來模擬在 D2 中所描述的延遲 ack 的方法。在拓樸中我們建 立了一個 client node、一個 server node,以及一個負責幫 client 轉送封包至 server 的 router。

Client node 不斷地送出 ftp 資料至 server node。模擬的結果如圖三十七所示,其中 link rate 分別為 0.5、1,以及 2Mbps。由圖可以看出,在 checkpoint interval 調增至某個程度時,

throughput 開始有大量的遞減,而且至少降幅為沒有使用 checkpoint 時的一半以上。

圖三十六、congestion control 於 connection parsing 的連線策略

圖三十七 a

D2. Congestion window 預測

我們使用 ns2 模擬器進行比較下列恢復連線時,congestion window 所設的大小:

z slow-start 將 congestion window size 設為 1

z reuse 使用上次 checkpoint 裡的 congestion window size

z predict 使用良好預測的 congestion window size 圖三十七 b

圖三十七 c

圖三十七、不同 checkpoint interval 下的 throughput 比較。圖三十七 a、 Link rate

= 0.5 Mbps。圖三十七 b、Link rate = 1 Mbps。圖三十七 c、Link rate = 2 Mbps.

在 predict 方法中,我們採用以下自[9]所衍伸出的公式:

)) (

* /(

22 . 1 Size

Window

Congestion predicted = RTT sqrt Loss

模擬環境上,我們在 client 與 server 中間放置了一個 delay box。Delay box 代表 client 與 server 之間的網路。Link rate 設定為 2Mbps。Server 連續傳送了 40 秒的 ftp 資料至 client 端。在 10、20,以及 30 秒時傳送被中斷且馬上恢復連線。我們比較了在恢復狀態時分別採用 slow-start、reuse,以及 predict 時所導致的結果,其中 reuse 設定為 0.5 秒前的 congestion window 值。結果如圖三十八所示。

圖三十八 a 及圖三十八 b 分別為將 delay box 的 loss rate 設為 0~0.01 及 0~0.09。圖中 y 軸的 sequence number 代表的是傳送的 packet 個數。我們可以觀察到當 loss rate 較低時,

slow-start 的 sequence number 明顯地成長得最慢;而當 loss rate 較高時,slow-start 與其他 曲線的差距變得較小。另外我們也觀察到在 loss rate 高時,predict 比 reuse 來得更好。這 是因為 loss rate 高表示網路狀況的不穩定,此時舊的 congestion window 已不能反應現在的 網路狀況。

圖三十八 a

D3. 應用程式開發及其效能測量

明顯地,在達成高可得高連續性與服務的效能之間必須取得一個平衡。Active 與 standby 之間的 checkpoint 更新越是頻繁,處理器真正花在服務上的時間就越少。

我們使用了 OpenAIS 以及 TCPCP2 開發了一個具 service availability 能力的簡易的檔案 傳送程式。此程式在 client 與 server 建立連線之後就馬上傳送一個檔案至 client 端。

圖三十九比較了具 SA 能力以及無 SA 能力的程式在傳送不同檔案大小時所需的時間。

結果顯示平均而言,具 SA 能力的程式需要多 6.3%的時間來傳送檔案。圖四十為傳送一 8MB 大小的檔案時,將 checkpoint interval 設為不同值時所需的傳送時間。可以看到在 checkpoint interval 由 0.1 秒調為 0.2 秒時,所需的傳送時間有大量的下降,而 0.2 以後下降趨於減緩。

圖四十一比較在不做 checkpoint、checkpoint interval 為 0.5 秒,以及 checkpoint interval 為 0.3 秒時,server 端的 sequence number 成長圖。我們可以看到在 checkpoint interval 為 0.5 秒時,在 0.5~0.55 秒的地方 sequence number 有稍微停頓一下。類似的情況也發生在 0.6~0.65 秒時的 checkpoint interval 為 0.3 的曲線上。這是因為在那時候程式正在擷取 TCP 內部連線 並且與 standby 更新。

圖三十八 b

圖三十八、Sequence number 與 time 關係圖。圖三十八 a、Delay box loss rate = 0~0.01. 圖三十八 b、Delay box loss rate = 0~0.09.

圖三十九、傳送不同大小檔案所需的時間。Checkpoint interval 為 0.5 秒

相關文件