Network Processors
Evaluating Architectures for Leading Edge Applications
White Paper
Issue: 01, 19th March 2004
Chris Rosewarne, Design Engineer
Abstract
The need for higher layer processing in network equipment to implement flexible devices such as
Load Balancers, Web Switches and deep packet processing for security applications has led to the
creation of the Network Processor. These must be capable of processing packet data at wire-speed,
which creates new challenges not previously seen in processor design. Many varied and innovative
approaches have been taken to overcome these obstacles.
This whitepaper firstly discusses the applications for Network Processors, elaborating this into some
fundamental requirements of such devices. Secondly, the trade-offs in Network Processor design are
discussed. Finally, a number of architectural approaches are described in the context of how well
they perform in packet processing applications and the limitations each have. The implications on the
adopted programming model are also discussed.
Document Number
Author
CAL-000003-WP-01
2/23
Chris Rosewarne
1
Introduction
In recent years, there has been a push to make a generic packet processor for use in
network equipment. This has arisen due to demand for implementing new functionality
without expending a large effort redesigning equipment. The aim is to process a stream
of packets at wire-speed for various applications in the network. This has led to the
creation of the Network Processor market. The fundamental premise of a Network
Processor is to provide the flexibility of a programmable device with the performance of a
fixed-function hardware device. This would shorten the Time-to-Market to deliver new
functionality. Owing to the very open-ended nature of this problem space, the solution
space has been equally diverse. This has led to numerous start-ups, in addition to the
blue chip companies such as Intel and IBM, introducing their own architectures. At the