ACM Transactions on Architecture and Code Optimization, Vol. 19, No. 2, Article 26. Publication date: March 2022.
Nandita Vijaykumar2, Ataberk Olgun3,4, Konstantinos Kanellopoulos3, F. Nisa Bostanci3,4, Hasan Hassan3, Mehrshad Lotfi5,
Phillip B. Gibbons1, Onur Mutlu3
1 Carnegie Mellon University
2 University of Toronto
3 ETH Zurich
4 TOBB ETU, Turkey
5 Max Plank Institute, Germany
This article introduces the first open-source FPGA-based infrastructure, MetaSys, with a prototype in a RISCV system, to enable the rapid implementation and evaluation of a wide range of cross-layer techniques in real hardware. Hardware-software cooperative techniques are powerful approaches to improving the performance, quality of service, and security of general-purpose processors. They are, however, typically challenging to rapidly implement and evaluate in real hardware as they require full-stack changes to the hardware, system software, and instruction-set architecture (ISA).
MetaSys implements a rich hardware-software interface and lightweight metadata support that can be used as a common basis to rapidly implement and evaluate new cross-layer techniques.We demonstrate MetaSys’s versatility and ease-of-use by implementing and evaluating three cross-layer techniques for: (i) prefetching in graph analytics; (ii) bounds checking in memory unsafe languages, and (iii) return address protection in stack frames; each technique requiring only ~100 lines of Chisel code over MetaSys.
Using MetaSys, we perform the first detailed experimental study to quantify the performance overheads of using a single metadata management system to enable multiple cross-layer optimizations in CPUs. We identify the key sources of bottlenecks and system inefficiency of a general metadata management system. We design MetaSys to minimize these inefficiencies and provide increased versatility compared to previously proposed metadata systems. Using three use cases and a detailed characterization, we demonstrate that a common metadata management system can be used to efficiently support diverse cross-layer techniques in CPUs. MetaSys is completely and freely available at https://github.com/CMU-SAFARI/MetaSys.
FULL PAPER: pdf