ArchGym: An Open-Source Gymnasium for Machine Learning Assisted Architecture Design
Computer architecture research has a long history of developing simulators and tools to evaluate and shape the design of computer systems. These resources have played a significant role in advancing the field. However, with the rise of machine learning (ML) optimization, there are new challenges that need to be addressed.
In our research, we introduced ArchGym, an open-source framework that includes a variety of computer architecture simulators and ML algorithms. With ArchGym, researchers can find the optimal set of architecture design parameters for different problems. Our results show that no single solution is necessarily better than another, and the choice of hyperparameters for ML algorithms is crucial.
ML-assisted architecture research poses several challenges, including the lack of systematic ways to identify optimal ML algorithms and hyperparameters. There is also the need to address trade-offs between accuracy, speed, and cost in architecture exploration. It is challenging to compare the effectiveness of different ML algorithms under these constraints. Additionally, the landscape of ML algorithms is rapidly evolving and requires data for effective use.
ArchGym addresses these challenges by providing a unified framework for evaluating ML-based search algorithms fairly. It consists of the ArchGym environment and the ArchGym agent. The environment encapsulates the architecture cost model, and the agent is an abstraction of the ML algorithm used for the search. These two components are connected through a standardized interface, which also saves exploration data as the ArchGym Dataset.
Using ArchGym, we show that different ML algorithms can achieve similar hardware performance when the right hyperparameters are selected. We also demonstrate how ArchGym can be used to create datasets for training ML models that approximate architecture cost.
In conclusion, ArchGym offers a powerful tool for ML-assisted architecture design. It addresses the challenges in this field and provides researchers with a systematic and reproducible way to optimize computer systems. By using ArchGym, researchers can make significant advancements in the field of computer architecture.