Tornado: maximizing locality and concurrency in a shared memory multiprocessor operating system
B. Gamsa, Orran Krieger, Jonathan Appavoo, Michael Stumm · Library and Archives Canada (Government of Canada) · 1999
Tornado: Maximizing Locality and Concurrency in a Shared-Memory Multiprocessor Operating System Benjamin Gamsa Doctor of Philosophy Graduate Department of Computer Science University of Toronto 1999 This dissertation presents novel operating system structuring techniques for dealing with the problems of scalability in shared-memory multiprocessors. By using an object-oriented structure, with each virtual and physical resource represented by an independent object, Tornado eliminates most shared global objects, thus reducing contention and increasing locality. To improve performance for contended components, Tornado uses a new structuring technique called Clustered Objects that allows an object to be partitioned and distributed across the machine in a manner transparent to the outside consumers of the object. In addition, Tornado includes a new interprocess communication facility, called the Protected Procedure Call facility, that provides the locality and concurrency required to allow microkernels to scale effectively on multiprocessors. This dissertation also explores some of the other issues in multiprocessor operating system design, such as efficient lock and memory allocation implementations, as well as the interactions between concurrency control and object destruction. A prototype implementation of the techniques described have been implemented as part of the Tornado operating system for the NUMAchine multiprocessor. This dissertation explores both the design aspects of the system as well as experiences gained through its implementation and use on both NUMAchine and a complete machine simulator, SimOS. ii A N D O T O R Preface Like most large systems projects, Tornado is a group effort. The contributions of many people made the system possible. f...