We investigate how to exploit shared memory multiprocessors for parallel protocol processing. We present a multiprocessor implementation of the x-kernel protocol environment from the University of Arizona. A "processor-per-message" paradigm is used to partition the work over processors. Locks are used to protect shared protocol state and data. Mutual exclusion by locking can be costly if the parallel protocol code frequently accesses shared state and data. This paper addresses the effect of locking on performance.The x-kernel is implemented in user address space on a Sequent Symmetry. Performance results of UDP/IP and TCP/IP are given, and we compare them to performance predictions from simulations. The measured speedups for the parallel implementations relative to the sequential ones are more than 12 times for UDP and 3 times for TCP. These limits are set by locking and machine contention.
[1]
David Clark,et al.
Architectural considerations for a new generation of protocols
,
1990,
SIGCOMM 1990.
[2]
Gerald W. Neufeld,et al.
A Parallel Approach to OSI Connection-Oriented Protocols
,
1992,
Protocols for High-Speed Networks.
[3]
David Clark,et al.
An analysis of TCP processing overhead
,
1989
.
[4]
T. Bashkow,et al.
Transport protocol processing at GBPS rates
,
1990,
SIGCOMM 1990.
[5]
Gerald W. Neufeld,et al.
The Parallel Protocol Framework
,
1992
.
[6]
Larry L. Peterson,et al.
The x-Kernel: An Architecture for Implementing Network Protocols
,
1991,
IEEE Trans. Software Eng..