Synthesis and Optimization of Pipelined Packet Processors
01 February 2009
We consider pipelined architectures of packet processors consisting of a sequence of simple packet processing modules interconnected by FIFO buffers.We propose a new model for describing their function, an automated synthesis technique that generates efficient hardware for them, and an algorithm for computing minimum buffer sizes that allow such pipelines to achieve their maximum throughput. Our functional model provides a level of abstraction familiar to a network protocol designer; in particular, it does not require knowledge of RT-level hardware design. Our synthesis tool implements the specified function in a sequential circuit that processes packet data a word at a time. Finally, our analysis technique computes the maximum throughput possible from the modules then determines the smallest buffers that can achieve it. Experimental results conducted on industrial-strength examples suggest our techniques are practical. Our synthesis algorithm can generate circuits that achieve 40 Gb/s on FPGAs, equal to state-of-the-art manual implementations and our buffer-sizing algorithm has a practically short run time. Together, our techniques will make it easier to quickly develop and deploy high-speed network switches.