A Modular Heterogeneous Stack for Deploying FPGAs and CPUs in the Data Center

Published in Proceedings of the 2019 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, 2019

In this work we present a heterogeneous deployment stack, called Galapagos, that includes the abstraction of individual nodes (FPGAs and CPUs), the communication protocols between nodes and the orchestration and connection of these nodes into clusters. The stack we create is also highly modular, allowing users to explore a design space in the implementation of their cluster such as different network protocols or communication layers. The communication layer we have currently implemented within our hardware stack, called HUMboldt, handles heterogeneous communication between multiple FPGAs and CPUs. We implement HUMboldt using High-Level Synthesis (HLS) to ensure functional portability of communicatingkernels, allowing us to prototype hardware kernels in software. Our results have shown that our modular approach to this heterogeneous deployment stack has introduced very little area and latency overhead in the FPGAs and can still perform at line-rate, bottlenecked solely by the network links connecting the nodes. Our results also highlight the scalability of our design as our performance remains limited by the network links when the cluster size increases.

Download paper here Download slides here