Sonic: A Sampling-based Online Controller for Streaming Applications

Many applications in important problem domains such as machine learning and computer vision are streaming applications that take a sequence of inputs over time. It is challenging to find knob settings that optimize the run-time performance of such applications because the optimal knob settings are usually functions of inputs, computing platforms, time as well as user’s requirements, which can be very diverse. Most prior works address this problem by offline profiling followed by training models for control. However, profiling-based approaches incur large overhead before execution; it is also difficult to redeploy them in other run-time configurations. In this paper, we propose Sonic, a sampling-based online controller for streaming applications that does not require profiling ahead of time. Within each phase of a streaming application’s execution, Sonic utilizes the beginning portion to sample the knob space strategically and aims to pick the optimal knob setting for the rest of the phase, given a user-specified constrained optimization problem. A hybrid approach of machine learning regressors and Bayesian optimization are used for better sampling choices. Sonic is implemented independent of application, device, input, performance objective and constraints. We evaluate Sonic on traditional parallel benchmarks as well as on deep learning inference benchmarks across multiple platforms. Our experiments show that when using Sonic to control knob settings, application run-time performance is only 5.3% less than if optimal knob settings were used, demonstrating that Sonic is able to find near-optimal knob settings under diverse run-time configurations without prior knowledge.

[1]  Swarnendu Biswas,et al.  Capri: A Control System for Approximate Programs , 2017, ArXiv.

[2]  Carole-Jean Wu,et al.  MLPerf: An Industry Standard Benchmark Suite for Machine Learning Performance , 2020, IEEE Micro.

[3]  Kirthevasan Kandasamy,et al.  Neural Architecture Search with Bayesian Optimisation and Optimal Transport , 2018, NeurIPS.

[4]  Mark Sandler,et al.  MobileNetV2: Inverted Residuals and Linear Bottlenecks , 2018, 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.

[5]  Ion Stoica,et al.  NeuroVectorizer: end-to-end vectorization with deep reinforcement learning , 2020, CGO.

[6]  Una-May O'Reilly,et al.  Siblingrivalry: online autotuning through local competitions , 2012, CASES '12.

[7]  Guy Lebanon,et al.  Linear Regression , 2010 .

[8]  Xiaorui Wang,et al.  Cache-Aware Utilization Control for Energy Efficiency in Multi-Core Real-Time Systems , 2011, 2011 23rd Euromicro Conference on Real-Time Systems.

[9]  Sverre J. Aarseth Gravitational N-Body Simulations: Tools and Algorithms , 2003 .

[10]  Cheng Li,et al.  Rapid Bayesian optimisation for synthesis of short polymer fiber materials , 2017, Scientific Reports.

[11]  Scott A. Mahlke,et al.  Rumba: An online quality management system for approximate computing , 2015, 2015 ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA).

[12]  Kai Ma,et al.  Scalable power control for many-core architectures running multi-threaded applications , 2011, 2011 38th Annual International Symposium on Computer Architecture (ISCA).

[13]  M. V. D. Panne,et al.  Sampling-based contact-rich motion control , 2010, ACM Trans. Graph..

[14]  Jan Peters,et al.  Bayesian optimization for learning gaits under uncertainty , 2015, Annals of Mathematics and Artificial Intelligence.

[15]  Aaron Klein,et al.  Auto-sklearn: Efficient and Robust Automated Machine Learning , 2019, Automated Machine Learning.

[16]  Henry Hoffmann,et al.  A Probabilistic Graphical Model-based Approach for Minimizing Energy Under Performance Constraints , 2015, ASPLOS.

[17]  Jasper Snoek,et al.  Bayesian Optimization with Unknown Constraints , 2014, UAI.

[18]  Jon C. Helton,et al.  Latin Hypercube Sampling and the Propagation of Uncertainty in Analyses of Complex Systems , 2002 .

[19]  William S. Levine,et al.  The Control Handbook , 2010 .

[20]  Peter Rossmanith,et al.  Simulated Annealing , 2008, Taschenbuch der Algorithmen.

[21]  Jasper Snoek,et al.  Practical Bayesian Optimization of Machine Learning Algorithms , 2012, NIPS.

[22]  David A. Bader,et al.  Graph Partitioning and Graph Clustering , 2013 .

[23]  Il-Chul Moon,et al.  Black-box Modeling for Aircraft Maneuver Control with Bayesian Optimization , 2019, International Journal of Control, Automation and Systems.

[24]  Swarnendu Biswas,et al.  A Methodology for Principled Approximation in Visual SLAM , 2020, PACT.

[25]  Frank Hutter,et al.  Neural Architecture Search: A Survey , 2018, J. Mach. Learn. Res..

[26]  Carl E. Rasmussen,et al.  In Advances in Neural Information Processing Systems , 2011 .

