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. PrefaceLike most large systems projects, Tornado is a group effort.The contributions of many people made the system possible.Orran Krieger: implemented the original File System ( W S ) and user-level I/0 library ( A F S ) , and helped flesh out the Tornado architecture through many fruitful discussions.0 Eric Parsons: implemented the locking routines and name service.a Paul Lu: implemented the debugging stub and event service.
No takes yet. Share an insight, caveat, or question.
Gamsa et al. (1999) studied this question.