Shared-memory multiprocessors (SMPs) are being extensively used as gen
eral-purpose servers. The tight coupling of multiple processors, memor
y, and I/O provides enormous computing power in a single system, and e
nables the efficient sharing of these resources. The operating systems
for these machines (UNIX or Windows NT) provide very few controls for
sharing the resources of the system among the active tasks or users.
This unconstrained sharing model is a serious limitation for a server
because the load placed by one user can adversely affect other users'
performance in an unpredictable manner. We show that this lack of isol
ation is caused by the resource allocation scheme (or lack thereof) ca
rried over from single-user workstations. Multi-user multiprocessor sy
stems require more sophisticated resource management, and we show how
the proposed ''performance isolation'' scheme can address the current
weaknesses of these systems. We have implemented performance isolation
in the Silicon Graphics IRIX operating system for three important sys
tem resources: CPU time, memory, and disk bandwidth. Running a number
of workloads we show that our proposed scheme is successful at providi
ng workstation-like isolation under heavy load, SMP-like latency under
light load, and SMP-like throughput in all cases.