[PDF][PDF] Tornado: Maximizing locality and concurrency in a shared memory multiprocessor operating system
We describe the design and implementation of Tornado, a new operating system designed
from the ground up specifically for today's shared memory multiprocessors. The need for
improved locality in the operating system is growing as multiprocessor hardware evolves,
increasing the costs for cache misses and sharing, and adding complications due to
NUMAness. Tornado is optimized so that locality and independence in application requests
for operating system services—whether from multiple sequential applications or a single …
from the ground up specifically for today's shared memory multiprocessors. The need for
improved locality in the operating system is growing as multiprocessor hardware evolves,
increasing the costs for cache misses and sharing, and adding complications due to
NUMAness. Tornado is optimized so that locality and independence in application requests
for operating system services—whether from multiple sequential applications or a single …
Abstract
We describe the design and implementation of Tornado, a new operating system designed from the ground up specifically for today’s shared memory multiprocessors. The need for improved locality in the operating system is growing as multiprocessor hardware evolves, increasing the costs for cache misses and sharing, and adding complications due to NUMAness. Tornado is optimized so that locality and independence in application requests for operating system services—whether from multiple sequential applications or a single parallel application—are mapped onto locality and independence in the servicing of these requests in the kernel and system servers. By contrast, previous shared memory multiprocessor operating systems all evolved from designs constructed at a time when sharing costs were low, memory latency was low and uniform, and caches were small; for these systems, concurrency was the main performance concern and locality was not an important issue. Tornado achieves this locality by starting with an objectoriented structure, where every virtual and physical resource is represented by an independent object. Locality, as well as concurrency, is further enhanced with the introduction of three key innovations:(i) clustered objects that support the partitioning of contended objects across processors,(ii) a protected procedure call facility that preserves the locality and concurrency of IPC’s, and (iii) a new locking strategy that allows all locking to be encapsulated within the objects being protected and greatly simplifies the overall locking protocols. As a result of these techniques, Tornado has far better performance characteristics, particularly for multithreaded applications, than existing commercial operating systems. Tornado has been fully implemented and runs both on Toronto’s NUMAchine hardware and on the SimOS simulator.
usenix.org
Showing the best result for this search. See all results