Locking effects in multiprocessor implementations of protocols. - Björkman, Mats (Computer communication review.)
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.