31
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Embed Size (px)

Citation preview

Page 1: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Study of Hurricane and Tornado Operating Systems

By Shubhanan Bakre

Page 2: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Agenda

• A brief introduction• A brief idea about the underlying hardware• Architecture of Hurricane and Tornado• Scheduling• Processes in Hurricane and Tornado• Memory Management• File System Management• Input/Output Management

Page 3: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Introduction

• Hurricane and Tornado are microkernel based operating systems.

• Hurricane is built for the Hector multiprocessor.• Tornado is built for the NUMAchine

multiprocessor.• Both these operating systems are built by the

Parallel Systems Group at the University of Toronto.

Page 4: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

The Hector Multiprocessor

Page 5: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

The NUMAchine

• Consists of 64 processors• Cache coherence hardware is present• Processors are connected in a two level hierarchy

Page 6: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Architecture of Hurricane and Tornado

• The operating system is divided into clusters.• A cluster is made up of three layers• A cluster can span more than one processors• All the operating system services are replicated to

each cluster• It provides modularity to the operating system• Clustering improves the scalability of the

operating system

Page 7: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Structure of A Cluster

Page 8: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Hierarchical Clustering

• Hurricane and Tornado use a single level of clustering

• It provides the user with an integrated view of the whole system

• Achieves tight coupling within the cluster• Maintains loose coupling among the clusters• It aims at achieving locality for data and code• Improves concurrency

Page 9: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Hierarchical Clustering

• A cluster size of one mimics a distributed system• A cluster size equal to the whole system size

behaves like a Shared Memory System• Changing the cluster size affects system behavior• Contention puts an upper bound on the size of a

cluster• Need for consistency puts a lower bound on the

cluster size

Page 10: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Coupling Vs Cost

Page 11: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Scheduling

• Two level scheduling is used• Within the cluster, the dispatcher is

responsible for scheduling• The second level takes care of load

balancing• It also decides the placement policy• It takes decisions on migration and

replication

Page 12: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Processes

• Management of the shared memory.

• Use of locking mechanisms to provide mutual exclusion.

• Processes can migrate to other clusters.

• Lock contention is reduced due to clustering

Page 13: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Processes

• Uses a hybrid lock which provides.– Low latency where coarse grained lock is used.

– High concurrency where a fine grained lock is used.

• Uses deadlock avoidance strategy for handling deadlocks.

• Inter-process communication takes place.– Within the cluster using protected procedure calls.

– Between the clusters using message passing.

Page 14: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Processes: Protected Procedure Calls (PPC)

• Aim of PPC is to– Avoid accessing shared region.– Avoid acquiring locks.

• Server acts as a passive object.• The client moves from one address space to

another.• A worker thread within the server takes care

of the client request.

Page 15: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Memory Management

• Supports traditional page based memory.• Every process is provided a virtual address space

called Hurricane region.• Takes care of the replication and page migration.• Protocols used for cache coherence are

– Update protocol– Validate Protocol

• Protocols used for replication are– Degree of replication– Replicate on write

Page 16: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Memory Management

• A Shared region is a shared data object accessed by a task.

• Functions are provided to access these shared region which include– ReadAccess– ReadDone– WriteAccess– WriteDone

Page 17: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Coherence Protocols: Update Protocol

• Consistency is maintained at WriteDone time

• Cache is invalidated for both ReadDone and WriteDone

•This approach is simple but very inefficient.

Page 18: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Coherence Protocols: Validate Protocol

• Consistency is maintained at the next “Access”.• Checks whether the copy in cache is valid or not.• Keeps a status vector for storing this information.

Page 19: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Replication Protocols

• Degree of Replication– Checks whether the distance from the nearest

replica is within a threshold value– If yes then replica is not created. Mapping is

done to that copy.– If no then a new copy is created.– Controls the degree of replication

Page 20: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Replication Protocols

• Replicate on Write– Replicates data on write request.– Can be efficient if the number of write requests

is greater than the number of read requests.– Can turn out to be inefficient due to the number

of coherence operations required.

Page 21: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Hurricane File System

• Goals of the Hurricane File System (HFS)– Flexibility – should support large number of

file structures and policies.– Customizability – should allow the application

to specify the policy and the file structure to be used.

– Efficiency – flexibility should be achieved at little CPU and I/O overhead.

Page 22: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Hurricane File System

• Uses object oriented techniques.• A Storage object forms the building block

of a file.• Storage object is an encapsulated object

having member functions and data.• The block storage object is the most

fundamental type of storage object.• In that it stores the actual file data.

Page 23: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Hurricane File System

• Categories of Storage Objects– Transitory Storage Objects

– Persistent Storage Objects

• Transitory Storage Objects are created at run time.• Persistent Storage Objects once created remain

fixed and get stored to the disk.• Persistent Storage Objects are stored in the same

way as file data.

Page 24: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Layers of the HFS

• Physical Server Layer– It directs requests for file data to disk.– It is responsible for policies related to disk

block placement, load balancing, locality management and cylinder clustering

– All Physical Server Layer objects are persistent– Example of Physical Server Layer Object

(PSO): read/write PSO

Page 25: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Layers of HFS

• Physical Server Layer Objects (PSO) are further divided into – Basic PSO classes– Composite PSO classes– Read/write PSO classes

Page 26: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Layers of the HFS

• Logical Server Layer– Provides functionality which can be outside the

physical server layer and should not be in the Application level library.

– All Logical Server Layer Objects (LSO) are persistent.

– Consists of various types of classes like Naming classes, Access-specific classes, Locking classes and Open authentication classes

– These objects can be used in hierarchical fashion.

Page 27: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Layers of HFS

Page 28: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Input/Output

• Alloc Stream Facility (ASF) provides the I/O facility in Hurricane.

• It is designed in the application layer.• Provides portability to the applications.• Provides better interface to the programming

language.• Improves performance by

– Reducing the amount of data copying.– Reducing the number of system calls.

Page 29: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Alloc Stream Facility

• Consists of three layers– The interface layer – implements the interface

modules.– The backplane – contains all the code that is

common to rest of the two layers.– The stream layer – interacts with the operating

system and manages buffering.

Page 30: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Conclusion

• Hierarchical clustering cannot be applied at a finer level in Hurricane.

• Modularity in Tornado can be improved due to object orientation.

• Due to different system architectures both these systems are distinct.

Page 31: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

Questions