310 likes | 457 Views
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
E N D
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
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.
The NUMAchine • Consists of 64 processors • Cache coherence hardware is present • Processors are connected in a two level hierarchy
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
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
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
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
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
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.
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.
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
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
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.
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.
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
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.
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.
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.
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.
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
Layers of HFS • Physical Server Layer Objects (PSO) are further divided into • Basic PSO classes • Composite PSO classes • Read/write PSO classes
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.
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.
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.
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.