Throughput optimization … Max-flow optimization Network coding

advertisement
Throughput optimization …
 Max-flow optimization
 Zongpeng’s slides: 2-8
 Network coding
 Butterfly example
 Zongpeng’s slides: 14-15
1
Without network coding …
S
T1
T2
 Using unicast, how much can S send to T1 and T2?
Without network coding …
S
 T1 and T2 both
get 50% of
senders capacity
T1
T2
 Using unicast, how much can S send to T1 and T2?
Without network coding …
S
T1
T2
 Using multicast, how much can S send to T1 and T2?
Without network coding …
S
A,B
B
C,D
D
 T1 and T2 both
B
A,B
D
T1
D
C,D
B
get ¾ streams
(75% of senders
capacity)
T2
 Optimization problem equal to “packing of Steiner
trees” (NP-hard problem)
With network coding …
S
A
A
 T1 and T2 both get
2/2 streams (100% of
senders capacity)
 Improvement by 33%
A
B
B
A+B
A+B
T1
B
A+B
T1
S
A,B
B
D
B
D
A,B
D
T1
C,D
S
A
A
C,D
B
A
B
A+B
A+B
T2
B
T1
B
A+B
T1
7
 Savings can also be in
terms of “bandwidth”
…
8
b1
b1
b2
b1
b2
b1
b2
b2
b1
b1
b2
b1
b2
b1
b2
b1+b2
b1+b2
b1+b2
b2
 …or “time” …
10
Network Coding Example (animation)
a b
 A technique to improve:
1. network throughput
2. efficiency
3. scalability
…
a
1
b
a
b
2
3
a
ab
a
b
 Information is coded at
potentially every node
1
2
3
4
5
abb
5
4
b
a
ab
6
Network Coding Example (without)
a b
 A technique to improve:
1. network throughput
2. efficiency
3. scalability
…
a
1
b
a
2
b
3
a
b a
 Information is coded at
potentially every node
1
2
3
4
5
b
5
4
b
a
6
Network Coding Example (with)
a b
 A technique to improve:
1. network throughput
2. efficiency
3. scalability
…
a
1
b
a
b
2
3
a
ab
a
b
 Information is coded at
potentially every node
1
2
3
4
ab
5
4
b
ab
6
14
6.1: Cache-size discussion
 Consider first the workloads that these caches
will need to serve …
15
6.1: Cache-size discussion
 Consider first the workloads that these caches
will need to serve …
?
16
Request patterns

Some research slides …
• Diurnal patterns
• Geographic differences
E.g., ACM TWEB
17
Request patterns

Some research slides …
• Diurnal patterns
• Geographic differences
18
E.g., ACM TWEB, IEEE ICC ‘12
Request patterns

Some research slides …
• Diurnal patterns
• Geographic differences
19
E.g., ACM TWEB, IEEE ICC ‘12
20
Request pattern …
 E.g., request inter-arrival times
 Example 1 …
?
21
At a smaller time scale …
 Often break into stationary periods …
 Common (but in some cases highly debated) assumption:
Poisson request process (independent request arrivals,
with exponential inter-arrival time distribution)
 Remember: nice properties such as “memory less” and
PASTA (Poisson Arrivals See Time Average)
22
23
File popularity distribution and “heavy” tails
 Example slides with YouTube popularity
 but web object popularity, file size distributions, number
