210 likes | 358 Views
A Case for Coordinating Accuracy-aware Applications with Power-aware Systems. Henry Hoffmann hankhoffmann@cs.uchicago.edu. Balancing Goals With Programmability. Performance. Programmability. Lo. Hi. Power. Balancing Goals With Programmability. Power. Programmability. Performance. Lo.
E N D
A Case for Coordinating Accuracy-aware Applications with Power-aware Systems Henry Hoffmann hankhoffmann@cs.uchicago.edu
Balancing Goals With Programmability Performance Programmability
Lo Hi Power Balancing Goals With Programmability Power Programmability Performance
Lo Hi Power Balancing Goals With Programmability Accuracy Programmability Power Performance
Partial Solutions Accuracy-aware Applications (e.g. DynamicKnobs, Quality-of-Service Profiling, EnerJ, Petabricks, Eon, Green) Power-aware Systems (e.g. Maybe too many to list PTRADE, METE, ControlWare, Agilos, Swift) Performance Performance Accuracy Power Each is provably optimal individually. What happens when they interact? What guarantees can we provide?
Why Coordinate the Two? • Avoid bad behavior • Provide better outcomes than accuracy adaptation alone • Add new capability to react to environmental changes
Why Does Bad Behavior Arise? x264 Video Encoder Power (W) Accuracy Loss (%) Configuration Power Accuracy Loss Power-aware system prefers saving power, at high accuracy loss Accuracy-aware application prefers perfect accuracy, at high power
Example Of Bad Behavior • Run x264 (video encoder) on real Linux x86 system with • Problem is performance becomes a non-linear (and non-convex) function of application and system
Why Run Both? Combining accuracy- and power-awareness leads to: Better energy efficiency for same accuracy or Better accuracy for same energy efficiency
How Can We Solve This Problem?[ECRTS 2014] Power Controller Power Translator gp(t) up(t) kp(t) ep(t) Application & System - • Split into multiple dimensions: lead and subordinate • Control lead • Dynamically construct controller for subordinate • Subordinate controller approximates linearity Performance Controller Performance Translator gs(t) es(t) us((t) - ks(t) fs(t) fp(t)
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
Reacting to Changing Goals Real-time, Low-power Real-time, High Accuracy
Support Goals and Goal Changes in Any Two of Three Dimensions
Conclusions • Coordination of adaptive applications and systems is necessary • Possible with cascading control systems • Cascading control: • Avoids bad behavior • Provides better outcomes • Provides greater responsiveness to fluctuations in workload and changes in goals Observe Act Decide
Questions? Observe Act Decide
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
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
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)
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