It has been a long time that computer architecture and systems are optimized to enable efficient execution of machine learning (ML) algorithms or 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: the improvement of designers' productivity, and the completion of the virtuous cycle. In this paper, we present a comprehensive review of work that applies ML for system design, which can be grouped into two major categories, ML-based modelling that involves predictions of performance metrics or some other criteria of interest, and ML-based design methodology that directly leverages ML as the design tool. For ML-based modelling, we discuss existing studies based on their target level of system, ranging from the circuit level to the architecture/system level. For ML-based design methodology, we follow a bottom-up path to review current work, with a scope of (micro-)architecture design (memory, branch prediction, NoC), coordination between architecture/system and workload (resource allocation and management, data center management, and security), compiler, and 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.
翻译:计算机架构和系统得到优化,以便有效地实施机器学习(ML)算法或模型,这是一个漫长的时期。现在,是时候重新考虑ML和系统之间的关系了,让ML改造计算机架构和系统的设计方式了。这包含双重含义:提高设计师的生产率和完成良性循环。在本文件中,我们对应用ML进行系统设计的工作进行了全面审查,可将其分为两大类:基于ML的模型,其中包括预测性能衡量标准或其他感兴趣的标准,以及基于ML的设计方法,直接利用ML作为设计工具。对于基于ML的模型,我们讨论基于其系统目标水平的现有研究,从电路水平到结构/系统水平。对于基于ML的设计方法,我们遵循自下而上的方法来审查当前的工作,其范围是(微)结构设计(模拟、分支预测、NoC)、架构/系统与工作量之间的协调(资源分配和管理、数据中心管理、安全管理、以及未来愿景系统的发展方向,我们为社区设计提供未来发展机会。