Gloss Seamless Live Reconfiguration and Reoptimization of Stream

  • Slides: 38
Download presentation
Gloss: Seamless Live Reconfiguration and Reoptimization of Stream Programs SUMANARUBAN RAJADURAI*, JEFFREY BOSBOOMʄ, WENG-FAI

Gloss: Seamless Live Reconfiguration and Reoptimization of Stream Programs SUMANARUBAN RAJADURAI*, JEFFREY BOSBOOMʄ, WENG-FAI WONG*, SAMAN AMARASINGHEʄ *NATIONAL UNIVERSITY OF SINGAPORE 26 -MARCH-2018 @ASPLOS’ 18 ʄMIT CSAIL

Characteristics of Stream Programs • Long running programs • Require high performance • Require

Characteristics of Stream Programs • Long running programs • Require high performance • Require high quality-of-service

Programs on Modern Hardware Environments (Datacenters/Clouds) 1. Highly Dynamic Environments a. Hardware Maintenance b.

Programs on Modern Hardware Environments (Datacenters/Clouds) 1. Highly Dynamic Environments a. Hardware Maintenance b. Resource fluctuations c. Failtures 1. Reconfiguration 2. Migration

Programs on Modern Hardware Environments (Datacenters/Clouds) Unacceptable downtime/service interruption Sub-optimal program

Programs on Modern Hardware Environments (Datacenters/Clouds) Unacceptable downtime/service interruption Sub-optimal program

Programs on Modern Hardware Environments (Datacenters/Clouds) • Synchronous Data Flow (SDF) based stream programs

Programs on Modern Hardware Environments (Datacenters/Clouds) • Synchronous Data Flow (SDF) based stream programs do not take advantage of elastic cloud • They are still confined into specialized hardware • Longer development time • Close to any modification or changes • Expensive Gloss solves these issues

Our Approach • Seamless Live Reconfiguration • Cluster-wide Dynamic recompilation Implemented on Stream. JIT

Our Approach • Seamless Live Reconfiguration • Cluster-wide Dynamic recompilation Implemented on Stream. JIT ◦ Distributed compiler and runtime system for high-performance stream processing

Stream Graph • Actors • Channels

Stream Graph • Actors • Channels

Stream Graph • Static pop, push rates Pop-3, Push-1

Stream Graph • Static pop, push rates Pop-3, Push-1

Stream Graph • Static pop, push rates

Stream Graph • Static pop, push rates

Stream Graph • Peeking

Stream Graph • Peeking

Stream Graph • Stateful actors Var a, b, c;

Stream Graph • Stateful actors Var a, b, c;

Stream. JIT’s Execution Model Controller Node-1 Node-2

Stream. JIT’s Execution Model Controller Node-1 Node-2

Program Life Cycle Initialization Steady State Draining

Program Life Cycle Initialization Steady State Draining

Reconfiguratio n n n-1 n-2 n+3 n+2 n+1

Reconfiguratio n n n-1 n-2 n+3 n+2 n+1

Reconfiguratio n Internal buffers and Worker states n n-1 n-2 n+3 n+2 n+1

Reconfiguratio n Internal buffers and Worker states n n-1 n-2 n+3 n+2 n+1

State Dependency • Deterministically persisting and transferring the program state • State is continuously

State Dependency • Deterministically persisting and transferring the program state • State is continuously changing • State is distributed

e 2 e 1 h Ins tanc Grap Drai n Com ing pilat ion

e 2 e 1 h Ins tanc Grap Drai n Com ing pilat ion Initia lizat ion h Ins tanc Grap Stop-and-Copy Reconfiguration

nce 2 Insta Grap h Drai ning Com pilat ion Initia lizat ion Grap

nce 2 Insta Grap h Drai ning Com pilat ion Initia lizat ion Grap h Insta nce 1 Compilation time Downtime • Challenge 1 : Hide the recompilation time as much as possible

Two-phase recompilation Phase-1 ◦ Compile all the time-consuming compiler operations, generating an intermediate output

Two-phase recompilation Phase-1 ◦ Compile all the time-consuming compiler operations, generating an intermediate output where state is not incorporated Phase-2 ◦ Installs the program state and generates state-incorporated output

nce 1 Insta Downtime Visible recompilation time Grap h nce 2 Insta Pha se-1

nce 1 Insta Downtime Visible recompilation time Grap h nce 2 Insta Pha se-1 Drai ning Pha se-2 Initia lizat ion Grap h Two-phase recompilation

nce 1 Insta Downtime Grap h nce 2 Insta Pha se-1 Drai ning Pha

nce 1 Insta Downtime Grap h nce 2 Insta Pha se-1 Drai ning Pha se-2 Initia lizat ion Grap h Goal

Challenges • Hiding draining and initialization time • Deterministically persisting and transferring the program

Challenges • Hiding draining and initialization time • Deterministically persisting and transferring the program state • State is continuously changing • State is distributed

Techniques • Input duplication and concurrent execution • Asynchronous state transfer (AST)

Techniques • Input duplication and concurrent execution • Asynchronous state transfer (AST)

Controller

Controller

n+1 n Current Input Controller

n+1 n Current Input Controller

n+1 Controller

n+1 Controller

n+1 Controller

n+1 Controller

Controller

Controller

Controller

Controller

Controller

Controller

Controller

Controller

Controller

Controller

Final Time Breakdown AST Phase-1 Graph Instance 1 Phase-2 Initialization Graph Instance 2 Draining

Final Time Breakdown AST Phase-1 Graph Instance 1 Phase-2 Initialization Graph Instance 2 Draining Concurrent Execution

v. Motion vs. Gloss Beamformer

v. Motion vs. Gloss Beamformer

Elastic Computing FM Radio on Amazon EC 2

Elastic Computing FM Radio on Amazon EC 2

Elastic Computing n No of Nodes 6 5 4 2 FM Radio on Amazon

Elastic Computing n No of Nodes 6 5 4 2 FM Radio on Amazon EC 2 5 4 No down time

Conclusion • Live reconfiguration is a practical necessity for long-running programs • Gloss for

Conclusion • Live reconfiguration is a practical necessity for long-running programs • Gloss for the first time • Downtime Free Reconfiguration • Cluster-wide Dynamic Recompilation • SDF programs can now take advantage of the elastic cloud • Cloud Radio Access Network (C-RAN) – 5 G • Gloss enables commoditization and virtualization of large and complex SDF-based stream programs

Thank You!

Thank You!