A Survey of Machine Learning for Computer Architecture and Systems
arXiv:2102.07952 · doi:10.1145/3494523
Abstract
It has been a long time that computer architecture and systems are optimized for efficient execution of machine learning (ML) models. Now, it is time to reconsider the relationship between ML and systems, and let ML transform the way that computer architecture and systems are designed. This embraces a twofold meaning: improvement of designers' productivity, and completion of the virtuous cycle. In this paper, we present a comprehensive review of the work that applies ML for computer architecture and system design. First, we perform a high-level taxonomy by considering the typical role that ML techniques take in architecture/system design, i.e., either for fast predictive modeling or as the design methodology. Then, we summarize the common problems in computer architecture/system design that can be solved by ML techniques, and the typical ML techniques employed to resolve each of them. In addition to emphasis on computer architecture in a narrow sense, we adopt the concept that data centers can be recognized as warehouse-scale computers; sketchy discussions are provided in adjacent computer systems, such as code generation and compiler; we also give attention to how ML techniques can aid and transform design automation. We further provide a future vision of opportunities and potential directions, and envision that applying ML for computer architecture and systems would thrive in the community.
References in corpus (33)
- Very Deep Convolutional Networks for Large-Scale Image Recognition
- Sequence to Sequence Learning with Neural Networks
- A Comprehensive Survey on Graph Neural Networks
- Continuous control with deep reinforcement learning
- Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks
- Playing Atari with Deep Reinforcement Learning
- Learning agile and dynamic motor skills for legged robots
- Dota 2 with Large Scale Deep Reinforcement Learning
- Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation
- On First-Order Meta-Learning Algorithms
- GCN-RL Circuit Designer: Transferable Transistor Sizing with Graph Neural Networks and Reinforcement Learning
- Device Placement Optimization with Reinforcement Learning
- Predicting Organic Reaction Outcomes with Weisfeiler-Lehman Network
- Meta-Learning: A Survey
- Chip Placement with Deep Reinforcement Learning
- Learning Memory Access Patterns
- Learning-based Application-Agnostic 3D NoC Design for Heterogeneous Manycore Systems
- Unsupervised Translation of Programming Languages
- IronMan: GNN-assisted Design Space Exploration in High-Level Synthesis via Reinforcement Learning
- HL-Pow: A Learning-Based Power Modeling Framework for High-Level Synthesis
- goSLP: Globally Optimized Superword Level Parallelism Framework
- GDP: Generalized Device Placement for Dataflow Graphs
- Reinforcement Learning and Adaptive Sampling for Optimized DNN Compilation
- Improving Branch Prediction By Modeling Global History with Convolutional Neural Networks
- Apollo: Transferable Architecture Exploration
- Data Cache Prefetching with Perceptron Learning
- Optimizing Routerless Network-on-Chip Designs: An Innovative Learning-Based Framework
- A Static Analysis-based Cross-Architecture Performance Prediction Using Machine Learning
- Phoebe: Reuse-Aware Online Caching with Reinforcement Learning for Emerging Storage Models
- MetaTune: Meta-Learning Based Cost Model for Fast and Efficient Auto-tuning Frameworks
- Optimizing Memory Placement using Evolutionary Graph Reinforcement Learning
- Learning Execution through Neural Code Fusion
- A Case Study: Exploiting Neural Machine Translation to Translate CUDA to OpenCL