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.