multi-commodity flow with in-network...

25
Routing and Steering Network Design Multi-Commodity Flow with In-Network Processing Moses Charikar Yonatan Naamad Jennifer Rexford X. Kelvin Zou Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou Multi-Commodity Flow with In-Network Processing

Upload: others

Post on 15-Feb-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

  • Routing and Steering Network Design

    Multi-Commodity Flow withIn-Network Processing

    Moses CharikarYonatan NaamadJennifer Rexford

    X. Kelvin Zou

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    Outline

    1 Routing and Steering

    2 Network Design

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    In-Network Processing

    Computer Networks are now dual-purpose.

    1 Route traffic2 Perform services

    FirewallsLoad balancersVideo transcodersTraffic encryption/compressionEtc.

    Novel uses require novel algorithms.

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    In-Network Processing

    Computer Networks are now dual-purpose.

    1 Route traffic2 Perform services

    FirewallsLoad balancersVideo transcodersTraffic encryption/compressionEtc.

    Novel uses require novel algorithms.

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    In-Network Processing

    Computer Networks are now dual-purpose.

    1 Route traffic2 Perform services

    FirewallsLoad balancersVideo transcodersTraffic encryption/compressionEtc.

    Novel uses require novel algorithms.

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    Middlebox Processing

    Historically, middleboxes were single purpose.

    Network Function Virtualization (NFV) allows for greaterflexibility.

    Question: how do we best utilize this newfound flexibility?

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    Our Model

    Given1 A graph G modeling our network.2 Edge capacities Be on links.3 Processing capacities Cv on vertices.4 A collection of flow demand (si , ti ) pairs.

    FindA way to route and process as much flow as possible.

    Assumption: one unit of flow requires one unit of processing.

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    Our Model

    Given1 A graph G modeling our network.2 Edge capacities Be on links.3 Processing capacities Cv on vertices.4 A collection of flow demand (si , ti ) pairs.

    FindA way to route and process as much flow as possible.

    Assumption: one unit of flow requires one unit of processing.

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    Routing vs. Steering

    Our problem has two components:

    Routing routes traffic between endpoints.

    Equivalent to Maximum Multicommodity Flow

    Steering steers traffic to processing nodes.

    Equivalent to Multi-source/sink Maximum flow

    We attempt to solve the joint routing and steering problem.

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    An (exponential) LP

    Problem admits an obvious walk-based LP

    MaximizeD∑i=1

    ∑π∈P

    pi,π

    Subject to pi,π =∑v∈π

    pvi,π ∀i ∈ 1..D, π ∈ PD∑i=1

    ∑π3e

    pi,π ≤ Be ∀e ∈ ED∑i=1

    ∑π∈P

    pvi,π ≤ Cv ∀v ∈ V

    pvi,π ≥ 0 ∀pvi,π

    Problem: program size may be exponential.

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    Equivalent LP

    We can also write an edge-based LP

    Too big to fit on this slide.

    Key ideas:1 Each flow demand gets two sets of variables: fi and wi .

    wi = unprocessed flow being routedfi = total flow being routed

    2 wi absorbed at middleboxes, fi absorbed at terminals3 wi is bounded by fi4 Other constraints are standard extensions of the

    multicommodity flow LP.

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    Equivalent LP

    We can also write an edge-based LP

    Too big to fit on this slide.

    Key ideas:1 Each flow demand gets two sets of variables: fi and wi .

    wi = unprocessed flow being routedfi = total flow being routed

    2 wi absorbed at middleboxes, fi absorbed at terminals3 wi is bounded by fi4 Other constraints are standard extensions of the

    multicommodity flow LP.

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    Equivalent LP

    We can also write an edge-based LP

    Too big to fit on this slide.

    Key ideas:1 Each flow demand gets two sets of variables: fi and wi .

    wi = unprocessed flow being routedfi = total flow being routed

    2 wi absorbed at middleboxes, fi absorbed at terminals3 wi is bounded by fi4 Other constraints are standard extensions of the

    multicommodity flow LP.

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    Proof of Equivalence (outline)

    Equivalence of the two LPs is nontrivial

    OPT may use edges more than once. Care is required!

    s

    2

    0

    2

    0 T

    2

    5 5

    5

    55

    5

    5 5

    Proof outline:Cancel redundant wi and fi flows as much as possible.Argue that cycles must have some e where wi (e) drops.Peel off this edge and proceed

    Conclusion: O(|V | · |E | · |D|) algorithm for convertingbetween the two LPs.

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    Multiplicative Weights

    Edge-based LP can get unwieldy.

    (1− �) MW-based approximation in Õ(dm2/�2) time.Similar to the Garg-Könemann algorithm with a moreelaborate update step.

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    Experiments

    Ran experiments on Abilene network traces

    Baseline: route flow first, worry about processing later

    Two sets of processing power distributions:

    All nodes get equal processing capacityA random subset of n/2 nodes get processing capcity.

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    Experiments (absolute)

    Results

    0 200 400 600 800 10000

    1000

    2000

    3000

    4000

    Per-node Processing Capacity (Mbps)

    Ave

    rag

    e R

    ou

    ted

    Flo

    w (

    Mb

    ps

    )

    Naive (All)

    LP (All)

    Naive (Half)

    LP (Half)

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    Experiments (ratio)

    Results

    0 200 400 600 800 10000.5

    0.6

    0.7

    0.8

    0.9

    1

    Per-node Processing Capacity (Mbps)

    Na

    ive-t

    o-O

    PT

    Ro

    uti

    ng

    Ra

    tio

    All Process

    Half Process

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    Outline

    1 Routing and Steering

    2 Network Design

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    Network Design

    We now know how to utilize middleboxes.

    How do we optimally place them in the first place?

    Middleboxes are indivisible → combinatorial problem.

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    Network Design

    Given1 An edge-capacitated graph G .2 The set of flow demands3 For each middlebox v , proposals and costs of installing various

    amounts of processing capacity

    Find1 The optimal purchase plan of middlebox processing power in G .

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    Four Key Problems

    Directed Undirected

    Budgeted Maximization

    NP-Hard NP-Hard

    Minimization

    NP-Hard NP-Hard

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    Four Key Problems

    Directed Undirected

    Budgeted Maximization NP-Hard NP-Hard

    Minimization NP-Hard NP-Hard

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    Four Key Problems

    Directed Undirected

    MaximizationApproximation O(log n) O(1)(†)

    Hardness O(1) O(1)

    MinimizationApproximation O(log n)(∗) O(log n)(∗)

    Hardness O(log n) O(log n)

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

  • Routing and Steering Network Design

    End

    Questions?

    Moses Charikar, Yonatan Naamad, Jennifer Rexford, X. Kelvin Zou

    Multi-Commodity Flow with In-Network Processing

    Routing and SteeringNetwork Design