of friends in social networks, etc. often see similar
“heavy tail” distributions ...
 Should note (this list can be made very very long, and
include things such as the frequency words are used, the
size of cities, the size of earthquakes, the size of
bacteria cultures … and the list will go on ... and on … and
on ...
24
Motivation
 Video dissemination (e.g., YouTube) can have wide-
spread impacts on opinions, thoughts, and cultures
25
E.g., ACM KDD ’12, IFIP
Performance ‘11, ACM TWEB
Motivation
 Not all videos will reach the same popularity and
have the same impact
26
E.g., ACM KDD ’12, IFIP
Performance ‘11, ACM TWEB
views
Motivation
 Not all videos will reach the same popularity and
have the same impact
27
E.g., ACM KDD ’12, IFIP
Performance ‘11, ACM TWEB
views
Motivation
 Not all videos will reach the same popularity and have
the same impact
28
E.g., ACM KDD ’12, IFIP
Performance ‘11, ACM TWEB
Views (v)
Popularity
distribution
Rank (r)
E.g., ACM KDD ‘12
Views (v)
Popularity
distribution
Rank (r)
E.g., ACM KDD ‘12
Views (v)
Popularity
distribution
Rank (r)
Views (v)
Popularity
distribution
Rank (r)
E.g., ACM KDD ’12, PAM ’12
Views (v)
Popularity
distribution
Rank (r)
E.g., ACM KDD ’12, PAM ’12
Views (v)
Popularity
distribution
Rank (r)
E.g., ACM KDD ’12, PAM ’12,
ACM TWEB
Let’s look at an example …
 Example 2
35
Zipf popularity...
Views (v)
... and long tails
Rank (r)
vr  r

Zipf popularity...
log v
Views (v)
... and long tails
Rank (r)
vr  r

log r
Zipf popularity...
log v
Views (v)
... and long tails
Rank (r)
vr  r

log r
log v r  log v1   log r
Zipf popularity...
log v
Views (v)
... and long tails
Rank (r)
vr  r

log r
log v r  log v1   log r
Zipf popularity...
log v
Views (v)
... and long tails
log r
Rank (r)
vr  r

log v r  log v1   log r
y(x)
= x0
-- 
x
Zipf popularity...
log v
Views (v)
... and long tails
log r
Rank (r)
vr  r

log v r  log v1   log r
y(x)
= x0
-- 
x
Zipf popularity...
log v
Views (v)
... and long tails
Rank (r)
vr  r

log r
log v r  log v1   log r
Zipf popularity...
... and long tails
6
log v
Popularity
10
4
10
2
10
0
10 0
10
Zipf(1e+007,1)
MZipf(1e+007,50,1)
GZipf(2e+005,0.02,1e-005,1)
2
4
10
10
Rank
log r
6
10
log v r  log v1   log r
Zipf popularity...
... and long tails
6
Popularity
10
4
10
2
10
0
10 0
10
Zipf(1e+007,1)
MZipf(1e+007,50,1)
GZipf(2e+005,0.02,1e-005,1)
2
4
10
10
6
10
Rank
E.g., ACM TWEB, PAM ‘11
IFIP Performance ‘11, IPTPS ‘10
Zipf popularity...
... and long tails
Head
Trunk
6
Popularity
10
4
10
Tail
2
10
0
10 0
10
Zipf(1e+007,1)
MZipf(1e+007,50,1)
GZipf(2e+005,0.02,1e-005,1)
2
4
10
10
6
10
Rank

Popularity distribution statistics




Across services (impact on system design)
Lifetime vs current
Over different time period (churn)
Different sampling methods
E.g., ACM TWEB, PAM ’11,
IFIP Performance ‘11, IPTPS ‘10
Heavy-tail distributions …
 “A probability distribution is said to have a heavy
tail if the tail is not exponentially bounded”

E.g., paper and references therein: “A Tale of the Tails:
Power-laws in Internet Measurements”, IEEE Network,
Mahanti et al., 2013
 Power-law, Pareto, Zipf (in some sense the same)
 … and then there are many many “heavy tail”
distributions, variations and generalizations,
including distributions such as log-normal, various
generalized Zipf/Pareto distributions, etc.
46
Let’s build a (very) simple model
 Poisson request process with request rate 
 N objects; equal size L; Zipf popularity distribution with
shape parameter 

Each request has request frequency i = ??
47
Let’s build a (very) simple model
 Poisson request process with request rate 
 N objects; equal size L; Zipf popularity distribution with
shape parameter 


Each request has request frequency i = ??
What is the (normalized) hit rate if cache can store n objects?
48
Let’s build a (very) simple model
 Poisson request process with request rate 
 N objects; equal size L; Zipf popularity distribution with
shape parameter 


Each request has request frequency i = ??
What is the (normalized) hit rate if cache can store n objects?
 Approximate large LRU-cache with a TTL-cache
 T = average time (without request) before cache eviction
 PASTA (Poisson Arrivals See Time Average)
49
Let’s build a (very) simple model
 Poisson request process with request rate 
 N objects; equal size L; Zipf popularity distribution with
shape parameter 


Each request has request frequency i = ??
What is the (normalized) hit rate if cache can store n objects?
 Approximate large LRU-cache with a TTL-cache
 T = average time (without request) before cache eviction
 PASTA (Poisson Arrivals See Time Average)
 Miss rate object i =
50
Let’s build a (very) simple model
 Poisson request process with request rate 
 N objects; equal size L; Zipf popularity distribution with
shape parameter 


Each request has request frequency i = ??
What is the (normalized) hit rate if cache can store n objects?
 Approximate large LRU-cache with a TTL-cache
 T = average time (without request) before cache eviction
 PASTA (Poisson Arrivals See Time Average)
 Miss rate object i = i Pr(no request in last T)
51
Let’s build a (very) simple model
 Poisson request process with request rate 
 N objects; equal size L; Zipf popularity distribution with
shape parameter 


Each request has request frequency i = ??
What is the (normalized) hit rate if cache can store n objects?
 Approximate large LRU-cache with a TTL-cache
 T = average time (without request) before cache eviction
 PASTA (Poisson Arrivals See Time Average)
 Miss rate object i = i Pr(no request in last T)
 Pr(no request in last T) =
52
Let’s build a (very) simple model
 Poisson request process with request rate 
 N objects; equal size L; Zipf popularity distribution with
shape parameter 


Each request has request frequency i = ??
What is the (normalized) hit rate if cache can store n objects?
 Approximate large LRU-cache with a TTL-cache
 T = average time (without request) before cache eviction
 PASTA (Poisson Arrivals See Time Average)
 Miss rate object i = i Pr(no request in last T)
 Pr(no request in last T) = exp(-iT)
53
Let’s build a (very) simple model
 Poisson request process with request rate 
 N objects; equal size L; Zipf popularity distribution with
shape parameter 


Each request has request frequency i = ??
What is the (normalized) hit rate if cache can store n objects?
 Approximate large LRU-cache with a TTL-cache
 T = average time (without request) before cache eviction
 PASTA (Poisson Arrivals See Time Average)
 Miss rate object i = i Pr(no request in last T)
 Pr(no request in last T) = exp(-iT)
 Total miss rate =
54
Let’s build a (very) simple model
 Poisson request process with request rate 
 N objects; equal size L; Zipf popularity distribution with
shape parameter 


Each request has request frequency i = ??
What is the (normalized) hit rate if cache can store n objects?
 Approximate large LRU-cache with a TTL-cache
 T = average time (without request) before cache eviction
 PASTA (Poisson Arrivals See Time Average)
 Miss rate object i = i Pr(no request in last T)
 Pr(no request in last T) = exp(-iT)
 Total miss rate = i i exp(-iT)
55
Let’s build a (very) simple model
 Poisson request process with request rate 
 N objects; equal size L; Zipf popularity distribution with
shape parameter 


Each request has request frequency i = ??
What is the (normalized) hit rate if cache can store n objects?
 Approximate large LRU-cache with a TTL-cache
 T = average time (without request) before cache eviction
 PASTA (Poisson Arrivals See Time Average)
 Miss rate object i = i Pr(no request in last T)
 Pr(no request in last T) = exp(-iT)
 Total miss rate = i i exp(-iT)
 (normalized) hit rate =
56
Let’s build a (very) simple model
 Poisson request process with request rate 
 N objects; equal size L; Zipf popularity distribution with
shape parameter 


Each request has request frequency i = ??
What is the (normalized) hit rate if cache can store n objects?
 Approximate large LRU-cache with a TTL-cache
 T = average time (without request) before cache eviction
 PASTA (Poisson Arrivals See Time Average)
 Miss rate object i = i Pr(no request in last T)
 Pr(no request in last T) = exp(-iT)
 Total miss rate = i i exp(-iT)
 (normalized) hit rate = 1 – (i i exp(-iT))/(i i)
57
Let’s build a (very) simple model
 Expected time object i in cache?
58
Let’s build a (very) simple model
 Expected time object i in cache?
 Little’s law [averages]:
 (# in system) = (rate in/out) x (time in system)
59
Let’s build a (very) simple model
 Expected time object i in cache?
 Little’s law [averages]:
 (# in system) = (rate in/out) x (time in system)
 Identify in system
 (rate in/out) =
60
Let’s build a (very) simple model
 Expected time object i in cache?
 Little’s law [averages]:
 (# in system) = (rate in/out) x (time in system)
 Identify in system
 (rate in/out) = (miss rate object i) = i exp(-iT)
61
Let’s build a (very) simple model
 Expected time object i in cache?
 Little’s law [averages]:
 (# in system) = (rate in/out) x (time in system)
 Identify in system
 (rate in/out) = (miss rate object i) = i exp(-iT)
 (# in system) =
62
Let’s build a (very) simple model
 Expected time object i in cache?
 Little’s law [averages]:
 (# in system) = (rate in/out) x (time in system)
 Identify in system
 (rate in/out) = (miss rate object i) = i exp(-iT)
 (# in system) = (copies of object i in the cache) = (1- exp(-iT))
63
Let’s build a (very) simple model
 Expected time object i in cache?
 Little’s law [averages]:
 (# in system) = (rate in/out) x (time in system)
 Identify in system
 (rate in/out) = (miss rate object i) = i exp(-iT)
 (# in system) = (copies of object i in the cache) = (1- exp(-iT))
 (time in system) =
64
Let’s build a (very) simple model
 Expected time object i in cache?
 Little’s law [averages]:
 (# in system) = (rate in/out) x (time in system)
 Identify in system
 (rate in/out) = (miss rate object i) = i exp(-iT)
 (# in system) = (copies of object i in the cache) = (1- exp(-iT))
 (time in system) = (time object i is in cache until evicted)
65
Let’s build a (very) simple model
 Expected time object i in cache?
 Little’s law [averages]:
 (# in system) = (rate in/out) x (time in system)
 Identify in system
 (rate in/out) = (miss rate object i) = i exp(-iT)
 (# in system) = (copies of object i in the cache) = (1- exp(-iT))
 (time in system) = (time object i is in cache until evicted)
 Solve
 (time in system) =
66
Let’s build a (very) simple model
 Expected time object i in cache?
 Little’s law [averages]:
 (# in system) = (rate in/out) x (time in system)
 Identify in system
 (rate in/out) = (miss rate object i) = i exp(-iT)
 (# in system) = (copies of object i in the cache) = (1- exp(-iT))
 (time in system) = (time object i is in cache until evicted)
 Solve
 (time in system) = (# in system) / (rate in/out)
= (1- exp(-iT)) / i exp(-iT)
= (1/i)(exp(iT)–1)
67
Let’s build a (very) simple model
 Expected time object i in cache?
 Little’s law [averages]:
 (# in system) = (rate in/out) x (time in system)
 Identify in system
 (rate in/out) = (miss rate object i) = i exp(-iT)
 (# in system) = (copies of object i in the cache) = (1- exp(-iT))
 (time in system) = (time object i is in cache until evicted)
 Solve
 (time in system) = (# in system) / (rate in/out)
= (1- exp(-iT)) / i exp(-iT)
= (1/i)(exp(iT)–1)
 Sanity check ...
68
Let’s build a (very) simple model
 Expected time object i in cache?
 Little’s law [averages]:
 (# in system) = (rate in/out) x (time in system)
 Identify in system
 (rate in/out) = (miss rate object i) = i exp(-iT)
 (# in system) = (copies of object i in the cache) = (1- exp(-iT))
 (time in system) = (time object i is in cache until evicted)
 Solve
 (time in system) = (# in system) / (rate in/out)
= (1- exp(-iT)) / i exp(-iT)
= (1/i)(exp(iT)–1)
 Sanity check ...
 Taylor expansion … (e.g., look at small and large i)
69
Let’s build a (very) simple model
 Expected time object i in cache?
 Little’s law [averages]:
 (# in system) = (rate in/out) x (time in system)
 Identify in system
 (rate in/out) = (miss rate object i) = i exp(-iT)
 (# in system) = (copies of object i in the cache) = (1- exp(-iT))
 (time in system) = (time object i is in cache until evicted)
 Solve
 (time in system) = (# in system) / (rate in/out)
= (1- exp(-iT)) / i exp(-iT)
= (1/i)(exp(iT)–1)
 Sanity check ...
 Taylor expansion … (e.g., look at small and large i)
 Busy period for a M/D/
70
71
Rich-gets-richer ...
During next week [log]
... and churn
Total views thus far [log]
E.g., IFIP Performance ‘11
72
Rich-gets-richer ...
During next week [log]
... and churn
Total views thus far [log]

The more views a video has, the more
views it is likely to get in the future
E.g., IFIP Performance ‘11
73
Rich-gets-richer ...
During next week [log]
... and churn
Views during week [log]


The more views a video has, the more
views it is likely to get in the future
The relative popularity of the individual
videos are highly non-stationary
E.g., IFIP Performance ‘11
74
Rich-gets-richer ...
... and churn
Week 2
Week4
Week 8
Week 16
Young videos


Old videos
The more views a video has, the more
views it is likely to get in the future
The relative popularity of the individual
videos are highly non-stationary
E.g., IFIP Performance ‘11
75
Rich-gets-richer ...
... and churn
Week 2
Week4
Week 8
Week 16
Young videos



Old videos
The more views a video has, the more
views it is likely to get in the future
The relative popularity of the individual
videos are highly non-stationary
Some long-term popularity
E.g., IFIP Performance ‘11
76
Rich-gets-richer ...
During next week [log]
... and churn
Total views thus far [log]



The more views a video has, the more
views it is likely to get in the future
The relative popularity of the individual
videos are highly non-stationary
Some long-term popularity
E.g., IFIP Performance ‘11
77
78
Download