Aim and Overview
The aim of this tutorial is to inspire computer architecture researchers about the ideas of combining control theory and machine learning to design efficient computer systems.
Computer architecture is in an exciting state --- hardware is heterogeneous, reconfigurable, and distributed, and the space of applications is rapidly expanding. A major challenge is how to control and reconfigure these complex systems so that they operate in the most efficient mode. Many of the current control techniques are based on heuristics. While heuristics are simple to implement, they do not generalize and there are many examples of heuristics that work well on one system producing bad results on new systems. Fortunately, Machine Learning and Control Theory are two principled tools for architects to address the challenge of dynamically configuring complex systems for efficient operation. These techniques have the potential to provide more general and portable solutions for system management. However, there is limited knowledge within the computer architecture community regarding how control theory can help and how it can be combined with machine learning.
What can audience expect to learn?
This tutorial will familiarize architects with control theory and its combination with machine learning, so that architects can easily build computers based on these ideas. Our tutorial will present important techniques from machine learning and control theory, their systems-level abstractions, and their architectural intuitions.
Tentative schedule
-
- –
-
- Intelligent control of computers: Industry perspective [Slides]
- Challenges faced by system designers
- Expectations from architecture research
-
- –
-
- Building better computer systems using control theory [Slides]
- Why should architects care about control theory?
- Design choices available from formal control
- Using formal controllers for security and optimization
- LIVE: Designing a formal controller - scripts, tips and more
- Contrasting with heuristic system design
- Summary, challenges and limitations
-
- –
-
- Machine learning for computer systems [Slides]
- Architectural motivation for machine learning
- Examples of improving systems with learning
- Core ideas of learning for architecture
- Case study for power-performance estimation
- Caveats and Pitfalls
- Summary, challenges and limitations
-
- –
- Short break
-
- –
-
- Combining machine learning and control theory for computers [Slides]
- Review of pros and cons
- Which approach fits the different problems that architects solve?
- How to combine machine learning and control theory - future directions
- Case studies of combination designs
-
- –
- Panel
Relevant papers
- CALOREE: Learning Control for Predictable Latency and Low Energy
- Yukta: Multilayer Resource Controllers to Maximize Efficiency
- Tangram: Integrated Control of Heterogeneous Computers
- Using Multiple Input, Multiple Output Formal Control to Maximize Resource Efficiency in Architectures
- Multicore thermal management with model predictive control
- Temperature control of high-performance multi-core platforms using convex optimization
- Thermal and Energy Management of High-Performance Multicores: Distributed and Self-Calibrating Model-Predictive Controller