study of hurricane and tornado operating systems by shubhanan bakre
TRANSCRIPT
![Page 1: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/1.jpg)
Study of Hurricane and Tornado Operating Systems
By Shubhanan Bakre
![Page 2: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/2.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/3.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/4.jpg)
The Hector Multiprocessor
![Page 5: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/5.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/6.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/7.jpg)
Structure of A Cluster
![Page 8: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/8.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/9.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/10.jpg)
Coupling Vs Cost
![Page 11: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/11.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/12.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/13.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/14.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/15.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/16.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/17.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/18.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/19.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/20.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/21.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/22.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/23.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/24.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/25.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/26.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/27.jpg)
Layers of HFS
![Page 28: Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/28.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/29.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/30.jpg)
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](https://reader037.vdocuments.net/reader037/viewer/2022110206/56649ce35503460f949afe91/html5/thumbnails/31.jpg)
Questions