USENIX 2nd Symposium on
OS Design and Implementation (OSDI '96)
Studies of Windows NT Performance using Dynamic Execution Traces
Sharon E. Perl and
Richard L. Sites
Digital Systems Research Center
Abstract
We studied two aspects of the performance of Windows NTtm : processor
bandwidth requirements for memory accesses in a uniprocessor system
running commercial and benchmark applications, and locking behavior of
a commercial database on a small-scale multiprocessor. Our studies are
based on full dynamic execution traces of the systems, which include
all instructions executed by the operating system and applications
over periods of a few seconds (enough time to allow for significant
computation). The traces were obtained on Alpha PCs, using a new
software tool called PatchWrx that takes advantage of the Alpha
architecture's PAL-code layer to implement efficient, comprehensive
system tracing. Because the Alpha version of Windows NT uses
substantially the same code base as other versions, and therefore
executes nearly the same sequence of calls, basic blocks, and data
structure accesses, we believe our conclusions are relevant for
non-Alpha systems as well. This paper describes our performance
studies and interesting aspects of PatchWrx.
We conclude from our studies that processor bandwidth can be a
first-order bottleneck to achieving good performance. This is
particularly apparent when studying commercial benchmarks. Operating
system code and data structures contribute disproportionately to the
memory access load. We also found that operating system software lock
contention was a factor preventing the database benchmark from scaling
up on the small multiprocessor, and that the cache coherence protocol
employed by the machine introduced more cache interference than
necessary.
|