[27]  Christine A. Shoemaker,et al.  Flicker: a dynamically adaptive architecture for power limited multicore systems , 2013, ISCA.

[28]  Kai Li,et al.  The PARSEC benchmark suite: Characterization and architectural implications , 2008, 2008 International Conference on Parallel Architectures and Compilation Techniques (PACT).

[29]  Jian Sun,et al.  Deep Residual Learning for Image Recognition , 2015, 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).

[30]  Mark Pullin,et al.  Emulation of physical processes with Emukit , 2021, ArXiv.

[31]  Yuan Yu,et al.  TensorFlow: A system for large-scale machine learning , 2016, OSDI.

[32]  Robert P. Sheridan,et al.  Random Forest: A Classification and Regression Tool for Compound Classification and QSAR Modeling , 2003, J. Chem. Inf. Comput. Sci..

[33]  Woongki Baek,et al.  Green: a framework for supporting energy-conscious programming using controlled approximation , 2010, PLDI '10.

[34]  Nando de Freitas,et al.  Taking the Human Out of the Loop: A Review of Bayesian Optimization , 2016, Proceedings of the IEEE.

[35]  Keshav Pingali,et al.  Proactive Control of Approximate Programs , 2016, ASPLOS.

[36]  Thomas Bäck,et al.  Evolutionary algorithms in theory and practice - evolution strategies, evolutionary programming, genetic algorithms , 1996 .

[37]  Axel Jantsch,et al.  SPECTR: Formal Supervisory Control and Coordination for Many-core Systems Resource Management , 2018, ASPLOS.

[38]  Jian Li,et al.  Dynamic power-performance adaptation of parallel computation on chip multiprocessors , 2006, The Twelfth International Symposium on High-Performance Computer Architecture, 2006..

[39]  Bo Chen,et al.  MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications , 2017, ArXiv.

[40]  Sebastian Curi,et al.  Safe Contextual Bayesian Optimization for Sustainable Room Temperature PID Control Tuning , 2019, IJCAI.

[41]  Ada Gavrilovska,et al.  Compiler-Guided Throughput Scheduling for Many-core Machines , 2021, ArXiv.

[42]  Henry Hoffmann,et al.  POET: a portable approach to minimizing energy under soft real-time constraints , 2015, 21st IEEE Real-Time and Embedded Technology and Applications Symposium.

[43]  Dieter Schwarzmann,et al.  Data-Efficient Autotuning With Bayesian Optimization: An Industrial Control Study , 2018, IEEE Transactions on Control Systems Technology.

[44]  Gurindar S. Sohi,et al.  Holistic run-time parallelism management for time and energy efficiency , 2013, ICS '13.

[45]  Yi Ding,et al.  Generative and Multi-phase Learning for Computer Systems Optimization , 2019, 2019 ACM/IEEE 46th Annual International Symposium on Computer Architecture (ISCA).

[46]  D. Goldberg,et al.  BOA: the Bayesian optimization algorithm , 1999 .

[47]  Amin Ansari,et al.  Using Multiple Input, Multiple Output Formal Control to Maximize Resource Efficiency in Architectures , 2016, 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA).

[48]  Peter I. Frazier,et al.  A Tutorial on Bayesian Optimization , 2018, ArXiv.

[49]  J. Friedman Stochastic gradient boosting , 2002 .

[50]  Jos'e Miguel Hern'andez-Lobato,et al.  Constrained Bayesian Optimization for Automatic Chemical Design , 2017 .

[51]  Prabhat,et al.  Scalable Bayesian Optimization Using Deep Neural Networks , 2015, ICML.

[52]  Gürhan Küçük,et al.  Reducing power requirements of instruction scheduling through dynamic allocation of multiple datapath resources , 2001, MICRO.

[53]  Christopher G. Atkeson,et al.  Deep Kernels for Optimizing Locomotion Controllers , 2017, CoRL.

[54]  J. Monaghan Smoothed particle hydrodynamics , 2005 .

[55]  Lydia E. Kavraki,et al.  Sampling-Based Methods for Motion Planning with Constraints , 2018, Annu. Rev. Control. Robotics Auton. Syst..

[56]  Emilio Frazzoli,et al.  Sampling-based algorithms for optimal motion planning , 2011, Int. J. Robotics Res..

[57]  Swarnendu Biswas,et al.  SLAMBooster: An Application-Aware Online Controller for Approximation in Dense SLAM , 2019, 2019 28th International Conference on Parallel Architectures and Compilation Techniques (PACT).

[58]  Huawei Li,et al.  Performance Portability Across Heterogeneous SoCs Using a Generalized Library-Based Approach , 2014, TACO.

[59]  Henry Hoffmann,et al.  JouleGuard: energy guarantees for approximate applications , 2015, SOSP.

[60]  Henry Hoffmann,et al.  CALOREE: Learning Control for Predictable Latency and Low Energy , 2018, ASPLOS.