ICCCN '96 published/short version Increasing Demultiplexing Efficiency in TCP/IP Network Servers
Author(s)
Dixon, Joseph T.
Calvert, Kenneth L.
Advisor(s)
Editor(s)
Collections
Supplementary to:
Permanent Link
Abstract
This paper shows how software caches and hashing to multiple
PCB (protocol control block) lists can increase
demultiplexing efficiency in TCP/IP network server hosts. We
implemented six algorithms and executed 200 simulations --
using four server traffic traces as input -- to formulate
best-use caching and hashing policies for demultiplexing
TCP-based http, telnet and login services and UDP-based
services such as nfs. Our work, motivated by promising
analytical results and general suggestions in past works,
differs from its predecessors in several important ways: (1)
we examine the limits of applicability of last-referenced-
PCB caching and list-hashing; (2) we test the merit of
popular assumptions made in existing implementations; (3) we
make several concrete recommendations so that individual
servers can realize potentially significant performance
gains through simple, server-independent modifications. Our
experimentation led to a series of findings. First, we show
conclusively that, while caching alone can enhance
performance, more than two cache entries can cause
efficiency to diminish below peak performance. Furthermore,
while our two cache entry algorithm reduces the mean number
of instructions required for a PCB lookup by as much as 75%
below the original TCP demultiplex algorithm's performance,
variability of execution cost for a caching-only scheme
remains high. Next, we customize a simple combination
caching and multiple list algorithm first introduced by
McKenney and Dove and show how TCP PCB lookups can be
reduced by more than 93%. We then verify that, in many
cases, the iterative nature of most UDP-based services
relegates a caching to unnecessary overhead and makes
multiple list benefits uncertain at best. We demonstrate
that this overhead can actually make overall demultiplexing
performance even worse than that of the original algorithm.
Some of its negative effect, however, can be overcome if
different algorithms are used for TCP and UDP. Our
introduction of this separable solution debunks the popular,
long-standing convention of using the same algorithm for
both TCP and UDP. These findings imply application-specific
implementation strategies that can yield potentially
significant demultiplexing performance benefits in existing
and new TCP/IP network servers.
Sponsor
Date
1996
Extent
240759 bytes
Resource Type
Text
Resource Subtype
Technical Report