Investigation on architectural elements of network processors
Abstract
Increasing network speeds have placed enormous burden on the processing requirements, and the processors are expected to carry out a variety of tasks. Network Processors (NP) is the blanket name given to the processors which are evolved with a tradeoff between flexibility and performance. Network Processors are offered by a number of vendors to take the main burden of processing network-related operations from conventional processors.
Network Processors cover a spectrum of design tradeoffs that span between custom ASICs and general-purpose processors. However, the need for them is not yet well established, and they are undergoing continuous refinements. This thesis focuses on the performance evaluation of network processors vis-à-vis conventional processors and determines if Network Processors have a role to play in the design of future network products.
Part I: Need for Network Processors
The traditional way of evaluating processors is to execute a set of algorithms specific to an application domain.
A set of algorithms with varying complexity, used at different levels of the TCP/IP layers, is chosen.
Choosing the right mix of algorithms is important to get reliable performance metrics.
These benchmark programs are run on different processors and relative performance is measured.
The results are analyzed to establish the need for network processors in networking applications.
Part II: Case Study of Intel IXP 1200
A typical network processor, Intel’s IXP 1200, is studied.
Specific blocks such as cache and Receiver First-In-First-Out buffer (RFIFO) are analyzed.
Their role and effectiveness in network processors are evaluated by running a Layer 3 forwarding application.
Part III: Architectural Insights
Architectural elements that are crucial and useful in Network Processors are identified and studied.

