Download presentation
Presentation is loading. Please wait.
1
TORNADO OPERATING SYSTEM
Karan Sharma
2
Tornado - Overview Object–Oriented Approach Clustered Objects
Semi-automatic Garbage Collection Protected Procedure Call
3
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
4
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
5
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
6
The Problem (The Counter Experiment)
7
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)
8
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.”
9
Object Oriented Approach
User Application OS Implementation Locality Locality Independence Independence Philip Howard’s Illustration
10
Object Oriented Approach (Memory Management Example)
11
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
12
Clustered Objects
13
Clustered Objects Advantages
Optimizations such as Replication or partitioning Clean Interface Incremental Optimization Several Different implementations may exist
14
Degree of Clustering (Appavoo 1998)
15
Clustered Objects Appavoo 1998
16
Clustered Objects (Gamsa 1999)
17
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
18
Clustered Objects
19
Synchronization Spin-then-block locks
Semi-automatic Garbage Collection Temporary References Persistent References
20
Protected Procedure Call
(Gamsa 1999) Recall LRPC
21
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.
22
Results
23
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
24
ANY QUESTIONS?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.