240 likes | 248 Views
TORNADO OPERATING SYSTEM. Karan Sharma. Tornado - Overview. Object–Oriented Approach Clustered Objects Semi-automatic Garbage Collection Protected Procedure Call. The Problem.
E N D
TORNADO OPERATING SYSTEM Karan Sharma
Tornado - Overview • Object–Oriented Approach • Clustered Objects • Semi-automatic Garbage Collection • Protected Procedure Call
The Problem • Locality and Concurrency based approaches that are successful for Uniprocessors do not necessarily scale to Multiprocessors • Efficient management of locality and concurrency is necessary in multiprocessors
The Problem Problems with modern multiprocessors • Higher memory latencies • Large write sharing costs, • Large secondary caches, • Large cache lines • NUMA effects, and • Larger system sizes
The Problem (The Counter Experiment) Counter Implementations Shared, Array, Padded Array, Clustered Object How the Number of Processors effect the Cycles per update of a Counter, for each type of Counter? - Can give insight into locality issues in multiprocessors
The Problem (The Counter Experiment) Take Home Message: Avoid Sharing! There is a significant and substantial connection between ”how you tackle locality” and ”performance of the system” (in a multiprocessor system)
Object Oriented Approach “To achieve good performance on a multiprocessor, requests to different virtual resources should be handled independently; that is, without accessing any shared data structures and without acquiring any shared locks. One natural way to accomplish this is to use an object-oriented strategy, where each resource is represented by a different object in the operating system.”
Object Oriented Approach User Application OS Implementation Locality Locality Independence Independence Philip Howard’s Illustration
Object Oriented Approach (Memory Management Example)
Clustered Objects What do they look like? Outside View Just like your normal Java/C++ - style objects Inside View Consists of many Representative Objects (rep) where each rep may belong to several processors
Clustered Objects Advantages • Optimizations such as Replication or partitioning • Clean Interface • Incremental Optimization • Several Different implementations may exist
Degree of Clustering (Appavoo 1998)
Clustered Objects Appavoo 1998
Clustered Objects (Gamsa 1999)
Clustered Object Implementation • Reps are created on demand because it is not known what reps will be invoked • On first invocation, this is accomplished by: Global Miss Handling Object -> Clustered Object’s Miss Handler -> Create a rep Or Locate a rep (if it’s already there) Install a pointer to this rep in the translation table On subsequent invocations, the rep will be called directly
Synchronization • Spin-then-block locks • Semi-automatic Garbage Collection Temporary References Persistent References
Protected Procedure Call (Gamsa 1999) Recall LRPC
Protected Procedure Call (Advantages) • client requests are always serviced on their local processor • clients and servers share the processor in a manner similar to handoff scheduling • there are as many threads of control in the server as client requests.
Tornado - Impact • Does not seem to have explicitly impacted many of the popular operating systems • However, many of the ideas have gone into IBM’s K42 - The next generation of Tornado