1
2 3 4 5 6 Number of Colocated Apps 0 50 100 150 200 EMU (%) Heracles PARTIES Best- effort Private caches Last-level Cache Private caches Private caches Private caches P P P P Latency -critical 0 50 100 150 200 250 Time (s) 0 10 20 30 40 50 60 70 % of Max Load moses xapian memcached 0 50 100 150 200 250 Time (s) 10 -1 10 0 10 1 10 2 10 3 10 4 10 5 Norm. Latency w. Heracles 0 50 100 150 200 250 Time (s) 10 -1 10 0 10 1 10 2 10 3 Norm. Latency w. PARTIES 0 50 100 150 200 250 Time (s) 0 2 4 6 8 10 12 14 #Cores 1 3 5 7 9 11 13 15 17 19 Cache ways 1 3 5 7 9 11 13 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X 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 Laboratory Cornell 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 P Private caches Last-level Cache Private caches P Private caches P Private caches P cgroup ACPI frequency driver qdisc Intel 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. Latency Monitor Client side Server side Main Function Poll latency every 100ms QoS violations? Upsize! Excess resources? Downsize! 2 3 4 5 6 #Colocated Apps 0 10 20 30 40 50 60 Convergence Time (s) 10 20 30 40 50 60 70 80 Max Load of Xapian(%) 10 20 30 40 50 60 Max Load of Memcached(%) 50 30 10 10 30 20 20 10 10 Max Load of NGINX(%) (a) Unmanaged 10 20 30 40 50 60 70 80 Max Load of Xapian(%) 60 50 40 30 50 40 30 10 40 20 10 30 10 10 Max Load of NGINX(%) (b) Heracles 10 20 30 40 50 60 70 80 Max 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 10 Max Load of NGINX(%) (c) PARTIES 10 20 30 40 50 60 70 80 Max 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 10 Max Load of NGINX(%) 20 40 60 80 100 (d) Oracle

PARTIES: QoS-Aware Resource Partitioning for Multiple ... · Max 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 10 Max Load of NGINX(%)

  • 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