This paper presents the first analysis of operating system execution on a s
imultaneous multithreaded (SMT) processor. While SMT has been studied exten
sively over the past 6 years, previous research has focused entirely on use
r-mode execution. However, many of the applications most amenable to multit
hreading technologies spend a significant fraction of their time in kernel
code. A full understanding of the behavior of such workloads therefore requ
ires execution and measurement of the operating system, as well as the appl
ication itself.
To carry out this study, we (1) modified the Digital Unix 4.0d operating sy
stem to run on an SMT CPU, and (2) integrated our SMT Alpha instruction set
simulator into the SimOS simulator to provide an execution environment. Fo
r an OS-intensive workload, we ran the multithreaded Apache Web server on a
n 8-context SMT. We compared Apache's user- and kernel-mode behavior to a s
tandard multiprogrammed SPECInt workload, and compared the SMT processor to
an out-of-order superscalar running both workloads. Overall, our results d
emonstrate the microarchitectural impact of an OS-intensive workload on an
SMT processor and provide insight into the OS demands of the Apache Web ser
ver. The synergy between the SMT processor and Web and OS software produced
a greater throughput gain over superscalar execution than seen on any prev
iously examined workloads, including commercial databases and explicitly pa
rallel programs.