16
Optimizing Cost and Performance for Multihoming Nick Feamster CS 6250 Fall 2011

Optimizing Cost and Performance for Multihoming Nick Feamster CS 6250 Fall 2011

Embed Size (px)

Citation preview

Page 1: Optimizing Cost and Performance for Multihoming Nick Feamster CS 6250 Fall 2011

Optimizing Cost and Performance for

Multihoming

Nick FeamsterCS 6250Fall 2011

Page 2: Optimizing Cost and Performance for Multihoming Nick Feamster CS 6250 Fall 2011

Multihoming & Smart Routing

Multihoming– A popular way of connecting

to Internet

Smart routing– Intelligently distribute traffic

among multiple external links

2

User

ISP 1

ISP K

InternetISP 2

Page 3: Optimizing Cost and Performance for Multihoming Nick Feamster CS 6250 Fall 2011

Potential Benefits

• Improve performance– Potential improvement: 25+% [Akella03]– Similar to overlay routing [Akella04]

• Improve reliability– Two orders of magnitude improvement in fault

tolerance of end-to-end paths [Akella04]

• Reduce cost

3

Q: How to realize the potential benefits?

Page 4: Optimizing Cost and Performance for Multihoming Nick Feamster CS 6250 Fall 2011

Goals

• Goal– Design effective smart routing algorithms to realize

the potential benefits of multihoming

• Questions– How to assign traffic to multiple ISPs to optimize

cost? – How to assign traffic to multiple ISPs to optimize both

cost and performance?– What are the global effects of smart routing?

4

Page 5: Optimizing Cost and Performance for Multihoming Nick Feamster CS 6250 Fall 2011

Network Model

• Network performance metric– Latency (also an indicator for reliability)– Extend to alternative metrics

• log (1/(1-lossRate)), or latency+w*log(1/(1-lossRate))

• ISP charging models– Cost = C0 + C(x)– C0: a fixed subscription cost– C: a piece-wise linear non-decreasing function mapping x

to cost – x: charging volume

• Total volume based charging• Percentile-based charging (95-th percentile)

5

Page 6: Optimizing Cost and Performance for Multihoming Nick Feamster CS 6250 Fall 2011

Percentile Based Charging

6

Interval

Sorted volume

N95%*N

Charging volume: traffic in the (95%*N)-th sorted interval

Page 7: Optimizing Cost and Performance for Multihoming Nick Feamster CS 6250 Fall 2011

Why cost optimization?• A simple example:

– A user subscribes to 4 ISPs, whose latency is uniformly distributed

– In every interval, the user generates one unit of traffic

• To optimize performance– ISP 1: 1, 0, 0, 0, …– ISP 2: 0, 1, 0, 0, …– ISP 3: 0, 0, 1, 0, …– ISP 4: 0, 0, 0, 1, …– 95th-percentile = 1 for all 4 ISPs– 95th-percentile = 1 using one ISP

• Cost(4 ISPs) = 4 * cost(1 ISP)

7

Optimizing performance alone could result in high cost!

Page 8: Optimizing Cost and Performance for Multihoming Nick Feamster CS 6250 Fall 2011

Cost Optimization: Problem Specification (2 ISPs)

8

Time

Volume

P1

P2

Goal: minimize total cost = C1(P1)+C2(P2)

Sorted volume

Sorted volume

Page 9: Optimizing Cost and Performance for Multihoming Nick Feamster CS 6250 Fall 2011

Issues & Insights

• Challenge: traditional optimization techniques do not work with percentiles

• Key: determine each ISP’s charging volume

• Results– Let V0 denote the sum of all ISPs’ charging volume

– Theorem 1: Minimize cost Minimize V0

– Theorem 2: V0 ≥ 1- k=1..N(1-qk) quantile of original traffic, where qk is ISP k’s charging percentile

9

Page 10: Optimizing Cost and Performance for Multihoming Nick Feamster CS 6250 Fall 2011

Cost Optimization: Problem Specification (2 ISPs)

10

Time

Volume

P1

P2P1 + P2 90-th percentile of original traffic

Sorted volume

Sorted volume

Page 11: Optimizing Cost and Performance for Multihoming Nick Feamster CS 6250 Fall 2011

Intuition for 2-ISP Case

• ISP 1 has 5% intervals whose traffic exceeds P1• ISP 2 has 5% intervals whose traffic exceeds P2

• The original traffic (ISP 1 + ISP 2 traffic) has 10% intervals whose traffic exceeds P1+P2

• P1+P2 90-th percentile of original traffic

11

Page 12: Optimizing Cost and Performance for Multihoming Nick Feamster CS 6250 Fall 2011

Algorithm Sketch

1. Determine charging volume for each ISP– Compute V0

– Find pk that minimize ∑k ck(pk) subject to ∑kpk=V0 using dynamic programming

2. Assign traffic given charging volumes– Non-peak assignment: ISP k is assigned pk

– Peak assignment:

• First let every ISP k serve its charging volume pk

• Dump all the remaining traffic to an ISP k that has bursted for fewer than (1-qk)*N intervals

12

Page 13: Optimizing Cost and Performance for Multihoming Nick Feamster CS 6250 Fall 2011

Additional Issues• Deal with capacity constraints

• Perform integral assignment– Similar to bin packing (greedy heuristic)

• Make it online– Traffic prediction

• Exponential weighted moving average (EWMA)– Accommodate prediction errors

• Update V0 conservatively• Add margins when computing charging volumes

13

Page 14: Optimizing Cost and Performance for Multihoming Nick Feamster CS 6250 Fall 2011

Optimizing Cost + Performance

• One possible approach: design a metric that is a weighted sum of cost and performance– How to determine relative weights?

• Our approach: optimize performance under cost constraints– Use cost optimization to derive upper bounds of traffic

that can be assigned to each ISP– Assign traffic to optimize performance subject to the

upper bounds

14

Page 15: Optimizing Cost and Performance for Multihoming Nick Feamster CS 6250 Fall 2011

Evaluation Method• Traffic traces (Oct. 2003 – Jan. 2004)

– Abilene traces (NetFlow data on Internet2)• RedHat, NASA/GSFC, NOAA Silver Springs Lab, NSF, National

Library of Medicine• Univ. of Wisconsin, Univ. of Oregon, UCLA, MIT

– MSNBC Web access logs

• Realistic cost functions [Feb. 2002 Blind RFP]

• Delay traces– NLANR traces: 3 months’ RTT measurements between pairs of

140 universities– Map delay traces to hosts in traffic traces

15

Page 16: Optimizing Cost and Performance for Multihoming Nick Feamster CS 6250 Fall 2011

Conclusions

• First paper on jointly optimizing cost and performance for multihoming

• Propose novel smart routing algorithms that achieve both low cost and good performance

• Under traffic equilibria, smart routing improves performance without hurting other traffic

16