Skip to Main Content
This paper presents a software architecture that enables the application-specific processing of messages on network processors attached to cluster machines. Such processing is performed by stream handlers executed on such attached network processors (ANPs) and able to manipulate both message headers and their data content. Handler execution can be associated with the ANPs' receive side, its transmit side, or both. Using Intel's IXP1200 boards as sample ANPs, the paper evaluates performance advantages and tradeoffs in stream handler execution. Results indicate that while receive-side stream customization is useful for simple stream handlers, it becomes a bottleneck and results in degraded performance with increased handler complexity or with increased amounts of data manipulated by handlers. In comparison, transmit-side handler execution exhibits more constant and acceptable performance levels and can therefore, support richer ANP functionality.