230 likes | 303 Views
A framework supporting energy-conscious programming by balancing QoS, performance, and energy consumption. Providing QoS guarantees through language extension and approximation mechanisms for efficiency. Detailed design, implementation, benchmarks, and results discussed. Advantages include improved efficiency and design flexibility, while limitations include scope and complexity.
E N D
Green: A Framework for Supporting Energy-Conscious Programming using Controlled Approximation WoongkiBaekStanford University Trishul M. ChilimbiMicrosoft Research PLDI 2010
General Problem • Tradeoff between Quality of Service (QoS) and Performance + Energy Consumption • Why is it critical? • Datacenters: Amazon, Google, Microsoft • Existence of acceptable domains: Machine Learning, Image/Video Processing • Programmers do this anyway, but in an ad-hoc manner and no QoS guarantees • Green Framework was built to address these issues
Green Framework Overview • Static and dynamic calibration • QoS Model • Language Extension
Functionality • Input provided by programmer: • QoS loss (maximum acceptable) i.e. 2% • QoS computation function through language extension • Optionally: • approximate version(s) of a function or a loop • calibration mechanism • Output by Green system: • New version of a program that is tuned to be more efficient (both performance and power) • QoS guarantees to be in the acceptable range • Dynamic re-calibration (adaptation) if needed at run-time
Overview • General Problem and Functionality • System Design • Green Implementation • Benchmarks • Evaluation • Discussion
Green Framework Design • QoS Service Level Agreement (SLA) • QoS_Compute • QoS_Approx and QoS-ReCalibrate
Loop Approximation To be replaced
QoS_Compute Used in the Calibration Phase
QoS Model for Loops • Calibration data goes to MATLAB program • Automatically selects appropriate approximation level • Provides 2 interfaces:
Approximation Modeling • For each function and loop individually • Then extensive search space exploration to combine them and still fulfill QoS SLA • Global recalibration based on QoS_Loss/Performance_Gain • Exponential backoff scheme to avoid non-linear effects if any
Experiments Benchmarks: • Bing Search • Graphics: 252.eon (SPEC2000) • Machine Learning: Cluster GA • Signal Processing: Discrete Fourier Transform • Finance: Blackscholes (PARSEC)
Discussion Advantages: • Performance and power efficiency improvements • Design flexibility • Automatic QoS modeling • Fine granularity: function and loop based
Discussion Disadvantages: • Limited scope of application: sin, cos, log, exp • Complexity for programmer: QoS_Compute, approx_loop extensions • Semi-automatical • Limited QoS approach • Only numerical data as input, no structures in QoSmodelling