We present UDP datagram demultiplexing techniques that can yield potentially substantial applicationindependent performance gains over BSD-derived UDP implementations. Our demultiplexing strategies exploit local host and UDP implementation features -- (1) how UDP processes connection-less datagrams, (2) local host application as client or server, and (3) local host application “density” -- resulting in straight-forward hash-based search strategies that caused demultiplexing speedups as high as 24-to-1 over BSD’s one-behind cache. Furthermore, while past researchers have shown that cache-based schemes yield little performance benefit for UDP, we show that cache-based implementations can actually degrade demultiplexing performance. Finally, we recommend simple, non-protocol altering local host modifications for existing and future UDP implementations. We used four server traffic traces and eight algorithms in our trace-driven simulations, and executed more than 60 simulations to o...
Joseph T. Dixon, Kenneth L. Calvert