Top Banner
【S8】SDN 時代を生き抜く為の グラフ理論とネットワークの アルゴリズム入門 浅間 正和 @ 日本 Vyatta ユーザ会
16

【S8】SDN 時代を生き抜く為の グラフ理論とネットワーク …【S8】SDN 時代を生き抜く為の グラフ理論とネットワークの アルゴリズム入門

Feb 11, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 【S8】SDN 時代を生き抜く為の
グラフ理論とネットワークの


    アルゴリズム入門浅間 正和 @ 日本 Vyatta ユーザ会

  • このプログラムの概要• 導入

    • 背景、用語の説明、グラフの表現方法と探索

    •                  浅間(30分)

    • グラフ理論とネットワークのアルゴリズムの基礎

    • 最短路問題、最小木問題、アルゴリズムと計算量

    •                伊波さん(50分)

    • ネットワークフローとその代表的な問題

    • 最大流問題、多品種流問題

    •                金子さん(50分)

    • まとめ

    • システム最適化流問題、参考情報、まとめ

    •                 浅間(20分)

    ���2

  • このプログラムの概要• 導入

    • 背景、用語の説明、グラフの表現方法と探索

    •                  浅間(30分)

    • グラフ理論とネットワークのアルゴリズムの基礎

    • 最短路問題、最小木問題、アルゴリズムと計算量

    •                伊波さん(50分)

    • ネットワークフローとその代表的な問題

    • 最大流問題、多品種流問題

    •                金子さん(50分)

    • まとめ

    • システム最適化流問題、参考情報、まとめ

    •                 浅間(20分)

    ���3

  • Internet Week 2013 — SDN時代を生き抜く為のグラフ理論とネットワークのアルゴリズム入門

    計算してみよう! (1/5) ごくシンプルなネットワークの例• ノード数4の場合の例: 全経路は2通り

    始 終

  • Internet Week 2013 — SDN時代を生き抜く為のグラフ理論とネットワークのアルゴリズム入門

    計算してみよう! (2/5) ごくシンプルなネットワークの例• ノード数6の場合の例: 全経路は4通り (22通り)

    始 終

  • Internet Week 2013 — SDN時代を生き抜く為のグラフ理論とネットワークのアルゴリズム入門

    計算してみよう! (3/5) ごくシンプルなネットワークの例• ノード数12の場合の例: 全経路は32通り (25通り)

    始 終

  • Internet Week 2013 — SDN時代を生き抜く為のグラフ理論とネットワークのアルゴリズム入門

    計算してみよう! (4/5)

    • ノード数22の場合: 210通り (=1,024通り)

    • ノード数42の場合: 220通り (=1,048,576通り)

    • ノード数102の場合: 250通り
(= 1,125,899,906,842,624通り)

    • ノード数202の場合: 2100通り
(=1,267,650,600,228,229,401,496,703,205,376通り)

  • Internet Week 2013 — SDN時代を生き抜く為のグラフ理論とネットワークのアルゴリズム入門

    アルゴリズム毎の所要時間のめやす所要時間

    (分) (対数スケール

    )

    1E+00

    1E+05

    1E+10

    1E+15

    1E+20

    1E+25

    1E+30

    1E+35

    1E+40

    1E+45

    1E+50

    処理対象の項目(n)0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50

    O(1)O(log n)O(n)O(n^2)O(2^n)O(10^n)O(n!)

    全ての物質が終了 (1溝年後)

    O(2n)

    O(10n)

    O(n!)

    太陽滅亡 (約50億年後)

    O(n), O(log n), O(1)O(n2)

    1処理を1μ秒で実行できるコンピュータを用いた際の見積もり時間

    知的生命体終了 (100兆年後)

    ダイクストラ法・プリム法

    全数探索の例全銀河ブラックホール化 (100京年後)

  • Internet Week 2013 — SDN時代を生き抜く為のグラフ理論とネットワークのアルゴリズム入門

    所要時間

    (対数スケール

    )

    1E+00

    1E+50

    1E+100

    1E+150

    1E+200

    1E+250

    1E+300

    処理対象の項目(n)

    0 50 100

    150

    200

    250

    300

    350

    400

    450

    500

    550

    O(1)O(log n)O(n)O(n^2)O(2^n)O(10^n)O(n!)

    O(2n)

    O(10n)

    O(n!)

    アルゴリズム毎の所要時間のめやす

    O(n), O(log n), O(1)O(n2)

    全ての物質が終了

    Big Rip

    全数探索の例

    多項式時間 アルゴリズム指数時間 アルゴリズム

    ダイクストラ法・プリム法

  • このプログラムの概要• 導入

    • 背景、用語の説明、グラフの表現方法と探索

    •                  浅間(30分)

    • グラフ理論とネットワークのアルゴリズムの基礎

    • 最短路問題、最小木問題、アルゴリズムと計算量

    •                伊波さん(50分)

    • ネットワークフローとその代表的な問題

    • 最大流問題、多品種流問題

    •                金子さん(50分)

    • まとめ

    • システム最適化流問題、参考情報、まとめ

    •                 浅間(20分)

    ���10

  • 最大フロー問題

    最大どれだけ流せるのか?を知りたい 問:BからCまでの流量を最大化せよ 解:28 B->A->C :10 B->A->D->C:4 B->D->C :14

    B C

    D

    A 0/14

    0/15 0/18

    0/10

    0/4

    11

  • 多品種フロー

    • 品種とは発地,着地のペアの事 • さきほど解いた多品種問題は1品種

    –品種(B->C) • 複数の品種に拡張(multi commodity)

    –例えば(B->C)と(A->C)の2品種

    品種1 品種2 50

  • 最適な”割り当て”の問題

    最適にネットワークを使いきれる条件 1品種の場合 品種1:28 2品種の場合 品種1:15,品種2:13 要求 Aさん「品種1のパスに20流したい」 Bさん「品種2のパスに13流したい」

    どうする?? 59

  • Maximize the minimum (to allocate) 割り当て可能な帯域が最も小さいものを優先する アルゴリズム 1. 全てのflowを同一ペースで増加させた場合に、最初に飽和するリンク(ボトルネックリンクと呼ぶ)を特定する

    2. 全てのflowに対して、ボトルネックリンクが発生する流量分割り当てを行い、NWからボトルネックリンクを削除

    3. 増加することのできるflowが存在する場合は1に戻る

    Max-min Fairness Policy

    65

  • Fairness Policy

    Max-min fairness –合計帯域は減少したが割り当ては公平に

    Fairness Policyはユースケース次第

    flow 割り当て

    1 1

    2 1

    3 3

    Sum 5

    flow 割り当て

    1 0

    2 2

    3 4

    Sum 6

    最大流 Max-min

    A B C e1(2) e2(4)

    flow1

    flow2 flow3

    70

  • まとめ• 紹介したアルゴリズム

    • Dijkstra 法(最短路問題)

    • Prim 法(最小木問題)

    • Ford-Fulkerson 法(最大流問題)

    • 線形計画法(最大流問題(多品種含む))

    • Max-Min Fairness 法(多品種最大流問題)

    • アルゴリズムの計算量はとても重要

    • 適切なアルゴリズムを選択しないと大変なことに…

    • 多品種流問題はとてもチャレンジングな領域

    • なにをもって “最適” とするかはひとそれぞれ…

    ���16