R2C2: A Network Stack for Rack-scale Computers - Costa, Paolo; Ballani, Hitesh; Razavi, Kaveh; Kash, Ian (The ACM SIGCOMM Conference on Data Communication (SIGCOMM), 2015)
Rack-scale computers, comprising a large number of micro-servers connected by a direct-connect topology, are poised to replace servers as the building block in data centers. We focus on the problem of routing and congestion control across the rack's network, and find that high path diversity in rack topologies, in combination with workload diversity across it, means that traditional solutions are inadequate. We present R2C2, a network stack for rack-scale computers providing flexible and efficient routing and congestion control. R2C2 leverages the fact that rack topologies allow for low-overhead broadcasting to ensure that all nodes in the rack are aware of all network flows. We thus achieve rate-based congestion control without any probing; each node independently determines the sending rate for its flows while respecting the provider's allocation policies. For routing, nodes dynamically choose the routing protocol for their flows in order to maximize aggregate throughput. Through a prototype deployed across a rack emulation platform and a packet-level simulator, we show that R2C2 achieves very low queuing for diverse and bursty workloads, and that routing flexibility can provide significant throughput gains.