BYOC: A Bring Your Own Core" Framework for Heterogeneous-ISA Research"

Session: Evaluation techniques--Accelerating accelerator adoption.

Authors: Jonathan Balkind (Princeton University); Katie Lim (University of Washington); Michael Schaffner (ETH Zürich); Fei Gao (Princeton University); Grigory Chirkov (Princeton University); Ang Li (Princeton University); Alexey Lavrov (Princeton University); Tri Nguyen (Harvard Medical School); Yaosheng Fu (NVIDIA); Florian Zaruba (ETH Zürich); Kunal Gulati (BITS Pilani); Luca Benini (ETH Zürich & Università di Bologna); David Wentzlaff (Princeton University)

Heterogeneous architectures and heterogeneous-ISA designs are growing areas of computer architecture and system software research. Unfortunately, this line of research is significantly hindered by the lack of experimental systems and modifiable hardware frameworks. This work proposes BYOC, a "Bring Your Own Core" framework that is specifically designed to enable heterogeneous-ISA and heterogeneous system research. BYOC is an open-source hardware framework that provides a scalable cache coherence system, that includes out-of-the-box support for four different ISAs (RISC-V 32-bit, RISC-V 64-bit, x86, and SPARCv9) and has been connected to ten different cores. The framework also supports multiple loosely coupled accelerators and is a fully working system supporting SMP Linux. The Transaction-Response Interface (TRI) introduced with BYOC has been specifically designed to make it easy to add in new cores with new ISAs and memory interfaces. This work demonstrates multiple multi-ISA designs running on FPGA and characterises the communication costs. This work describes many of the architectural design trade-offs for building such a flexible system. BYOC is well suited to be the premiere platform for heterogeneous-ISA architecture, system software, and compiler research.