This preview shows pages 1–2. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: Tornado: Maximizing Locality and Concurrency in a Shared Memory Multiprocessor Operating System Ben Gamsa Orran Krieger Jonathan Appavoo Michael Stumm Department of Electrical and Computer Engineering University of Toronto, Toronto, Canada ben,jonathan,stumm @eecg.toronto.edu IBM T.J. Watson Research Center Yorktown Heights, New York email@example.com Abstract We describe the design and implementation of Tornado, a new operating system designed from the ground up specifically for todays shared memory multiprocessors. The need for im- proved locality in the operating system is growing as multipro- cessor hardware evolves, increasing the costs for cache misses and sharing, and adding complications due to NUMAness. Tor- nado is optimized so that locality and independence in applica- tion requests for operating system serviceswhether from mul- tiple 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 per- formance concern and locality was not an important issue. Tornado achieves this locality by starting with an object- oriented 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: ( ) clustered objects that support the partition- ing of contended objects across processors, ( ) a protected pro- cedure call facility that preserves the locality and concurrency of IPCs, and ( ) a new locking strategy that allows all lock- ing 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 character- istics, particularly for multithreaded applications, than existing commercial operating systems. Tornado has been fully imple- mented and runs both on Torontos NUMAchine hardware and on the SimOS simulator. 1 Introduction Traditional multiprocessor operating systems, including those commercially available today (e.g., IBMs AIX, Suns Solaris, SGIs IRIX, HPs HP/UX), all evolved from designs when multiprocessors were generally small, memory latency relative to processor speeds was compar- atively low, memory sharing costs were low, memory ac- cess costs were uniform, and caches and cache lines were small. 1 The primary performance concern for these sys- tems focused on maximizing concurrency, primarily by identifying contended locks and breaking them up into finer-grained locks....
View Full Document
This note was uploaded on 10/06/2010 for the course CS 6210 taught by Professor Staff during the Fall '08 term at Georgia Institute of Technology.
- Fall '08