Footprint Descriptors: Cache Provisioning in a Global CDN
*University of Massachusetts Amherst +Akamai Technologies
Aditya Sundarrajan*, Mingdong Feng+, Mangesh Kasbekar+, Ramesh K. Sitaraman*+
Footprint Descriptors: Cache Provisioning in a Global CDN Aditya - - PowerPoint PPT Presentation
Footprint Descriptors: Cache Provisioning in a Global CDN Aditya Sundarrajan * , Mingdong Feng + , Mangesh Kasbekar + , Ramesh K. Sitaraman *+ * University of Massachusetts Amherst + Akamai Technologies Cache hits reduce end-user latency and
*University of Massachusetts Amherst +Akamai Technologies
Aditya Sundarrajan*, Mingdong Feng+, Mangesh Kasbekar+, Ramesh K. Sitaraman*+
2
Origin Users CDN
2
Request / Response
3
S1 S2 Cache hit rate Traffic class 1 Traffic class 2 Traffic class 3
4
S1 S2 Cache hit rate +
x 1/2 x 1/2
+
5
S1 S2 Cache hit rate +
x 1/2 x 1/2
+
100s of traffic classes!
6
7
8
S1 S2 Cache hit rate +
x 1/2 x 1/2
+
100s of traffic assignment scenarios!
9
10
Stack distance Inter-arrival time Spatial locality: How many unique bytes are accessed between successive requests of an object? Temporal locality: How often is an object requested? Joint probability distribution P(s,t)
11
Stack distance Inter-arrival time Joint probability distribution P(s,t)
Cache size Hit rate Time-to-live Hit rate Time-to-live Cache size
Hit rate = f (size) Hit rate = f (time) Cache size = f (Time-to- live)
12
13
FD1 FD2 FD3
addition scaling
FDout
x 1/2
+ +
addition
x 1/2
+ +
S1 Cache hit rate
Footprint descriptor calculus
Cache size Hit rate
14
FD1 FD2 FD3
addition scaling
FDout
x 1/2
+ +
addition
Space-time representation Frequency-domain representation FD1 FD2 FD3
addition scaling
FDout
x 1/2
+ +
addition
15
FD1 FD2 FD3
convolutions scaling
FDout
x 1/2
* * convolutions
Space-time representation
16
š 2 š 1+2 š 1 Window of duration t s unique bytes s1 unique bytes s - s1 unique bytes P1+2 (s|t) = P1(0|t) P2(s|t) + P1(1|t) P2(s - 1|t) + ⦠+ P1(s|t) P2(0|t) = ā
P1(s1|t) P2(sās1|t
2 2345
)
17
+ P1(1|t) P2(s - 1|t) P1+2(s | t) = P1(s | t) * P2(s | t)
convolution
P1+2(s,t) = P1+2(s | t) P1+2(t)
by definition
SD IAT P1+2(s,t)
š 2 š 1+2 š 1 Window of duration t s unique bytes s1 unique bytes s - s1 unique bytes P1+2 (s|t) = P1(0|t) P2(s|t) + P1(1|t) P2(s - 1|t) + ⦠+ P1(s|t) P2(0|t) = ā
P1(s1|t) P2(sās1|t
2 2345
)
18
FD1 FD2 FD3
convolutions scaling
FDout
x 1/2
* * convolutions
Frequency-domain representation FD1 FD2 FD3
products scaling
FDout
x 1/2
products Inverse Fast Fourier Transform Fast Fourier Transform
Space-time representation
19
20
x x x
86.6 % (calculated) 84.1 % (production) 86.6 % (simulated)
21
22
FD1 FD2 FD3
addition scaling
FDout
x 1/2
+ +
addition
x 1/2
+ +
S1 Cache hit rate
Cache size Hit rate
23
FD1 FD2 FD3
addition scaling
FDout
x 1/2
+ +
addition
x 1/2
+ +
S1 Cache hit rate
1. Compute FD - every few days
Cache size Hit rate
24
Input trace š Sub trace š1 Sub trace š2 Sub trace š3 Sub trace š4 FD1 FD2 FD3 FD4
+
FD12
+
FD34
+
FD
For 800 million requests, 7hrs to 28 mins = 15x speedup!
25
FD1 FD2 FD3
addition scaling
FDout
x 1/2
+ +
addition
x 1/2
+ +
S1 Cache hit rate
Cache size Hit rate
2. Compute traffic mix
26
Video Mix Download Download 5 Gbps Video 1 Gbps Download 91.1 % Video 47.9 % Mix 85.3 %
27
Video Mix Download Download 1 Gbps Video 5 Gbps Download 68.4 % Video 53.3 % Mix 56.4 % 91.1 % 47.9 % 85.3 %
28
classes
29