• 沒有找到結果。

基於軟體定義網路下多物流的更新機制 - 政大學術集成

N/A
N/A
Protected

Academic year: 2021

Share "基於軟體定義網路下多物流的更新機制 - 政大學術集成"

Copied!
49
0
0

加載中.... (立即查看全文)

全文

(1)國立政治大學理學院資訊科學系研究所 碩士學位論文 Department of Computer Science College of Science. National Chengchi University (NCCU) Master Thesis. 立. 政 治 大. ‧. ‧ 國. 學. 基於軟體定義網路下多物流的更新機制 SDN Update for Multi-Commodity Flow. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 指導教授:郭桐惟 博士 Advisor: Tung-Wei Kuo, Ph.D. 研究生: 藍堯祺 Yao-Chi Lan. 中華民國 107 年 7 月 July, 2018. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(2) 基於軟體定義網路下多物流的更新機制 SDN Update for Multi-Commodity Flow. 研 究 生:. 藍堯祺. Student: Yao-Chi, Lan. 指導教授:. 郭桐惟. Advisor: Tung-Wei, Kuo. 治. 資訊科學系 碩士論文. 學. ‧ 國. 立. 政 國立政治大學 大. sit. y. ‧. Nat. A Thesis. er. io. submitted to Department of Computer Science. n. al National Chengchi University iv. n U i Requirements in partial fulfillment e n g cofhthe. Ch. for the degree of Master in Computer Science. 中華民國一零七年七月 July 2018. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(3) 摘要. 為了滿足使用者的即時要求,網路設定需要頻繁地被更新。如今的. 政 治 大. 網管人員可以透過軟體定義網路技術輕鬆地更新網路設定。然而,網. 立. 路更新期間可能會造成許多不良副作用,如迴圈或是網路壅塞。給定. ‧ 國. 學. 當下的網路設定,本論文考慮使用者的優先權,在避免更新的副作用 的情況下,計算出最大化系統效率的網路流設定,與對應的更新順序。. ‧. 我們的方法基於線性規劃。實驗顯示我們的方法在兩個常見的資料中. sit. y. Nat. 心網路拓樸,Fat-Tree 與 BCube,有良好的表現。. io. n. al. er. 關鍵字:軟體定義網路、網路流更新。. Ch. engchi. ii. i Un. v. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(4) Abstract. 治 政 updated frequently. Nowadays, network operators 大 can easily update network 立. To satisfy users’ real-time demands, network configurations have to be. configurations through Software-Defined Network technology. However, dur-. ‧ 國. 學. ing the period of network update, several bad side effects may occur, including. ‧. loops and congestions. Given the current network configuration, this thesis. sit. y. Nat. jointly considers user priority and computes a new network configuration that. io. er. maximizes the efficiency of the system under the constraint that no bad side ef-. al. iv n C update sequence. Our solutionh is e based h i Uprogramming. Simulation n gonc linear n. fects can happen during the period of update. We also give the corresponding. results have shown that our solution has good performance in Fat-Tree and BCube, which are common data center topologies. Keywords: Software-Defined Network, Network Flow Update.. iii. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(5) 誌謝. 首先,能夠完成這份研究成果都要感謝我的指導老師,郭桐惟老. 政 治 大. 師。郭老師不停地針對內容給予我應該的指導。針對我演算法上的錯. 立. 誤進行指正,研究方向的意見或是論文的修改。皆感謝郭老師的幫助。. ‧ 國. 學. 再者,感謝實驗室的同仁,俊瑋、筆翔、鑑微的協助。不管是在設備 或是意見上都給我很有用的見解。. ‧. 最後,對於研究結果的審視,感謝張老師與紀老師與郭老師的糾. n. al. er. io. sit. y. Nat. 正。使我的論文更加完整。. Ch. engchi. iv. i Un. v. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(6) 目錄 摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ii. Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. iii. 誌謝 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. iv. 目錄 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. v. 圖目錄. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. vi. 表目錄. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii. 立. 政 治 大. 1. 第 二 章 系統模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 7. 2.1. 網路模型與問題輸入 . . . . . . . . . . . . . . . . . . . . . . . . . . .. 7. 2.2. 問題定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 7. ‧. ‧ 國. 學. 第 一 章 緒論 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. y. Nat. io. sit. 第 三 章 研究方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 10. 線性規劃模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3.2. 避免網路壅塞的更新限制所造成的負面影響 . . . . . . . . . . . . . .. 12. 3.3. 更新效率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 13. 第 四 章 實驗結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 15. 實驗設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 15. 4.1.1. 網路拓樸設定 . . . . . . . . . . . . . . . . . . . . . . . . . . .. 15. 4.1.2. 初始網路流設定 . . . . . . . . . . . . . . . . . . . . . . . . . .. 16. 實驗結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 17. 4.2.1. 一般情況的更新效率 . . . . . . . . . . . . . . . . . . . . . . .. 17. 4.2.2. 更新效率達到 ef f (5) 所需的最少回合數,M inR(ef f (5)) . .. 24. 4.2.3. 與基於 SWAN 的方法比較 . . . . . . . . . . . . . . . . . . . .. 24. 第 五 章 相關研究 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 34. 第 六 章 結論 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 35. n. al. er. 3.1. 4.1. 4.2. Ch. engchi. v. i Un. v. 10. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(7) 圖目錄 1.1. 軟體定義網路架構。 . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1. 1.2. 網路流更新的例子。 . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2. 1.3. 新舊設定更新時可能發生的不良後果。 . . . . . . . . . . . . . . . . .. 3. 1.4. 兩階段更新在更新多網路流的過程中可能會發生網路壅塞。 . . . . .. 4. 1.5. 多個回合的網路更新。 . . . . . . . . . . . . . . . . . . . . . . . . . .. 5. 1.6. 避免網路壅塞需要降低網路流速的例子。 . . . . . . . . . . . . . . .. 6. 2.1. 兩個問題範例。 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 8. 3.1. OP TN oCongestion <OP TCongestion 的例子。 . . . . . . . . . . . . . . . .. 12. 4.1. Fat-Tree 網路拓樸。 . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 16. 4.2. BCube 網路拓樸。 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 16. 4.3. 在 Fat-Tree(無優先權)網路拓樸,平均 M inR(ef f (5))。 . . . . . .. 4.4. 在 Fat-Tree(有優先權)網路拓樸,平均 M inR(ef f (5))。 . . . . . .. 4.5. 在 BCube(無優先權)網路拓樸,平均 M inR(ef f (5))。 . . . . . . .. 26. 4.6. 在 BCube(有優先權)網路拓樸,平均 M inR(ef f (5))。 . . . . . . .. 26. 4.7. 在 Fat-Tree(無優先權)網路拓樸,LP+SWAN 有滿足更新限制次. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 數。 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8. 25. 28. 在 Fat-Tree(有優先權)網路拓樸,LP+SWAN 有滿足更新限制次 數。 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4.9. 25. 28. 在 BCube(無優先權)網路拓樸,LP+SWAN 有滿足更新限制次 數。 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 29. 4.10 在 BCube(有優先權)網路拓樸,LP+SWAN 有滿足更新限制次 數。 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 29. 4.11 在 Fat-Tree(無優先權)網路拓樸,平均 LP+SWAN 更新回合數。 .. 30. 4.12 在 Fat-Tree(有優先權)網路拓樸,平均 LP+SWAN 更新回合數。 .. 30. vi. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(8) 4.13 在 BCube(無優先權)網路拓樸,平均 LP+SWAN 更新回合數。 . .. 31. 4.14 在 BCube(有優先權)網路拓樸,平均 LP+SWAN 更新回合數。 . .. 31. 4.15 在 Fat-Tree(無優先權)網路拓樸,LP+SWAN 無可行解比例。 . . .. 32. 4.16 在 Fat-Tree(有優先權)網路拓樸,LP+SWAN 無可行解比例。 . . .. 32. 4.17 在 BCube(無優先權)網路拓樸,LP+SWAN 無可行解比例。 . . . .. 33. 4.18 在 BCube(有優先權)網路拓樸,LP+SWAN 無可行解比例。 . . . .. 33. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. vii. i Un. v. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(9) 表目錄 2.1. 符號表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4.1. 在 Fat-Tree 下,透過 Static 方法決定網路流個數,並使用 Normal LP solver 更新 elephant flows 的結果。 . . . . . . . . . . . . . . . . . . .. 4.2. 政 治 大. 立. ‧ 國. 學. ‧. y. Nat. sit. io. er. n. al. Ch. i Un. v. engchi. 20. 在 Fat-Tree 下,透過 Dynamic 方法決定網路流個數,並使用 Approx LP solver 更新 all flows 的結果。 . . . . . . . . . . . . . . . . . . . . .. 4.9. 19. 在 Fat-Tree 下,透過 Dynamic 方法決定網路流個數,並使用 Normal LP solver 更新 all flows 的結果。 . . . . . . . . . . . . . . . . . . . . .. 4.8. 19. 在 Fat-Tree 下,透過 Dynamic 方法決定網路流個數,並使用 Approx LP solver 更新 elephant flows 的結果。 . . . . . . . . . . . . . . . . .. 4.7. 19. 在 Fat-Tree 下,透過 Dynamic 方法決定網路流個數,並使用 Normal LP solver 更新 elephants flows 的結果。 . . . . . . . . . . . . . . . . .. 4.6. 18. 在 Fat-Tree 下,透過 Static 方法決定網路流個數,並使用 Approx LP solver 更新 all flows 的結果。 . . . . . . . . . . . . . . . . . . . . . . .. 4.5. 18. 在 Fat-Tree 下,透過 Static 方法決定網路流個數,並使用 Normal LP solver 更新 all flows 的結果。 . . . . . . . . . . . . . . . . . . . . . . .. 4.4. 18. 在 Fat-Tree 下,透過 Static 方法決定網路流個數,並使用 Approx LP solver 更新 elephant flows 的結果。 . . . . . . . . . . . . . . . . . . .. 4.3. 9. 20. 在 BCube 下,透過 Static 方法決定網路流個數,並使用 Normal LP solver 更新 elephant flows 的結果。 . . . . . . . . . . . . . . . . . . .. 21. 4.10 在 BCube 下,透過 Static 方法決定網路流個數,並使用 Approx LP solver 更新 elephant flows 的結果。 . . . . . . . . . . . . . . . . . . .. 21. 4.11 在 BCube 下,透過 Static 方法決定網路流個數,並使用 Normal LP solver 更新 all flows 的結果。 . . . . . . . . . . . . . . . . . . . . . . .. viii. 21. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(10) 4.12 在 BCube 下,透過 Static 方法決定網路流個數,並使用 Approx LP solver 更新 all flows 的結果。 . . . . . . . . . . . . . . . . . . . . . . .. 22. 4.13 在 BCube 下,透過 Dynamic 方法決定網路流個數,並使用 Normal LP solver 更新 elephant flows 的結果。 . . . . . . . . . . . . . . . . .. 22. 4.14 在 BCube 下,透過 Dynamic 方法決定網路流個數,並使用 Approx LP solver 更新 elephant flows 的結果。 . . . . . . . . . . . . . . . . .. 22. 4.15 在 BCube 下,透過 Dynamic 方法決定網路流個數,並使用 Normal LP solver 更新 all flows 的結果。 . . . . . . . . . . . . . . . . . . . . .. 23. 4.16 在 BCube 下,透過 Dynamic 方法決定網路流個數,並使用 Approx LP solver 更新 all flows 的結果。 . . . . . . . . . . . . . . . . . . . . .. 立. 政 治 大. 23. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. ix. i Un. v. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(11) 第一章. 緒論. 軟體定義網路(Software-Defined Networking, SDN)[1] 是一種新型態的網路 架構,透過 OpenFlow[2] 改善網路管理。軟體定義網路將網路的控制層(Control plane)與資料層(Data plane)分離。網管人員可由軟體定義網路控制器(SDN. 政 治 大. controller)中央式地管理路由器,如圖1.1。另一方面,控制器可蒐集路由器資料. 立. 以監測網路狀態,並基於網路最新狀態,進一步更新網路流(Network flow)設定. ‧ 國. 學. 以實現許多流量工程(Traffic engineering)的解決方案,常見的實際應用如負載 平衡 [3] 或是節省電力 [4]。. ‧. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 1.1: 軟體定義網路架構。 許多企業的線上服務(Online services)與雲端運算(Cloud computing),如 Google、Amazon,需滿足使用者的即時請求(Demand)。使得網路流設定需要頻 繁地被更新 [5][6][7]。軟體定義網路的管理方式使網管人員能迅速地更新網路設 定。這麼一來,網管人員便能根據使用者的即時請求,動態更新路由器設定並實 現流量工程的解決方案。相較於軟體定義網路,過去的路由器更新設定方法大多 1. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(12) 圖 1.2: 網路流更新的例子。. 政 治 大 [8]。在分散式協定中,路由器之間透過交換封包達到整體網路更新。但在缺少集 立. 透過分散式協定,如多協定標籤交換方法(Multi-Protocol Label Switching, MPLS). 中式管理的機制下,分散式協定更新網路流設定的效率較差。圖1.2為一個網路流. ‧ 國. 學. 更新的例子。在圖1.2中,網路鏈結容量皆為 1 且網路流 f1 與 f2 的流量大小皆為. ‧. 1。圖1.2(a) 為目前(舊)網路流設定。在本論文中,我們用實線線段表示舊網路 流設定。為了考慮到新使用者 G(網路流 f2 )的加入並同時滿足 B 的請求,控制. y. Nat. er. io. 新的網路流設定。. sit. 器可將網路更新至圖1.2(b) 所示的新網路流設定。在本論文中,我們用虛線表示. al. n. iv n C hengchi U 每個路由器的更新完成時間不同,有時更新所需時間甚至會高於平均更新時間. 網管人員決定新的網路流設定後,控制器通常需要更新多個路由器。然而,. 的 100 倍 [5],意味著更新路由器路由表所需時間的變動幅度極大。路由器更新 時間的不一致性與不確定性會導致封包在網路新舊設定轉換期間採用非預期的 路由路徑(Routing Path)。更明確地說,在這個非預期的路由路徑上,有些路由 器使用舊的網路設定,而有些路由器已完成更新。這樣會導致不良的後果,例如 迴圈(Loop)[9]、死路(Black Hole、即封包抵達某個沒有任何符合該封包條目 的路由器)[9] [10],甚至造成安全性漏洞 [11][12]。圖1.3為新舊設定更新時可能 發生的不良後果,在圖1.3中,網路鏈結容量皆為 1 且網路流 f1 的流量大小為 1。 圖1.3(a) 與 (b) 分別表示新舊網路流設定。圖1.3(c) 所示的網路流更新設定:只有 路由器 B 完成更新,但防火牆 C 仍未完成更新時,由於路由器 S1 尚未完成更新 會使得路由路徑在 A、B 與 C 之間產生迴圈。圖1.3(d) 所示的網路流更新設定:. 2. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(13) 立. 政 治 大. ‧. ‧ 國. 學. 圖 1.3: 新舊設定更新時可能發生的不良後果。. y. Nat. al. er. io. 器 B 避開防火牆 C 的檢驗,產生安全漏洞。. sit. 只有路由器 S1 完成更新,由於路由器 B 仍然使用舊有路徑,會導致封包從路由. n. iv n C hengchi U 法(2-Phase Commit)[13]。當所有需要更新的路由器皆已安裝新的網路流設定 為了避免單一網路流在更新過程中發生問題,有研究提出了兩階段的更新方. 後,控制器會在網路流的起點路由器標記(Tagging)封包,這些被標記的封包便 會採用新的路徑。如此一來,在更新的過程中,每一個網路流封包只會採取新舊 路徑中的其中一條設定,而非新舊路徑混合。以圖1.3為例,控制器會待所有路由 器與防火牆完成更新後,於路由器 S1 開始標記封包,被標記的封包便會採用新的 路徑。控制器即可刪除舊有網路流的更新設定。 雖然兩階段更新可解決單一網路流的更新問題,但是在多網路流更新時可能 會發生網路壅塞(即使新舊設定皆不會發生網路壅塞)[5][7],理由如下:控制 器無法控制每個單一網路流完成更新的時間;另一方面,若不同網路流有不同的 入口路由器,控制器也無法保證在同一時間開始標記進入這些入口路由器的封 包。這會導致某些網路流已更新至新的網路流設定,但是有部分網路流仍使用舊. 3. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(14) 立. 政 治 大. ‧ 國. 學. 圖 1.4: 兩階段更新在更新多網路流的過程中可能會發生網路壅塞。. ‧. 有網路流設定,進而增加發生網路壅塞的可能性。舉例來說,考慮圖1.2的更新,. y. Nat. sit. 若 f2 先完成更新,或 f1 與 f2 同時完成更新但控制器先開始標記進入 f2 入口路. n. al. er. io. 由器的封包,則網路會發生壅塞,如圖1.4所示。網路壅塞會導致網路延遲增加反. i Un. v. 應時間,有研究指出即使反應時間(Response Time)只增加 100ms,都會惡化使. Ch. engchi. 用者經驗 [14]。Amazon 更指出「每 100ms 的網路延遲將使其銷售成本增加 1%」 [15]。 為避免在更新多網路流過程中發生網路壅塞,我們需要將更新過程分成多個 回合,並在不同回合更新不同網路流。換句話說,我們需要明確地指定每個網路 流的更新順序。更重要地,若我們決定同時更新某些網路流(即代表這些網路流 在同一回合更新),則我們需要保證這些網路流無論何者先完成更新,皆不會發 生網路壅塞。舉例來說,考慮圖1.2的更新,我們可將更新分為兩回合。如圖1.5所 示。在第一回合中,控制器先用兩階段方法更新 f1 ,如圖1.5(a) 所示。當 f1 採用 新的網路流設定後,即進入第二回合。在第二回合中,控制器再用兩階段方法更 新 f2 ,如圖1.5(b) 所示。這麼一來即可避免過程中發生網路壅塞。 當新網路流設定是已知的情況下,已經有許多研究提出方法計算更新順序. 4. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(15) 立. 政 治 大. ‧. ‧ 國. 學 er. io. sit. y. Nat. al. n. 圖 1.5: 多個回合的網路更新。. Ch. engchi. i Un. v. [7][16][17][18][19][20][21]。然而,並非所有網路更新皆可找到不發生網路壅塞的 更新順序。如圖1.6所示,在圖1.6中,網路鏈結容量皆為 1 且網路流 f1 與 f2 的流 量大小為 1。圖1.6(a) 所示的舊有網路流設定找不到一個不發生網路壅塞的更新 順序滿足圖1.6(b) 所示的新網路流設定。因此,為了在更新過程中避免網路壅塞。 控制器需要暫時降低某些網路流的流速。 本論文探討的議題為決定新的網路流設定。更明確地說,我們希望在避免更 新過程中發生網路壅塞且避免降速的情況下,找到一個新的網路設定,且該網路 設定可實現某些流量工程的應用。在本論文中,我們希望新的網路流設定可最大 化網路流速總和。另外,真實網路中不同網路流類型會有不同的重要程度 [7],如 背景網路流(Background flow)與互動網路流(Interactive flow)。本論文會賦予 不同重要程度的網路流不同權重,並在設計新的網路流時,最大化加權後的網路. 5. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(16) 政 治 大 流速總和。Brandt 等人曾考慮本論文探討問題的特例 [22]。更明確地說,Brandt 立 圖 1.6: 避免網路壅塞需要降低網路流速的例子。. ‧ 國. 學. 等人只考慮了單一網路流的最大化網路流設定,而 Brandt 等人所提的方法基於擴 增網路流(Augmenting flow)。但是擴增網路流難以直接推廣至一般多網路流更新. ‧. 問題。在本論文中基於線性規劃解決此問題。以下是本篇論文貢獻。. Nat. sit. y. ● 提出解決本論文探討問題的線性規劃模型,得到更新過程中每回合的網路流. n. al. er. io. 設定,並避免網路壅塞與降速(第三章)。. i Un. v. ● 我們發現了,存在一些網路流設定,若要最大化網路流量,更新過程中必定 需要降速(第三章)。. Ch. engchi. ● 在 Fat-Tree[23]、BCube[24] 的網路拓樸上;實驗比較過去方法與本論文所提 的方法。實驗顯示,本論文所提方法優於過去方法(第四章)。. 6. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(17) 第二章. 系統模型. 我們於2.1節描述軟體定義網路模型,並在2.2節描述本論文探討問題的正式定 義。表2.1整理了本論文使用的符號。. 2.1. 治 政 網路模型與問題輸入 大 立 ‧ 國. 學. 我們用有向圖(Directed graph)G = (V, E) 表示一個網路,其中 V 為網路 中的節點(如路由器與伺服器)集合,E 為網路鏈結集合。對於每個網路鏈結. ‧. e ∈ E,我們用 c(e) 表示該網路鏈結的頻寬。為了方便表示線性規劃,我們定義 in(v) 為所有流入節點 v 的網路鏈結集合,out(v) 為所有流出節點 v 的網路鏈結集. y. Nat. sit. 合。我們用 n 表示網路中的網路流個數。n 個網路流分別為 f1 ,f2 , · · · , fn 。網路流. n. al. er. io. fi 的起點與終點分別為 si 與 ti 。我們用 wi 表示 fi 的優先權,當 wi 越大時,fi 在. i Un. v. 最大化流量設定的考量中愈重要。我們用 fi0 (e) 表示網路流 fi 在網路鏈結 e 上的. Ch. engchi. 初始流量大小。在本論文中,我們透過多個回合的更新避免網路壅塞與降速,我 們用 r 表示更新可用的回合數。. 2.2. 問題定義 本論文探討的問題需要輸出. 1. 最大化網路流設定(新的網路流設定)。 2. 每回合更新後,每個網路流的路由設定。. 7. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(18) 政 治 大. 立. ‧ 國. 學 圖 2.1: 兩個問題範例。. ‧. y. Nat. 我們用 fij (e) 表示網路流 fi 在第 j 個更新回合後,在鏈結 e 上的流量。lij 為 fi 在. n. lij =. ∑. fij (e). er. io. al. sit. 完成第 j 回合更新後的流速大小。更明確地說,. ni C h e∈out(s ) U engchi. v. i. 本論文探討問題的目標為在考慮優先權的情況下最大化網路流流速,更明確 地說,問題目標如下: max. n ∑. wi ×lir ,. (2.1). i=1. 其中 lir 為網路流 fi 最終的流量大小,wi 為網路流 fi 的優先權。 本論文探討問題的限制如下: 1. 更新過程中需要滿足網路鏈結的頻寬限制與流量守恆(Flow conservation)。 2. 更新過程中,每個網路流均不降速(在本論文中,此限制稱為更新限制)。 圖2.1為兩個問題範例。圖2.1(a) 與 (b) 的兩個問題範例有相同的網路與網路 流,舊網路流設定與更新回合數也相同,兩者差別在於權重質不同。在圖2.1(a) 8. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(19) 表 2.1: 符號表 網路拓樸 網路節點的集合 網路鏈結的集合 網路鏈結 e 的容量大小 所有流入 v 的網路鏈結集合 所有流出 v 的網路鏈結集合 網路流個數 第 i 個網路流 fi 的起點 fi 的終點 fi 的優先權 最多可用的更新回合數 fi 在網路鏈結 e 的初始流量大小 在第 j 回合的更新後,fi 在網路鏈結 e 的流量大小 fi 在完成第 j 回合更新後的流速. 立. 政 治 大. 學. ‧ 國. G V E c(e) in(v) out(v) n fi si ti wi r fi0 (e) fij (e) lij. 中,w1 = w2 ,在圖2.1(b) 中,w1 > w2 。舊有網路流設定只有 f1 有分配流量 1,. ‧. f2 的流量為 0(即 l10 =1,l20 =0),所有網路鏈結頻寬皆為 1。在可更新回合數為 2. sit. y. Nat. (r = 2)的情況下,我們會有不一樣的最大化網路流(新網路流設定)。圖2.1(a). io. er. 顯示了對應的更新順序。以圖2.1(a) 為例,圖2.1(a) 中間的網路設定為完成第一回 合更新後的設定,我們有 f11 (s1 , T1 ) = 1, f11 (s1 , T2 ) = 0。. n. al. Ch. i Un. v. 本論文透過多個回合的更新滿足更新限制。更明確地說,多網路流更新分為. engchi. 多個回合。每回合中只會有部分網路流被更新,而且在這回合的更新,不論完成 順序為何,均保證不會造成網路壅塞。. 9. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(20) 第三章. 研究方法. 本論文透過線性規劃(Linear Programming)的方法解決多網路流的更新問 題。SWAN 也是根據線性規劃解決網路流更新問題 [7]。然而,SWAN 需要明確 指定新的網路流設定,而我們的問題需要求得新的網路流設定。3.1節探討線性. 政 治 大. 規劃模型。在3.2節中,我們證明了,無論更新回合數 r 為何,在考慮更新限制. 立. 下(更新過程中避免網路壅塞與降速),所求得的最大網路流(加權)總和(以. ‧ 國. 學. OP TN oCongestion 表示),可能會不及忽略此限制下所求得的最大網路流(加權) 總和,(以 OP TDontCare 表示)。換句話說,OP TN oCongestion < OP TDontCare 。請注. ‧. 意,OP TDontCare 可以直接透過線性規劃求得。由於這個負面結果,我們於3.3節. sit er. io. 線性規劃模型a. iv l C n hengchi U 在給定最多可更新回合數 r 的情況下,本論文以線性規劃求得新網路流設定 n. 3.1. y. Nat. 定義了若干個用來評估所提方法效能的指標。. 與更新順序。3.1式為線性規劃的目標函式(Objective function)。. max. n ∑. wi × lir. (3.1). i=1. 其中,lir 為網路流 fi 在新網路流設定中的流量大小。更明確地說,lij 可表示 成網路流 fi 在第 j 回合從 si 流出的流量總和,如3.2式所示。. lij =. ∑. fij (e),. ∀1 ≤ i ≤ n, 1 ≤ j ≤ r. (3.2). e∈out(si ). 每個回合 j 更新後所得到的網路流設定須滿足以下流量受恆的網路流限制:. 10. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(21) ∑. ∑. fij (e) =. e∈out(v). ∀1 ≤ i ≤ n, v ∈ / {si , ti }, 1 ≤ j ≤ r. fij (e),. (3.3). e∈in(v). 3.3式確保每個網路流 fi 在回合 j 更新時,除了起點 si 與終點 ti 以外,在每 個節點 v,fi 流入 v 的流量等於從 v 流出的流量。 ∑. ∑. fij (e) =. e∈out(si ). fij (e),. ∀1 ≤ i ≤ n, 1 ≤ j ≤ r. (3.4). e∈in(ti ). 3.4式表示每個網路流 fi 在起點 si 流出流量需等於在終點 fi 流入流量。 ∑ e∈in(si ). 政 治 大 f (e) = 0, ∀1 ≤ i ≤ n, 1 ≤ j ≤ r 立 j i. (3.5). ‧ 國. 學. 3.5式避免網路流 fi 在更新過程發生迴路,網路流 fi 不得在起點 si 有流入 流量。為了讓線性規劃模型在求得的更新順序不發生網路壅塞,我們須保證每. ‧. 個回合 j 的網路流設定更新到回合 j + 1 的過程中,不發生網路壅塞。注意,在. sit. y. Nat. 每個更新過程中,多個網路流可能被更新,而我們須確保無論這些網路流的更. io. er. 新順序為何,皆不會發生網路壅塞。為了達到這個目標,我們假設,在回合 j 的網路流設定更新到回合 j + 1 的過程中,網路流 fi 在網路鏈結 e 上的流量為. n. al. max. Ch. i Un. v. (fij (e), fij+1 (e))。換句話說,我們考慮最差狀況,所以取網路流. engchi. fi 在回合 j. 與回合 j + 1 設定的最大值。而避免網路壅塞的限制可表示如下: n ∑. max(fij (e), fij+1 (e)) ≤ c(e),. ∀e ∈ E, 0 ≤ j ≤ r − 1. (3.6). i=1. 由於max(fij (e), fij+1 (e)) 不為線性函數,因此我們用以下不等式取代3.6 n ∑. M AXij (e) ≤ c(e),. ∀e ∈ E, 1 ≤ j ≤ r. (3.7). ∀e ∈ E, 1 ≤ i ≤ n, 0 ≤ j ≤ r − 1. (3.8). i=1. fij (e) ≤ M AXij+1 (e), fij+1 (e) ≤ M AXij+1 (e),. ∀e ∈ E, 1 ≤ i ≤ n, 0 ≤ j ≤ r − 1. 11. (3.9). DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(22) 圖 3.1: OP TN oCongestion <OP TCongestion 的例子。. 政 治 大. 注意,一旦有了3.7式、3.8式與3.9式三個限制,不但更新過程不會發生壅塞, 更新完成後的網路流也不會發生網路壅塞。為了避免降速,我們有以下限制:. lij+1 ≥ lij ,. 學. ‧ 國. 立. ∀1 ≤ i ≤ n, 0 ≤ j ≤ r − 1. y. Nat. io. sit. 避免網路壅塞的更新限制所造成的負面影響. er. 3.2. ‧. 最後,所有變數,M AXij (e), fij (e), lij 均大於 0。. (3.10). al. iv n C 的最大網路流(加權)總和,OP h TNe oCongestion ,會不及忽略此限制下所求得的最 ngchi U n. 我們發現了,在考慮更新限制下(更新過程中避免網路壅塞與降速),所求得. 大網路流(加權)總和 OP TDontCare 。換句話說,在最差情況下,若考慮更新限 制,則我們不可能求得一個網路流使得流量總合等於 OP TCongestion 。值得注意的 是,Brandt 等人證明了,若所有網路流的終點皆為同一個節點,且所有網路流的 權重皆相等,則 OP TN oCongestion = OP TDontCare [22, 25]。 定理 1 存在一些問題實例(Problem instance),使得 OP TN oRateLimit < OP TDontCare 。 證明 1 在這個證明中,我們會說明,在圖3.1所示之問題實例中,OP TN oCongestion < OP TDontCare 。在圖3.1中,網路鏈結容量皆為 1,且兩個網路流的初始流量皆為 1。在這個問題實例中,網路流 f1 的優先權 w1 為 100,而 f2 的優先權 w1 為 0.1。 圖3.1(a) 為舊網路流設定。 為了證明定理 1,我們只須證明下列三個宣稱(Claim) : 12. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(23) 1. 在圖3.1所示之問題實例中,OP TDontCare = 200.1。 2. 圖3.1(b) 所示之網路流是唯一一個使得網路流加權總和為 200.1 的設定。 3. 從圖3.1(a) 所示之設定更新至圖3.1(b) 所示之設定必定需要降速或可能造成 網路壅塞。 為 了 證 明 第 一 個 宣 稱, 觀 察 {S1 , S2 } 留 入 {T1 , T2 } 的 網 路 鏈 結 頻 寬 總 合 為 3, 因 此,f1 與 f2 的 流 量 總 合 最 多 為 3。 由 於 f1 的 流 量 至 多 為 2, 因 此 OP TDontCare ≤ 2 · 100 + (3 − 2) · 0.1。 由上述證明,我們可以知道,為了讓網路流加權總和為 200.1,f1 流量必定. 政 治 大. 為 2,因此 f1 的唯一路由方法即為圖 3.1(b) 所示。在這個情況下,為了讓 f2 的流 量為 1,f2 必定需採取3.1(b) 所示之路由方法。因此,圖3.1(b) 所示之網路流是唯. 立. 一一個使得網路流加權總和為 200.1 的設定。. ‧ 國. 學. 我們利用反證法證明第三個宣稱。假設存在一個更新方法,可以在不降速更 或不發生網路壅塞的情況下,更新至圖3.1(b) 所示之設定。我們首先假設,在更. ‧. 新過程中,f1 比 f2 更早改變路由路徑。然而,這個改變必定會造成降速或網路壅. sit. y. Nat. 塞。同樣的,若 f2 比 f1 更早改變路由路徑,這個改變也必定會造成降速或網路. io. n. al. er. 壅塞。由於沒有方法可以保證 f1 與 f2 同時改變,我們不需考慮這個狀況。. 更新效率. 3.3. Ch. engchi. i Un. v. 在此節中,我們會定義若干指標衡量更新方法的效率。請注意在上述證明 中,更新回合數 r 可以是任何值。為了衡量所提方法效能,我們需要考慮更新回 合數 r。首先,令 OP TNr oCongestion 為更新回合數為 r 的情況下,我們所提方法求 得的最大網路流(加權)總和。一個問題實例的 r 回合的更新效率,ef f (r) 定義 如下: OP TNr oCongestion ef f (r) = OP TDontCare 很明顯地,無論更新回合數 r 為何,皆滿足以下不等式:. ef f (r) ≤ 1 13. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(24) ef f (r) ≤ ef f (r + 1) 另外,由於當最多可更新回合數 r 越大時,r 回合更新效率越趨近於 100%。 我們感興趣的是:給定一個更新效率值 x,最少需要幾個回合的更新才能達到給 定的更新效率。更明確地說,我們定義,最短等效更新回合數,M inR(x) 如下: M inR(x) = min {r|ef f (r) ≥ x} 換句話說,我們至少需要 M inR(x) 回合的更新才能達到更新效率 x。本論文 將用實驗探討更新效率 ef f (r) 與 M inR(x)。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 14. i Un. v. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(25) 第四章. 實驗結果. 我們採用 LEMON [26] 與 CPLEX [27] 套件求解線性規劃。4.1節說明本實驗 設定。我們於4.2節探討更新效率,我們也探討了,給定指定的更新效率,至少需 要幾個更新回合才能達到該指定的更新效率。另外,我們也比較了 Hong 等人所 提的更新方法,SWAN [7]。. 立. 政 治 大. ‧ 國. 學. 實驗設定. 4.1. ‧. 我們首先說明網路拓樸的設定,網路流與權重值的決定方式,以及如何產生 網路流的初始網路流設定。. sit. n. al. er. io. 網路拓樸設定. y. Nat. 4.1.1. Ch. i Un. v. 本實驗問題實例 I 的網路拓樸為 Fat-tree [23] 或 BCube [24]。Fat-Tree 架構主. engchi. 要由四層不同類型的路由器與主機組成(Core switch、Aggregation switch、Edge switch 與 Server)。Fat-Tree 由網路拓樸內 pod 的個數 k 來決定網路規模的大小, 其中 Core switch 個數為 ( k2 )2 ,Server 個數為 k × ( k2 )2 ),Aggregation switch 個數為 k2 ,Edge 2. switch 個數為. k2 )。BCube 2. 則是以網路階層(level)l 的大小決定。我. 們用 BCubel 代表網路階層數為 l 時的整體網路拓樸。BCubel 由 n 個 BCubel−1 組成且 BCube0 由 n 個主機組成,我們可透過 n 來調整 BCubel 的大小。圖4.1與 圖4.2為本實驗採用的網路架構,以圖4.1為例,我們採用 k = 4 的 Fat-Tree 架構。 以圖4.2為例,我們採用 l = 1, n = 4 的 BCube 架構。每個網路流的起點與終點皆 會從所有伺服器與網路架構的核心交換器中隨機選擇,若起點與終點接為伺服 器,或是起點與終點皆為核心交換器,我們會放棄該網路流,並重新產生一個網 路流。網路流的權重值會從 (0, 1] 區間隨機產生。在實驗中,我們會比較不同的網 15. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(26) 圖 4.1: Fat-Tree 網路拓樸。. 立. 政 治 大. ‧ 國. 學 ‧. 圖 4.2: BCube 網路拓樸。. er. io. sit. y. Nat. 路流個數 n,n 最小為 1,最大為 10。. 初始網路流設定a. 4.1.2. n. iv l C n 本實驗會亂數產生一個 1 至 n2h的正整數 n i U e n g c nh,我們會隨機選擇 ′. ′. 流,並透過這 n +. n 2. +. n 2. 個網路. 個網路流得到初始網路流設定,其中每個網路流的權重即為 ′. 該網路流的優先權。我們可將此設定視為系統一開始有 n + n 2. ′. n 2. 個網路流,接著. ′. − n 網路流抵達系統,我們需要更新整體網路流設定,使得系統效率最大化。   Cx−α P [X = x] =  0. x ≥ xmin ,. (4.1). x < xmin. 為了產生真實資料中心網路流的初始設定,本實驗使用4.1式 [28] 模擬真實網 路中不同網路流大小分佈。4.1式的機率值 x 決定對應的流量大小。該設定可以 想像成,每一個網路流進入這個網路拓樸時,該網路流的網路流量會符合分佈型 α−1 態。其中以下設定皆為輸入值,C = (α − 1)xmin 、α = 2.1 且 xmin = 0.01,xmin. 表示決定正規化後網路內的最小網路流量,機率值 x 皆從 0 至 1 亂數產生,且每 16. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(27) ′. 一個網路流皆有一個機率值。我們會透過 n +. n 2. 個網路流對應的流量大小當作限. 制,求解一個最大化權重網路流設定來作為初始網路流設定。更明確地說,如果 每一個網路流由公式求解出的對應流量大小皆大於 1 時,初始設定產生的網路流 設定也必須滿足該限制。. 實驗結果. 4.2. 本實驗欲探討下列問題: 1. 雖然本論文顯示,在最差情況下,更新效率小於 100%,但是在一般情況下, 求解所花的時間與更新效率為何?. 政 治 大 2. 給定一個目標的更新效率,需要幾回合的更新才能達到此目標? 立. ‧ 國. 學. 3. 給定一個新的網路流設定,我們可以用 SWAN 更新完成網路更新。因此, 我們可以先透過線性規劃求得新的網路流設定,再用 SWAN 完成更新。這. y. Nat. io. al. sit. 一般情況的更新效率. er. 4.2.1. ‧. 個方法與我們所提方法的效能是否相同?. n. 我們求解更新回合數為 1 至 5 時,100 個網路流的更新效率。如表4.1至4.16所. Ch. i Un. v. 示,表中縱軸左側為最多可更新的回合數,橫軸分別顯示平均更新效率、平均求. engchi. 解所需時間與有可行解的次數,每個更新效率與所需時間的資料點皆為可行解次 數的平均,本實驗每個資料點實作 100 次。不同表格顯示不同情況下的更新效率。 本實驗各個表格考慮的條件如下: 1. 不同網路拓樸的更新效率。即 Fat-Tree 與 BCube 的網路拓樸 2. 不同網路流個數的初始網路流設定時的更新效率。我們定義不同初始網路流 ′. 個數的方式,Dynamic 為亂數決定的初始網路流個數(即 n + 50),Static 為 固定 9 成網路流個數為初始網路流個數(即 90 個網路流個數) 3. 更新不同網路流個數時的更新效率。我們透過初始網路流設定更新所有網路 中的網路流以及只更新網路內前 10% 的巨量網路流。我們定義前者為考慮 All Flows 的網路流更新,後者只考慮 Elephant Flows 的網路流更新 17. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(28) 4. 調整線性規劃的最大收斂次數。我們比較調整 CPLEX 收斂次數至 11 萬次的 線性規劃模型與預設的線性規劃模型,是否會得到更好的求解時間或較差 的更新效率。我們定義未調整線性規劃的方法為 Normal LP Solver,反之為 Approx LP solver。 表 4.1: 在 Fat-Tree 下,透過 Static 方法決定網路流個數,並使用 Normal LP solver 更新 elephant flows 的結果。 最多可更新回合數. 平均更新效率(%) 平均求解時間(秒) 有可行解的次數. 1. 95.10653606%. 0.04448. 100. 2. 95.11173678%. 0.19525. 100. 3. 95.11173678%. 0.59664. 100. 4. 95.11173678%. 1.25. 100. 95.11173678%. 2.26128. 100. 立. 5. 政 治 大. ‧ 國. 學 ‧. 表 4.2: 在 Fat-Tree 下,透過 Static 方法決定網路流個數,並使用 Approx LP solver 更新 elephant flows 的結果。. 0.04479. er. 95.15047136%. sit. 平均更新效率(%) 平均求解時間(秒) 有可行解的次數. io. 1. y. Nat. 最多可更新回合數. 5. 95.15122816%. 3. n. 4. 0.19705 a95.15122816% iv l Ch 95.15122816% 0.60034 n U i e h n c g 95.15122816% 1.25595. 2. 2.24792. 100 100 100 100 100. 表 4.3: 在 Fat-Tree 下,透過 Static 方法決定網路流個數,並使用 Normal LP solver 更新 all flows 的結果。 最多可更新回合數. 平均更新效率(%) 平均求解時間(秒) 有可行解的次數. 1. 95.63567848%. 0.43467. 100. 2. 95.65086607%. 2.91385. 100. 3. 95.65649700%. 11.55107. 100. 4. 95.67026176%. 30.48573. 100. 5. 95.67537189%. 129.15855. 100. 18. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(29) 表 4.4: 在 Fat-Tree 下,透過 Static 方法決定網路流個數,並使用 Approx LP solver 更新 all flows 的結果。 最多可更新回合數. 平均更新效率(%) 平均求解時間(秒) 有可行解的次數. 1. 96.1373382%. 0.435943396. 53. 2. 96.1732704%. 2.857188679. 53. 3. 96.188713%. 11.22386792. 53. 4. 96.1901028%. 26.82564151. 53. 5. 96.2090025%. 89.19641509. 53. 政 治 大 solver 更新 elephants flows 的結果。 立. 表 4.5: 在 Fat-Tree 下,透過 Dynamic 方法決定網路流個數,並使用 Normal LP. 0.53332. 90.07894292%. 1.76743. 90.07894292%. 4.06963. 90.07894292%. 8.91805. io. n. al. 100 100. y. 90.06844479%. sit. 5. Nat. 4. 0.09642. ‧. 3. 90.05644639%. 100 100 100. er. 2. ‧ 國. 1. 平均更新效率(%) 平均求解時間(秒) 有可行解的次數. 學. 最多可更新回合數. Ch. engchi. i Un. v. 表 4.6: 在 Fat-Tree 下,透過 Dynamic 方法決定網路流個數,並使用 Approx LP solver 更新 elephant flows 的結果。 最多可更新回合數. 平均更新效率(%) 平均求解時間(秒) 有可行解的次數. 1. 90.97914381%. 0.08776. 100. 2. 91.00583420%. 0.49059. 100. 3. 91.00583420%. 1.62239. 100. 4. 91.00583420%. 3.76429. 100. 5. 91.00583420%. 7.97024. 100. 19. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(30) 表 4.7: 在 Fat-Tree 下,透過 Dynamic 方法決定網路流個數,並使用 Normal LP solver 更新 all flows 的結果。 最多可更新回合數. 平均更新效率(%) 平均求解時間(秒) 有可行解的次數. 1. 90.19862853%. 0.43864. 100. 2. 90.41507802%. 3.04345. 100. 3. 90.46596342%. 12.33992. 100. 4. 90.50416627%. 35.66087. 100. 5. 90.51357410%. 163.85971. 100. 政 治 大. 表 4.8: 在 Fat-Tree 下,透過 Dynamic 方法決定網路流個數,並使用 Approx LP solver 更新 all flows 的結果。. 立. 2.948026316. 91.8897021%. 11.53276316. 91.8943465%. 27.36252632. 91.8953554%. 92.11436842. 38 38 38 38. y. 91.8780634%. io. n. al. sit. 5. Nat. 4. 0.441. ‧. 3. 91.8270393%. 38. er. 2. ‧ 國. 1. 平均更新效率(%) 平均求解時間(秒) 有可行解的次數. 學. 最多可更新回合數. Ch. i Un. v. 以下是我們針對更新效率的觀察與分析:從表4.1至表4.16顯示,當更新回合. engchi. 數愈大時有愈好的更新效率且 100 個網路流個數的更新效率均可在一回合內達到 90%。與更新 Elephant flow 相比,更新 All Flows 可達到更高的更新效率。理由如 下:為提升整體的更新效率,若給定越少的可更新回合數,找到一個不發生網路 壅塞的更新順序也越困難,提升越高的更新效率也可能需要預先更新許多其他的 網路流,相對求解更新效率越高的網路設定也越困難。Elephant Flows 是在相同回 合數內更新特定的網路流,比起更新所有的網路流個數,Elephant Flows 選擇更新 網路流的彈性較少,相對求解更新效率越高的網路設定也越困難。. 20. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(31) 表 4.9: 在 BCube 下,透過 Static 方法決定網路流個數,並使用 Normal LP solver 更新 elephant flows 的結果。 最多可更新回合數. 平均更新效率(%) 平均求解時間(秒) 有可行解的次數. 1. 95.10012668%. 0.02489. 100. 2. 95.10171978%. 0.08249. 100. 3. 95.10171978%. 0.23265. 100. 4. 95.10171978%. 0.45107. 100. 5. 95.10171978%. 0.71846. 100. 政 治 大. 表 4.10: 在 BCube 下,透過 Static 方法決定網路流個數,並使用 Approx LP solver. 立. 更新 elephant flows 的結果。. 0.08181. 96.06379421%. 0.22931. 96.06379421%. 0.45446. 96.06379421%. 0.71421. io. n. al. 100 100. y. 96.06379421%. sit. 5. Nat. 4. 0.02455. ‧. 3. 96.06379421%. 100 100 100. er. 2. ‧ 國. 1. 平均更新效率(%) 平均求解時間(秒) 有可行解的次數. 學. 最多可更新回合數. Ch. engchi. i Un. v. 表 4.11: 在 BCube 下,透過 Static 方法決定網路流個數,並使用 Normal LP solver 更新 all flows 的結果。 最多可更新回合數. 平均更新效率(%) 平均求解時間(秒) 有可行解的次數. 1. 95.41697292%. 0.22489. 100. 2. 95.42486213%. 1.33642. 100. 3. 95.42638353%. 5.3592. 100. 4. 95.42638353%. 12.68028. 100. 5. 95.42638353%. 39.36677. 100. 21. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(32) 表 4.12: 在 BCube 下,透過 Static 方法決定網路流個數,並使用 Approx LP solver 更新 all flows 的結果。 最多可更新回合數. 平均更新效率(%) 平均求解時間(秒) 有可行解的次數. 1. 95.83744922%. 0.22587. 100. 2. 95.91565283%. 1.34872. 100. 3. 95.91565283%. 5.41449. 100. 4. 95.91565283%. 12.99185. 100. 5. 95.91565283%. 44.12242. 100. 政 治 大 solver 更新 elephant flows 的結果。 立. 表 4.13: 在 BCube 下,透過 Dynamic 方法決定網路流個數,並使用 Normal LP. 0.20623. 90.06156523%. 0.64385. 90.06156523%. 1.3223. 90.06156523%. 2.20679. io. n. al. 100 100. y. 90.06156523%. sit. 5. Nat. 4. 0.04778. ‧. 3. 90.05825344%. 100 100 100. er. 2. ‧ 國. 1. 平均更新效率(%) 平均求解時間(秒) 有可行解的次數. 學. 最多可更新回合數. Ch. engchi. i Un. v. 表 4.14: 在 BCube 下,透過 Dynamic 方法決定網路流個數,並使用 Approx LP solver 更新 elephant flows 的結果。 最多可更新回合數. 平均更新效率(%) 平均求解時間(秒) 有可行解的次數. 1. 92.16384804%. 0.0399. 100. 2. 92.16384804%. 0.16219. 100. 3. 92.16384804%. 0.5011. 100. 4. 92.16384804%. 1.04067. 100. 5. 92.16384804%. 1.7425. 100. 22. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(33) 表 4.15: 在 BCube 下,透過 Dynamic 方法決定網路流個數,並使用 Normal LP solver 更新 all flows 的結果。 最多可更新回合數. 平均更新效率(%) 平均求解時間(秒) 有可行解的次數. 1. 90.72078615%. 0.22696. 100. 2. 90.83249021%. 1.36076. 100. 3. 90.83249021%. 5.45438. 100. 4. 90.83249021%. 12.69084. 100. 5. 90.83249021%. 40.64346. 100. 政 治 大. 表 4.16: 在 BCube 下,透過 Dynamic 方法決定網路流個數,並使用 Approx LP solver 更新 all flows 的結果。. 立. 1.36518. 91.86166616%. 5.49876. 91.86166616%. 13.27818. 91.86185104%. 44.70095. 100 100 100 100. y. 91.86120646%. io. n. al. sit. 5. Nat. 4. 0.22638. ‧. 3. 91.82661816%. 100. er. 2. ‧ 國. 1. 平均更新效率(%) 平均求解時間(秒) 有可行解的次數. 學. 最多可更新回合數. Ch. i Un. v. 以下是我們針對求解時間的觀察與分析:從表4.1至表4.16顯示,當更新回合. engchi. 數越大所需的時間越大。Elephant Flows 所需要的求解時間比 All Flows 短,更新 回合數為 5 時,Elephant Flows 平均求解時間只需兩秒鐘左右。理由如下:更新回 合數越大,更新序列需要考慮到每一回合的狀態以及避免發生網路壅塞,相對地 所需要時間越長。Elephant Flows 比起 All Flows 需要考慮的網路流個數相對少, 求解時間也必然較少。 另外,初始網路流個數 Dynamic 的求解時間花的比 Static 多。Normal 的線性 規劃比起 Non-Normal 差異不大。理由如下:Static 會求解 90 個網路流的最大化權 重網路流設定作為初始設定,初始網路流的更新效率較高,需要調整的網路流也 較少,計算上所需要調整的網路流個數也較少。 比照 Fat-Tree 與 BCube 的更新效率與求解時間,如表4.1至表4.8與表4.9至 表4.16。Fat-Tree 與 BCube 的更新效率差異不大,但 BCube 求解時間較少。理由 23. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(34) 如下:本實驗設定的 BCube 網路拓樸內的節點與邊的個數比 Fat-Tree 少,所以 求解的運算時間也較少。值得注意的是,若 Fat-Tree 的節點與邊的個數在 NonNormal 的線性規劃模型時,並非所有的問題實例皆可找到可行解,在 Fat-Tree 若 考慮更新 All Flows 時,100 次的實驗 Static 與 Dynamic 分別只有 53 與 38 次的可 行解。. 4.2.2. 更新效率達到 ef f (5) 所需的最少回合數,M inR(ef f (5)). 在這個實驗中,我們首先計算 r = 5 的更新效率,ef f (5)。我們接著找出,為 了達到更新效率 ef f (5),最少需要幾回合,即為 M inR(ef f (5))。我們分別針對. 治 政 大 LP solver 的方式更新 all flows 的結果。 立 實驗結果如圖4.3至圖4.6顯示,其中 x 軸為網路流個數。每個長條圖結果皆為. 有優先權與無優先權,考慮透過 Dynamic 的方式決定網路流個數,並使用 Normal. ‧ 國. 學. 50 次實驗平均,以下是我們的分析與觀察:圖4.3至圖4.6顯示,隨著網路流個數 的增加,M inR(ef f (5)) 也會增加。另外,即使網路流個數為 10,M inR(ef f (5)). sit. y. Nat. n. al. er. 與基於 SWAN 的方法比較. io. 4.2.3. ‧. 仍然不超過 2。. i Un. v. 給定新舊網路設定,我們可以利用 SWAN 完成更新。然而,更新期間可能會. Ch. engchi. 發生網路壅塞。只要我們產生一個最大化網路流(加權)總和的設定,我們也可 以利用 SWAN 將舊的網路設定更新至產生的設定。事實上,若將我們所提方法求 得的最終網路設定輸入 SWAN,則 SWAN 也會輸出相同的更新順序。 我們想探討的問題是,若我們產生另一個不同的多網路流 f ′ ,且 f ′ 與我們方 法所求的的最終網路流有相同的最大化網路流(加權)總和,則 SWAN 需要更新 幾回合才能更新至 f ′ ?由於我們會透過線性規劃產生 f ′ ,而且 SWAN 也是基於線 性規劃產生更新順序,因此這個比較的方法需要兩個線性規劃:第一個線性規劃 產生最終的網路流設定,第二個線性規劃(SWAN)產生更新順序。我們稱此方 法為 LP+SWAN。由於前述實驗結果顯示 M inR(5) 大多小於 2,在執行我們所提 方法時,我們會將 r 設為 1。在執行 SWAN 時,我們會測試 r = 1 至 r = 5。產生 初始網路流個數的方式我們使用 Dynamic,線性規劃本實驗採用 Normal LP solver. 24. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(35) 立. 政 治 大. ‧. ‧ 國. 學. 圖 4.3: 在 Fat-Tree(無優先權)網路拓樸,平均 M inR(ef f (5))。. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 4.4: 在 Fat-Tree(有優先權)網路拓樸,平均 M inR(ef f (5))。. 25. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(36) 立. 政 治 大. ‧. ‧ 國. 學. 圖 4.5: 在 BCube(無優先權)網路拓樸,平均 M inR(ef f (5))。. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 4.6: 在 BCube(有優先權)網路拓樸,平均 M inR(ef f (5))。. 26. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(37) 的方式。 接著我們說明如何產生多網路流 f ′ 。在 f ′ 中,第 i 個網路流的流量大小與我 們所提方法所求得的 fi 最終流量大小相同。我們用以下線性規劃產生每個網路流 的路由路徑。利用線性規劃最小化網路流花費總合,該線性規劃的目標函式為. min. n ∑∑. wi × fi′ (e) × fir (e),. e∈E i=1. 其中,fir (e) 為 fi 在我們方法所求得的設定中,在 e 上的最終流量。這個線性規劃 所求的網路流路由路徑會盡量避免我們所提方法使用的路由路徑。 圖4.7至4.10中 x 座標軸為網路流個數,y 軸顯示最多可更新回合數。對應的. 政 治 大 更新限制下更新至 f′ 的次數。換句話說,LP+SWAN 可以找到可行解(更新順序) 立 資料點顯示我們針對 100 次的實驗中,考慮有無優先權並找出 LP+SWAN 可以在. ‧ 國. 學. 的次數。以下是我們的觀察與分析:. 我們發現在網路流個數越多時,能有可行解的次數越少。即便我們將 SWAN. ‧. 可更新回合數設定為 5 時,LP+SWAN 針對不同網路流的問題實例,皆都有一半 以上無法完成更新。. y. Nat. io. sit. 另外,Fat-Tree 網路拓樸比 BCube 更容易找到可行解。理由如下:LP+SWAN. n. al. er. 的新網路流設定是一個盡量避免與我們方法使用相同路由路徑的網路流設定,由. i Un. v. 於 BCube 能選擇的替代路徑較少。所以 BCube 網路拓樸在可行解的次數也會比. Ch. engchi. Fat-Tree 來的較少。若要考慮優先權,由於網路流個數不大。因此,SWAN 在針 對有無優先權上,可行解的次數並沒有太大差異。 圖4.11至圖4.18說明了,LP+SWAN 在有可行解的情況下,平均需要的更新回 合數以及無可行解的比例。我們可發現,Fat-Tree 有可行解時 LP+SWAN 所需的 回合數也就更多。BCube 針對多個網路流時,幾乎沒有可行解。然而,在有可行 解的形況下幾乎是特定的問題實例,因此整體平均皆是更新回合數較小的問題實 例。 線性規劃同時考慮最大化網路流(加權)總和與更新限制,我們所提方法比 先透過線性規劃求得最終設定後,再用 SWAN 更新的效能更好。我們均可找到一 個相同更新效率的網路流設定(皆有可行解)。另外,我們的多網路流更新通常只 需要一個更新回合數。. 27. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(38) 立. 政 治 大. ‧. ‧ 國. 學. 圖 4.7: 在 Fat-Tree(無優先權)網路拓樸,LP+SWAN 有滿足更新限制次數。. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 4.8: 在 Fat-Tree(有優先權)網路拓樸,LP+SWAN 有滿足更新限制次數。. 28. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(39) 立. 政 治 大. ‧. ‧ 國. 學. 圖 4.9: 在 BCube(無優先權)網路拓樸,LP+SWAN 有滿足更新限制次數。. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 4.10: 在 BCube(有優先權)網路拓樸,LP+SWAN 有滿足更新限制次數。. 29. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(40) 立. 政 治 大. ‧. ‧ 國. 學. 圖 4.11: 在 Fat-Tree(無優先權)網路拓樸,平均 LP+SWAN 更新回合數。. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 4.12: 在 Fat-Tree(有優先權)網路拓樸,平均 LP+SWAN 更新回合數。. 30. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(41) 立. 政 治 大. ‧. ‧ 國. 學. 圖 4.13: 在 BCube(無優先權)網路拓樸,平均 LP+SWAN 更新回合數。. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 4.14: 在 BCube(有優先權)網路拓樸,平均 LP+SWAN 更新回合數。. 31. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(42) 立. 政 治 大. ‧. ‧ 國. 學. 圖 4.15: 在 Fat-Tree(無優先權)網路拓樸,LP+SWAN 無可行解比例。. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 4.16: 在 Fat-Tree(有優先權)網路拓樸,LP+SWAN 無可行解比例。. 32. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(43) 立. 政 治 大. ‧. ‧ 國. 學. 圖 4.17: 在 BCube(無優先權)網路拓樸,LP+SWAN 無可行解比例。. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 4.18: 在 BCube(有優先權)網路拓樸,LP+SWAN 無可行解比例。. 33. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(44) 第五章. 相關研究. Hong 等人提出了 SWAN 系統 [7],該系統可解決:若給定當下的初始網路流 設定與最終不發生壅塞的新網路設定,SWAN 會計算出一個避免發生網路壅塞的 更新順序。然而,更新回合數也是輸入值。在 SWAN 中,為了找出順暢的更新順. 政 治 大. 序,並不保證給定的更新回合數都可找到一個順暢的更新順序,且所有的網路連. 立. 結都需要預留了部分空間供網路更新使用,每個網路流都可分成多個回合完成更. ‧ 國. 學. 新。. Brandt 等人考慮單一終點(Single Destination)的多網路流更新問題,目標同. ‧. 樣為在不降速且避免更新過程中發生壅塞的情況下,找出最大網路流 [25][22]。然. y. Nat. 而,Brandt 等人所提的方法基於擴增網路流(Augmenting Flow),無法推廣至一. io. sit. 般多網路流更新問題,也未考慮優先權。. n. al. er. Brandt 等人更透過擴增網路流(Augmenting Flow)的方式,來讓網路拓樸內. Ch. i Un. v. 的網路連結可預留部分空間(slack),這樣使得網路更新可以有效的調整網路流且. engchi. 保證能在有限回合內完成更新(例如使用 SWAN)[19]。 Wang 等人透過收集新舊網路流的更新設定,將網路流的更新設定以分段的概 念設計順暢的更新順序 [20]。然而片段內的更新設定可平行處理,這使得 Wang 等人的方法在更新多個網路流時可採用兩階段方式平行地更新每一個片段。 Vissicchio 等人透過集中式蒐集網路拓樸內的訊息,透過在網路連結中加入虛 擬的網路節點(Fake Node),由分散式的方式更新多個網路流 [21], 以上方法解決多物流的更新問題,並不一定能夠在更新回合數找到一個順暢 的更新順序。而對於特定的問題實例不一定有更新機制。有些方法也並未考慮到 優先權的網路流更新。. 34. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(45) 第六章. 結論. 軟體定義網路中多網路流的更新問題非常重要,我們透過線性規劃可以得到 一個避免網路壅塞與降速的最大(加權)網路流設定與更新順序,其中的權重代 表每一個網路流的優先權。我們也發現若避免網路壅塞與降速時,得到的最大. 政 治 大. (加權)網路流會不及不考慮更新限制的結果。透過實驗,我們發現,我們提出. 立. 的方法皆有很好的更新效率,本論文也與基於 SWAN 的方法比較,結果發現,我. ‧ 國. 學. 們的方法所需回合數更少。最後,我們透過實驗知道在大多情況下,多個網路流 所需更新回合數不超過 2,未來可繼續探討所需更新回合數的理論上限。. ‧. n. er. io. sit. y. Nat. al. Ch. engchi. 35. i Un. v. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(46) 參考文獻 [1] N. McKeown, “Software-defined networking,” INFOCOM keynote talk, vol. 17, no. 2, pp. 30–32, 2009.. 治 政 大 in campus networks,” S. Shenker, and J. Turner, “Openflow: enabling innovation 立 ACM SIGCOMM Computer Communication Review, vol. 38, no. 2, pp. 69–74, 2008.. [2] N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson, J. Rexford,. ‧ 國. 學. [3] S. Agarwal, M. Kodialam, and T. Lakshman, “Traffic engineering in software de-. 2013.. ‧. fined networks,” in INFOCOM, 2013 Proceedings IEEE, pp. 2211–2219, IEEE,. sit. y. Nat. io. al. er. [4] F. Giroire, J. Moulierac, and T. K. Phan, “Optimizing rule placement in software-. n. defined networks for energy-aware routing,” in Global Communications Conference. Ch. i Un. v. (GLOBECOM), 2014 IEEE, pp. 2523–2529, IEEE, 2014.. engchi. [5] X. Jin, H. H. Liu, R. Gandhi, S. Kandula, R. Mahajan, M. Zhang, J. Rexford, and R. Wattenhofer, “Dynamic scheduling of network updates,” in ACM SIGCOMM Computer Communication Review, vol. 44, pp. 539–550, ACM, 2014. [6] S. Jain, A. Kumar, S. Mandal, J. Ong, L. Poutievski, A. Singh, S. Venkata, J. Wanderer, J. Zhou, M. Zhu, et al., “B4: Experience with a globally-deployed software defined wan,” in ACM SIGCOMM Computer Communication Review, vol. 43, pp. 3– 14, ACM, 2013. [7] C.-Y. Hong, S. Kandula, R. Mahajan, M. Zhang, V. Gill, M. Nanduri, and R. Wattenhofer, “Achieving high utilization with software-driven wan,” in ACM SIGCOMM Computer Communication Review, vol. 43, pp. 15–26, ACM, 2013. 36. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(47) [8] E. Mannie, “Generalized multi-protocol label switching (gmpls) architecture,” tech. rep., 2004. [9] R. Mahajan and R. Wattenhofer, “On consistent updates in software defined networks,” in Proceedings of the Twelfth ACM Workshop on Hot Topics in Networks, p. 20, ACM, 2013. [10] K.-T. Förster, R. Mahajan, and R. Wattenhofer, “Consistent updates in software defined networks: On dependencies, loop freedom, and blackholes,” in IFIP Networking Conference (IFIP Networking) and Workshops, 2016, pp. 1–9, IEEE, 2016.. 治 政 大defined networks, pp. 61–66, ings of the first workshop on Hot topics in software 立 ACM, 2012.. [11] R. McGeer, “A safe, efficient update protocol for openflow networks,” in Proceed-. ‧ 國. 學. [12] R. McGeer, “A correct, zero-overhead protocol for network updates,” in Proceed-. ‧. ings of the second ACM SIGCOMM workshop on Hot topics in software defined networking, pp. 161–162, ACM, 2013.. sit. y. Nat. io. al. er. [13] M. Reitblatt, N. Foster, J. Rexford, C. Schlesinger, and D. Walker, “Abstractions. n. for network update,” ACM SIGCOMM Computer Communication Review, vol. 42, no. 4, pp. 323–334, 2012.. Ch. engchi. i Un. v. [14] C. Wilson, H. Ballani, T. Karagiannis, and A. Rowtron, “Better never than late: Meeting deadlines in datacenter networks,” ACM SIGCOMM Computer Communication Review, vol. 41, no. 4, pp. 50–61, 2011. [15] J. Liddle, “Amazon found every 100ms of latency cost them 1% in sales,” The GigaSpaces, vol. 27, 2008. [16] J. Zheng, H. Xu, G. Chen, and H. Dai, “Minimizing transient congestion during network update in data centers,” in Proceedings of the 2014 CoNEXT on Student Workshop, pp. 4–6, ACM, 2014.. 37. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(48) [17] S. Paris, A. Destounis, L. Maggi, G. S. Paschos, and J. Leguay, “Controlling flow reconfigurations in sdn,” in Computer Communications, IEEE INFOCOM 2016-The 35th Annual IEEE International Conference on, pp. 1–9, IEEE, 2016. [18] S. Luo, H. Yu, L. Luo, and L. Li, “Arrange your network updates as you wish,” in IFIP Networking Conference (IFIP Networking) and Workshops, 2016, pp. 10–18, IEEE, 2016. [19] S. Brandt, K.-T. Förster, and R. Wattenhofer, “On consistent migration of flows in sdns,” 2016.. 治 政 update in software defined networks,” in Computer大 Communications, IEEE INFO立 COM 2016-The 35th Annual IEEE International Conference on, pp. 1–9, IEEE,. [20] W. Wang, W. He, J. Su, and Y. Chen, “Cupid: Congestion-free consistent data plane. ‧ 國. 學. 2016.. ‧. [21] S. Vissicchio, O. Tilmans, L. Vanbever, and J. Rexford, “Central control over distributed routing,” in ACM SIGCOMM Computer Communication Review, vol. 45,. y. Nat. al. er. io. sit. pp. 43–56, ACM, 2015.. n. [22] S. Brandt, K.-T. Foerster, and R. Wattenhofer, “Augmenting flows for the consis-. Ch. i Un. v. tent migration of multi-commodity single-destination flows in sdns,” Pervasive and. engchi. Mobile Computing, vol. 36, pp. 134–150, 2017.. [23] C. E. Leiserson, “Fat-trees: universal networks for hardware-efficient supercomputing,” IEEE transactions on Computers, vol. 100, no. 10, pp. 892–901, 1985. [24] C. Guo, G. Lu, D. Li, H. Wu, X. Zhang, Y. Shi, C. Tian, Y. Zhang, and S. Lu, “Bcube: a high performance, server-centric network architecture for modular data centers,” ACM SIGCOMM Computer Communication Review, vol. 39, no. 4, pp. 63–74, 2009. [25] S. Brandt, K.-T. Foerster, and R. Wattenhofer, “Augmenting anycast network flows,” in Proceedings of the 17th International Conference on Distributed Computing and Networking, p. 24, ACM, 2016.. 38. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(49) [26] B. Dezső, A. Jüttner, and P. Kovács, “Lemon–an open source c++ graph template library,” Electronic Notes in Theoretical Computer Science, vol. 264, no. 5, pp. 23– 45, 2011. [27] I. I. CPLEX, “V12. 1: User’s manual for cplex,” International Business Machines Corporation, vol. 46, no. 53, p. 157, 2009. [28] T.-W. Kuo, B.-H. Liou, K. C.-J. Lin, and M.-J. Tsai, “Deploying chains of virtual network functions: On the relation between link and server usage,” IEEE/ACM Transactions on Networking, no. 99, pp. 1–15, 2018.. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 39. i Un. v. DOI:10.6814/THE.NCCU.CS.017.2018.B02.

(50)

參考文獻

相關文件

包括三維機械設計的所更的功能(SolidWorks 三維建模軟體)、資料管 理軟體 PDMWorks Client、以及用於設計交流的常用工具:eDrawings 專 業版(基於 e-mail 的設計交流工具),

1、 網路管理與通信技術整合實務、機電控制、網拍多媒體行銷及物流從業人員

機器常數machine epsilon,以ϵmach表示,其值為1和比 1大的最小浮點數之間的距離。以下表格為IEEE 754浮點 數標準中各部份所佔的位元數: 精準度類型 符號部分 指數部分

由於較大型網路的 規劃必須考慮到資料傳 輸效率的問題,所以在 規劃時必須將網路切割 成多個子網路,稱為網 際網路。橋接器是最早

而此時,對於相對成長率為 k 的族群,其滿足族群成長模型 的解為指數函數 Ce kt ,此時的 k 便是指數中時間 t

數位計算機可用作回授控制系統中的補償器或控制

為配合政府推動六大新興產業及十大重點服務業之發展與開拓就業

但三路之中左右兩 路的主要目的是牽 制敵人,中間沿穎 水南下一路才是主 戰力所在。又,前 秦動員規模過於龐 大,在軍事行動展