Cache behavior of network protocols
- 1 June 1997
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGMETRICS Performance Evaluation Review
- Vol. 25 (1) , 169-180
- https://doi.org/10.1145/258623.258686
Abstract
In this paper we present a performance study of memory reference behavior in network protocol processing, using an Internet-based protocol stack implemented in the x -kernel running in user space on a MIPS R4400-based Silicon Graphics machine. We use the protocols to drive a validated execution-driven architectural simulator of our machine. We characterize the behavior of network protocol processing, deriving statistics such as cache miss rates and percentage of time spent waiting for memory. We also determine how sensitive protocol processing is to the architectural environment, varying factors such as cache size and associativity, and predict performance on future machines.We show that network protocol cache behavior varies widely, with miss rates ranging from 0 to 28 percent, depending on the scenario. We find instruction cache behavior has the greatest effect on protocol latency under most cases, and that cold cache behavior is very different from warm cache behavior. We demonstrate the upper bounds on performance that can be expected by improving memory behavior, and the impact of features such as associativity and larger cache sizes. In particular, we find that TCP is more sensitive to cache behavior than UDP, gaining larger benefits from improved associativity and bigger caches. We predict that network protocols will scale well with CPU speeds in the future.Keywords
This publication has 19 references indexed in Scilit:
- Analysis of techniques to improve protocol processing latencyPublished by Association for Computing Machinery (ACM) ,1996
- The effectiveness of affinity-based scheduling in multiprocessor network protocol processing (extended version)IEEE/ACM Transactions on Networking, 1996
- Networking support for large scale multiprocessor serversPublished by Association for Computing Machinery (ACM) ,1996
- Memory system performance of programs with intensive heap allocationACM Transactions on Computer Systems, 1995
- The memory-integrated network interfaceIEEE Micro, 1995
- The impact of architectural trends on operating system performancePublished by Association for Computing Machinery (ACM) ,1995
- Fbufs: a high-bandwidth cross-domain transfer facilityPublished by Association for Computing Machinery (ACM) ,1993
- The x-Kernel: an architecture for implementing network protocolsIEEE Transactions on Software Engineering, 1991
- Profile guided code positioningPublished by Association for Computing Machinery (ACM) ,1990
- Evaluating associativity in CPU cachesIEEE Transactions on Computers, 1989