Department of Computer Science A Case for Coordinating









![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](https://slidetodoc.com/presentation_image_h2/f6ab4fca578f6c7c9fec6e2bda6308bd/image-10.jpg)











- Slides: 21
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 Power Lo Hi Programmability Power Performance 3
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. 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 adaptation alone • Add new capability to react to environmental changes 6
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 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 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 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
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 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
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
Backup 17
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 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) • 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 lead • Also, control should be optimal in any remaining dimensions • Intuition: – Use subordinate actions that do not affect lead 21