Modern memory systems are composed of several levels of
caching. Design of these levels is largely an empirical
practice. One highly-effective empirical method is the
single-pass method wherein all caches in a broad design
space are evaluated in one pass over the trace.
Multiprogramming degrades memory system performance since
(process) context switching reduces the effectiveness of
cache memories. Few single-pass methods exist which
account for multiprogramming effects. This paper uses a
general model of single-pass algorithms, called the
recurrence/conflict model, and extensions to the model for
recording the effects due to both voluntary and involuntary
context switching.
The method presented in this paper accurately records
a program's susceptibility to context switching for all
cache dimensions and all context switching intensities
in a single pass. System load is parameterized using
context switch intensity and the fraction of cache flushing.
Several members of the SPEC benchmark set are used to comment
on program susceptibility to context switching. The
accuracy of the method is shown to be quite good by
comparing it with two more-restrictive test methods. The
results also agree well with multiprogramming effects
reported by others.