1 / 31

Study of Hurricane and Tornado Operating Systems

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

duer
Download Presentation

Study of Hurricane and Tornado Operating Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre

  2. 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

  3. 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.

  4. The Hector Multiprocessor

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

  6. 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

  7. Structure of A Cluster

  8. 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

  9. 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

  10. Coupling Vs Cost

  11. 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

  12. 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

  13. 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.

  14. 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.

  15. 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

  16. 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

  17. 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.

  18. 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.

  19. 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

  20. 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.

  21. 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.

  22. 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.

  23. 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.

  24. 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

  25. Layers of HFS • Physical Server Layer Objects (PSO) are further divided into • Basic PSO classes • Composite PSO classes • Read/write PSO classes

  26. 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.

  27. Layers of HFS

  28. 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.

  29. 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.

  30. 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.

  31. Questions

More Related