Rethinking the Switch Architecture for Stateful In-network Computing - Lerner, Alberto; Zoni, Davide; Costa, Paolo; Antichi, Gianni (23rd ACM Workshop on Hot Topics in Networks (HotNets), 2024)
Programmable switches are a disruptive technology that has seen increasing adoption in the past decade. Since their inception, however, there has been tension regarding how to design these switches. Classic programmable switches operate at line rate but impose significant limitations on the expressiveness of their programming models. In contrast, alternative designs relax the strict line rate requirement but are more easily programmable. The common belief is that a switch's performance and its programmability are at odds. In this paper, we argue that the tension is elsewhere. Many applications use the network to coordinate sets of flows known as coflows, while current switches are designed to be individual flow directors. We believe that this conceptual gap—the need to handle coflows rather than independent flows—is what prevents us from creating expressive and fast switch designs at once. We introduce a new device we call an Application-Defined Coflow Processor (ADCP) and discuss how it starts to bridge this gap.