Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
2 3 4 5 6Number of Colocated Apps
0
50
100
150
200
EMU
(%)
Heracles PARTIES
Best-effort
Privatecaches
Last-levelCache
Privatecaches
Privatecaches
Privatecaches
P P P P…
Latency-critical
0 50 100 150 200 250Time (s)
010203040506070
%of
Max
Load
mosesxapianmemcached
0 50 100 150 200 250Time (s)
10�1100101102103104105
Nor
m.L
aten
cyw
.Her
acle
s
0 50 100 150 200 250Time (s)
10�1100101102103
Nor
m.L
aten
cyw
.PA
RTI
ES
0 50 100 150 200 250Time (s)
02468
101214
#Cor
es
1 3 5 7 9 1113151719Cache ways
13579
1113
XXXXXXXXXXX
XXXXXXXXX
XXXXXXXXX
XXXXXXXX
XXXXXXX
XXXXXXX
XXXXXX
XXXXXX
XXXXX
XXXX
XXXX
XXXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
Xapian
Performance unpredictability from Interference in shared resources leads to QoS violations for LC applications.
Evaluation
Motivation
PARTIES: QoS-Aware Resource Partitioning for Multiple Interactive Service
ASPLOS 2019 Shuang Chen
Christina Delimitrou José F. Martínez
Colocation of Multiple LC Applications
PARTIES Design
Isolation Mechanisms
Computer Systems LaboratoryCornell University
Design principles: 1. All LC applications are equally important. 2. Allocation should be dynamic and fine-grained. 3. No a priori application knowledge or offline profiling is needed. 4. Recover quickly from incorrect decisions. 5. Migration is used as a last resort.
Platform: Intel E5-2699 v4 Benchmarks: Memcached; Xapian; NGINX; Moses; MongoDB; Sphinx
Batch
Latency-critical
Microservices
Monolith 1 LC + many BE
many LC + many BE
Challenge: all LC services have QoS targets, so none of them can be easily scarified for another.
PARTIES leverages all the existing software and hardware isolation mechanisms to partition: * Cores
* Hyperthreads * Core counts
* Power budget * Last-level cache capacity
* LLC bandwidth * Memory bandwidth
* Memory capacity * Disk bandwidth * Network bandwidth
PPrivatecaches
Last-levelCache
Privatecaches
PPrivatecaches
P…Privatecaches
P
cgroup ACPI frequency driverqdiscIntel CAT
Resource fungibility: resources can be traded with each other.
1. 5 knobs organized into two wheels based on functionality.
2. Start from a random resource. 3. Stick to one resource until no benefit. 4. Follow the wheel to visit all resources.
LatencyMonitor
Clientside
Serverside
MainFunction
Polllatencyevery100ms
QoS violations?Upsize!
Excessresources?Downsize!
2 3 4 5 6#Colocated Apps
0102030405060
Con
verg
ence
Tim
e (s
)
�ective Ma-
10 20 30 40 50 60 70 80Max Load of Xapian(%)
10
20
30
40
50
60
Max
Load
ofM
emca
ched
(%)
50
30
10
10
30
20
20 10 10Max Load of NGINX(%)
(a) Unmanaged
10 20 30 40 50 60 70 80Max Load of Xapian(%)
60
50
40
30
50
40
30
10
40
20
10
30
10
10Max Load of NGINX(%)
(b) Heracles
10 20 30 40 50 60 70 80Max Load of Xapian(%)
70
70
60
30
20
10
60
50
40
20
10
50
40
30
10
40
20
10
30
20
10
20
10
20 10Max Load of NGINX(%)
(c) PARTIES
10 20 30 40 50 60 70 80Max Load of Xapian(%)
80
70
60
40
20
10
70
50
40
30
10
50
40
30
20
40
30
20
30
20
10
30
10
20 10Max Load of NGINX(%)
20
40
60
80
100
(d) Oracle