TORNADO OPERATING SYSTEM

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
Cache Coherent Distributed Shared Memory. Motivations Small processor count –SMP machines –Single shared memory with multiple processors interconnected.
Tornado: Maximizing Locality and Concurrency in a Shared Memory Multiprocessor Operating System Ben Gamsa, Orran Krieger, Jonathan Appavoo, Michael Stumm.
Multiprocessors CS 6410 Ashik Ratnani, Cornell University.
Multiple Processor Systems Chapter Multiprocessors 8.2 Multicomputers 8.3 Distributed systems.
Shared Memory Multiprocessors Ravikant Dintyala. Trends Higher memory latencies Large write sharing costs Large secondary caches NUMA False sharing of.
User Level Interprocess Communication for Shared Memory Multiprocessor by Bershad, B.N. Anderson, A.E., Lazowska, E.D., and Levy, H.M.
Memory Management 2010.
Tornado: Maximizing Locality and Concurrency in a SMMP OS.
Chapter 17 Parallel Processing.
1 Chapter 4 Threads Threads: Resource ownership and execution.
Experience with K42, an open- source, Linux-compatible, scalable operation-system kernel IBM SYSTEM JOURNAL, VOL 44 NO 2, 2005 J. Appovoo 、 M. Auslander.
A. Frank - P. Weisberg Operating Systems Introduction to Tasks/Threads.
User-Level Interprocess Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented.
PRASHANTHI NARAYAN NETTEM.
Representing Data Elements By Ameya Sabnis CS 257 Section II Representing Block and Record Addresses.
Session-02. Objective In this session you will learn : What is Class Loader ? What is Byte Code Verifier? JIT & JAVA API Features of Java Java Environment.
Multiprocessors Deniz Altinbuken 09/29/09.
CS533 Concepts of Operating Systems Jonathan Walpole.
CS510 Concurrent Systems Jonathan Walpole. Lightweight Remote Procedure Call (LRPC)
Chapter 4 Threads, SMP, and Microkernels Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E.
Tornado: Maximizing Locality and Concurrency in a Shared Memory Multiprocesor Operating System By: Ben Gamsa, Orran Krieger, Jonathan Appavoo, Michael.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
Java Threads 11 Threading and Concurrent Programming in Java Introduction and Definitions D.W. Denbo Introduction and Definitions D.W. Denbo.
OS2- Sem ; R. Jalili Introduction Chapter 1.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster computers –shared memory model ( access nsec) –message passing multiprocessor.
Supporting Multi-Processors Bernard Wong February 17, 2003.
Tornado: Maximizing Locality and Concurrency in a Shared Memory Multiprocessor Operating System Ben Gamsa, Orran Krieger, Jonathan Appavoo, Michael Stumm.
AlphaServer GS320 Architecture & Design Gharachorloo, Sharma, Steely, and Van Doren Compaq Research & High-Performance Servers Published in 2000 (ASPLOS-IX)‏
TEXT: Distributed Operating systems A. S. Tanenbaum Papers oriented on: 1.OS Structures 2.Shared Memory Systems 3.Advanced Topics in Communications 4.Distributed.
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
CS 540 Database Management Systems
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Last Class: Introduction
Virtual memory.
Chapter 4: Threads.
Boots Cassel Villanova University
Distributed Shared Memory
The Mach System Sri Ramkrishna.
Tornado Maximizing Locality and Concurrency in a Shared Memory Multiprocessor Operating System Ben Gamsa, Orran Krieger, Jonathan Appavoo, Michael Stumm.
Architecture and Design of AlphaServer GS320
Definition of Distributed System
CS533 Concepts of Operating Systems
Introduction to Networks
B. N. Bershad, T. E. Anderson, E. D. Lazowska and H. M
Advanced Operating Systems
CMSC 611: Advanced Computer Architecture
Chapter 17 Parallel Processing
Multiple Processor Systems
By Brian N. Bershad, Thomas E. Anderson, Edward D
Operating System 4 THREADS, SMP AND MICROKERNELS
Fast Communication and User Level Parallelism
Channels.
Multithreaded Programming
Presented by Neha Agrawal
Prof. Leonardo Mostarda University of Camerino
CS510 - Portland State University
Improving IPC by Kernel Design
Chapter 15: File System Internals
Chapter 4 Multiprocessors
Channels.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
NETWORK PROGRAMMING CNET 441
Channels.
Database System Architectures
CS533 - Concepts of Operating Systems
Lecture 10: Directory-Based Examples II
Presentation transcript:

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)

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

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

Clustered Objects

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.

Results

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

ANY QUESTIONS?