Stateful multi-pipelined programmable switches
Vishal Shrivastav
Abstract
Given the clock rate of a single packet processing pipeline has saturated due to slowdown in transistor scaling, today's programmable switches employ multiple parallel pipelines to meet high packet processing rates. However, parallel processing poses a challenge for stateful packet processing, where it becomes hard to guarantee functional correctness while maintaining line rate processing. This paper presents the design and implementation of MP5, which is a new switch architecture, compiler, and runtime for multi-pipelined programmable switches that is functionally equivalent to a logical single pipelined switch while also processing packets close to the ideal processing rate, for all packet processing programs.
Topics & Concepts
Stateful firewallPacket processingComputer sciencePipeline (software)CorrectnessNetwork packetProcessing delayParallel processingEmbedded systemParallel computingComputer networkTransmission delayOperating systemProgramming languageInterconnection Networks and SystemsParallel Computing and Optimization TechniquesEmbedded Systems Design Techniques