Keynote Address 4

Network Processors: A Progress Report

Nevin Heintze
Agere Systems, USA
nch@agere.com


Abstract

Network processors generated huge excitement, interest and investment in the late 90's and into 2000, promising to replace fixed-function ASIC chips in networking equipment by high-performance programmable devices. The sheer performance requirements of these devices led to a flurry of activity in both processor architecture, software and especially the interaction between architecture and software, with many diverse approaches competing for survival. The subsequent collapse of the market for communications equipment hit network processors hard.

This talk will give a progress report on network processors and embedded network processing elements. We begin by describing the application requirements for these computing devices and outline some of the processing tasks required – packet reassembly, classification, policing, statistics, state management, packet modification, queuing, scheduling and traffic shaping, buffer management, and packet segmentation – and their memory and I/O needs. We will then discuss how these requirements impact processor architecture, programming models and languages, and partitioning between software and hardware functionality, drawing examples from several of the network processor survivors. We will conclude with a market outlook for network processors, the impact that will likely have on future developments, and open research problems.


Biography

Nevin Heintze currently has hardware and software architecture responsibilities for new class of consumer devices for networked storage of media and also leads the software development for this product line. Previously, he was Director of Digital Communications Architectures and Software at Agere Systems, where he led a research group focused next-generation network processor architecture and software.

Before being spun off from Lucent (Agere was Lucent’s microelectronics division), Nevin was Director of Computing Structures Research at Bell Labs, where he worked on scalable program analysis systems, set constraints and architecture/software co-design of high-performance signal processing engines.