Pipelining vs. Multiprocessors – Choosing the Right Network Processor System Topology

Ning Weng · 2004

Computer networks provide an increasing number of services that require complex processing of packets, for example firewalls, web server load balancing, network storage, and TCP/IP offloading. Such services are typically limited to the network edge, but still require the use of powerful network processors to provide the necessary performance and flexibility. To keep up with these demands, next generation network processors will provide dozens of embedded processor cores. One important question is which system-on-a-chip topology is most suitable for such a highly parallel system. Due to the inherent parallelism in network traffic, the design space for this problem is vast and ranges from pipelined to multiprocessor solutions. In this work, we present a methodology to explore this design space through performance modelling. It is crucial that such a model considers the NP workload in detail as the distribution of processing steps over the system has significant impact on system throughput. We present a mechanism for mapping the workload optimally to an arbitrary topology based on run-time traces. Our performance model determines the system performance and considers the effect of on-chip communication as well as off-chip memory accesses. We present results from several NP applications, show the performance tradeoffs between different system topology, and identify system bottlenecks.

Read the paper · More papers on PaperTik