Configurable Clouds - Caulfield, Adrian; Chung, Eric; Putnam, Andrew; Angepat, Hari; Firestone, Daniel; Fowers, Jeremy; Ovtcharov, Kalin; Haselman, Michael; al, et; Heil, Stephen; Humphrey, Matt; Lo, Daniel; et al. (IEEE Micro, 2017)
Hyperscale datacenter providers have struggled to balance the growing need for specialized hardware with the economic benefits of homogeneity. The Configurable Cloud datacenter architecture introduces a layer of reconfigurable logic (FPGAs) between the network switches and servers. This enables line-rate transformation of network packets, acceleration of local applications running on the server, and direct communication among FPGAs, at datacenter scale. This low latency, ubiquitous communication enables deployment of hardware services spanning any number of FPGAs to be used and shared quickly and efficiently by services of any scale throughout the datacenter. The authors deploy this design over a production server bed and show how it can be used to accelerate applications that were explicitly ported to FPGAs and support hardware-first services. It can even accelerate applications without any application-specific FPGA code being written. The Configurable Cloud architecture has been deployed at hyperscale in Microsoft's production datacenters worldwide.