Department of Computer Science A Case for Coordinating

  • Slides: 21
Download presentation
Department of Computer Science A Case for Coordinating Accuracy-aware Applications with Power-aware Systems Henry

Department of Computer Science A Case for Coordinating Accuracy-aware Applications with Power-aware Systems Henry Hoffmann hankhoffmann@cs. uchicago. edu

Balancing Goals With Programmability Performance Programmability 2

Balancing Goals With Programmability Performance Programmability 2

Balancing Goals With Programmability Power Lo Hi Programmability Power Performance 3

Balancing Goals With Programmability Power Lo Hi Programmability Power Performance 3

Balancing Goals With Programmability Accuracy Programmability Power Lo Hi Power Performance 4

Balancing Goals With Programmability Accuracy Programmability Power Lo Hi Power Performance 4

Partial Solutions Power-aware Systems (e. g. Maybe too many to list PTRADE, METE, Control.

Partial Solutions Power-aware Systems (e. g. Maybe too many to list PTRADE, METE, Control. Ware, Agilos, Swift) Performance Accuracy-aware Applications (e. g. Dynamic. Knobs, Quality-of-Service Profiling, Ener. J, Petabricks, Eon, Green) Accuracy Power Each is provably optimal individually. What happens when they interact? What guarantees can we provide? 5

Why Coordinate the Two? • Avoid bad behavior • Provide better outcomes than accuracy

Why Coordinate the Two? • Avoid bad behavior • Provide better outcomes than accuracy adaptation alone • Add new capability to react to environmental changes 6

Why Does Bad Behavior Arise? Power (W) Accuracy Loss (%) x 264 Video Encoder

Why Does Bad Behavior Arise? Power (W) Accuracy Loss (%) x 264 Video Encoder Configuration Power Accuracy Loss Power-aware system prefers saving power, at high accuracy loss Accuracy-aware application prefers perfect accuracy, at high power 7

Example Of Bad Behavior • Run x 264 (video encoder) on real Linux x

Example Of Bad Behavior • Run x 264 (video encoder) on real Linux x 86 system with • Problem is performance becomes a non-linear (and nonconvex) function of application and system 8

Why Run Both? Combining accuracy- and power-awareness leads to: 1) Better energy efficiency for

Why Run Both? Combining accuracy- and power-awareness leads to: 1) Better energy efficiency for same accuracy or 2) Better accuracy for same energy efficiency 9

How Can We Solve This Problem? [ECRTS 2014] gp(t) gs(t) - ep(t) Power Controller

How Can We Solve This Problem? [ECRTS 2014] gp(t) gs(t) - ep(t) Power Controller up(t) Power Translator kp(t) Application & System - es(t) Performance Controller us((t) Performance Translator ks(t) fp(t) • • Split into multiple dimensions: lead and subordinate Control lead Dynamically construct controller for subordinate Subordinate controller approximates linearity 10

Avoids Bad Behavior 11

Avoids Bad Behavior 11

Reacts to Application Resource Needs • Video with three distinct scenes • Coordination reacts

Reacts to Application Resource Needs • Video with three distinct scenes • Coordination reacts to phases while: – Maintaining real-time performance – Reducing power consumption – Providing higher accuracy 12

Reacting to Changing Goals Real-time, Low-power Normalized Performance 2 Real-time, High Accuracy 1, 5

Reacting to Changing Goals Real-time, Low-power Normalized Performance 2 Real-time, High Accuracy 1, 5 1 0, 5 Normalized Power 0 4 3 2 1 0 Accuracy Loss 4 0 50 100 150 200 250 2 0 150 200 250 13

Support Goals and Goal Changes in Any Two of Three Dimensions 14

Support Goals and Goal Changes in Any Two of Three Dimensions 14

Conclusions • Coordination of adaptive applications and systems is necessary • Possible with cascading

Conclusions • Coordination of adaptive applications and systems is necessary • Possible with cascading control systems Observe Act • Cascading control: – Avoids bad behavior – Provides better outcomes – Provides greater responsiveness to fluctuations in workload and changes in goals Decide 15

Questions? Observe Act Decide 16

Questions? Observe Act Decide 16

Backup 17

Backup 17

Selecting the lead dimension • The lead dimension becomes the one with fewer “knobs”

Selecting the lead dimension • The lead dimension becomes the one with fewer “knobs” (options) • The subordinate dimension has more options • Intuition: – After controlling lead, there will still be knobs affecting subordinate 18

Controlling the Lead Dimension • • 5 -7 compute a control action 8 -19

Controlling the Lead Dimension • • 5 -7 compute a control action 8 -19 ensure that: – Goal met in lead dimension – Affects on subordinate dimension are optimal • Intuition: – Anything we do in the lead should have smallest affect on subordinate 19

Constructing a Subordinate Controller • Approximate affect of lead dimension on subordinate (20) •

Constructing a Subordinate Controller • Approximate affect of lead dimension on subordinate (20) • Construct controller based on this approximation (21) • Intuition: – Approximate non-linear interaction by constructing tangent to true curve – Converges to true behavior (analogous to derivative in calculus) 20

Controlling the Subordinate Dimension • 22 -33 ensure control for subordinate does not affect

Controlling the Subordinate Dimension • 22 -33 ensure control for subordinate does not affect lead • Also, control should be optimal in any remaining dimensions • Intuition: – Use subordinate actions that do not affect lead 21