【s8】sdn 時代を生き抜く為の グラフ理論とネットワーク …【s8】sdn...

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

Upload: others

Post on 11-Feb-2021

0 views

Category:

Documents


0 download

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