2019 Asplos Parties Slides
2019 Asplos Parties Slides
Cornell University
COLOCATION OF APPLICATIONS
Best- Latency
effort -critical
P P … P P
Private Private Private Private
caches caches caches caches
Last-level Cache
Latency
-critical
many LC + many BE
All have QoS targets More LC jobs
Microservices
Motivation• Characterization• PARTIES• Evaluation • Conclusions
Page 3 of 15
MAIN CONTRIBUTIONS
§ Workload characterization
• The impact of resource sharing
• The effectiveness of resource isolation
• Relationship between different resources
Max load: max RPS under QoS target when running alone
0% 100%
Extremely sensitive % of max load under QoS target Not sensitive at all
§ Design principles
• LC apps are equally important
• Allocation should be dynamic and fine-grained
• No a priori application knowledge or offline profiling
• Recover quickly from incorrect decisions
• Migration is used as a last resort
Excess resources?
App 1 C
20% Downsize!
C
C No Benefit M
$ 0 time C No Benefit M
App 2 C
$ Compute Storage
Storage
Upsizing AppApp
DownsizingC
1…2…
$ Compute F
No Benefit
Server
D side
$ F M
D
F No Benefit
F$ No Benefit
Motivation•Compute Storage
Characterization• PARTIES• Evaluation • Conclusions
$ F D Page 11 of 15
METHODOLOGY
§ Platform: Intel E5-2699 v4
• Single socket with 22 cores (8 IRQ cores)
§ Virtualization
• LXC 2.0.7
§ Load generators
• Open loop
• Request inter-arrival distribution: exponential
• Request popularity: Zipfian
§ Testing strategy
• Constant load: 30s warmup, 1m measurement (x5)
• Varying load simulates diurnal load patterns
Motivation• Characterization• PARTIES• Evaluation • Conclusions
Page 12 of 15
CONSTANT LOADS: MEMCACHED, XAPIAN & NGINX
Oracle Unmanaged Oracle
- Offline profiling 20 30 20 70 50 40 30 20 10
80
30 10 60 40 30 20 10 60
- Always finds the 40 10 40 30 20 40
global optimum 50 20 10
20
60 10
10 20 30 40 50 60 70 80 10 20 30 40 50 60 70 80
Max Load of Xapian(%) Max Load of Xapian(%)
Heracles
Heracles PARTIES
- No partitioning
Max Load of Memcached(%)
100
between BE jobs 20 50 40 20 10 70 50 40 20 20 10
80
30 40 30 10 60 40 30 10 10 60
- Suspend BE upon 40 30 10 30 20 10 40
QoS violation 50 20 10
20
60 10
- No interaction 10 20 30 40 50 60 70 80 10 20 30 40 50 60 70 80
between resources
Max Load of Xapian(%) Max Load of Xapian(%)
PARTIES overhead
§ Convergence time for 2- to 6-app mixes