Cluster Computer OS Support Research
As an old computing system, it is unclear to determine the time or date in which the concept of cluster computing was first developed. As such, there are quite many claims from various entities all over the world claiming that they did the invention. It is well known that a computer cluster enhances the provision of much faster processing speed when incorporated into a single logical unit (Zaharia et al. It also increases the efficacy of operation by giving a larger storage capacity and bettering data integrity along with increasing superior reliability. With cluster computing, there is a broader availability of resources which are accessible in the system. i. Load Balancing Load balancing refers to the sharing of work that is found between the nodes in a cluster to serve the purpose of ensuring that none of the nodes is overloaded.
Primarily, the concept of load balancing according to computing experts is that the requests for web-server which come in triggers the cluster to check the computer or machine which is least busy in order to send a request to that specific machine (Malpani, Yao, & Musta, 2010). The services included in the load balancing type of cluster are the requests assignation to individual nodes and the web servers which run on all nodes in the cluster. There is also process based load balancing which is different from the service ones that is in a place where actual processes that run on all the nodes within a cluster are purposefully moved from one node to the next depending on schedule, while the nodes are overloaded.
The old operating systems before the development of cluster computers were not built to support parallel computing. As such, an operating system needs to provide services with the capability to manage parallelism. Besides, there is the need to introduce operating systems giving support to both (DSM) Distributed Shared Memory paradigms and MP (Message Passing), which are given out as separate components enhanced at the level of the user as independent and library servers (Clarke & Lee, 2000). An operating system needs to provide a mechanism for dealing with the computers of a cluster as opposed to seeing a cluster as an entity operating as a single dominant computer. In essence, there is the need for the operating system to provide support using cluster computing through the efficient management of parallelism.
Based on the aspect of compatibility with system tasks, operating systems need to provide an environment that flexibly functions in a computer cluster pack, but this depends on the climate for networking in which the operating system was installed. In a nutshell, the operating system needs to provide a fundamental system using cluster computing for the combined operation of machines. The operating system needs to be designed in such a way that it provides essential services to a network such as thread coordination, protection boundaries, enhanced device handling, and inter-process communication to bring about the creation of a high-level software interface of the applications for users (Clarke & Lee, 2000). More importantly, an operating system used for cluster computing should have features such as stability for supporting robustness to counteract the failures of the system with recovery and portability over the various multiple architectures in place to support a cluster of computers which consists of heterogeneous hardware components.
The operating system need also the feature of extensibility in order to provide the smooth integration of various extensions to enhance the use of cluster computing. Primarily, the typical hardware of computers is armed with beneficial resources such as I/O devices, CPU, and memory. The tools are known to coordinate and interact with each other in a manner that is well defined. However, the existence of such devices in a cluster does not guarantee that the entire system works as expected especially in problem-solving and parallel programming (Hoefler, Barak, Shiloh, & Drezner, 2017). There must be an operating system which runs to control and allocate resources to the input and the output devices. More importantly, the primary objective of having an operating system to solve problems associated with a usable computing system is evidenced by its capability to make the use of computers easier during the conduct of various operations such as computing.
Logically, computer hardware is composed of a microprocessor, magnetic disks, and physical, electronic devices. All these fundamental components are the available resources to machines or computers that are useful in carrying out computational tasks (Sharma, 2008). The interaction of hardware is in the form of electronic signals whose code is usually in binary form in quite a sophisticated way. For the interaction with the hardware of computers and getting a computational work executed, the translation into the machine language of the job is needed. In essence, this brings the effect of increased throughput in using cluster computing. The link of the PCB, especially from its current queue, is removed during the change of state process. The operating system solves the problems inhibiting the enhancement of process scheduling to support cluster computing by maintaining process scheduling queues such as job queue, ready queue, and device queues (Silberschatz, Galvin, & Gagne, 2014).
Figure 1: Process Scheduler merged with CPU Operating Systems having Clustering Support i. MOSIX It was the Hebrew University of Jerusalem which developed the MOSIX operating system in the early 1990s. This OS refers to a cluster management system that is capable of providing a single-system image. This type of an operating system has the potential of running in a non-virtualized environment, which provides a better performance. MOSIX is implemented in clustering because of its load-balancing capabilities. The load balancing are moved from slower nodes to faster ones and simultaneously from nodes which run out of free memory. Figure 2: User’s and server's connected in MOSIX cluster ii. Solaris Solaris refers to an operating system that is applied to multiple clusters. The attractive aspect of Solaris MC in cluster computing is that there is no introduction of new failure nodes into UNIX as it is equipped with a distributed caching file system.
The Solaris operating system creates an environment that allows the possible access to any input and output device from any node on the system without bothering about the node which such a device is connected to as the various applications on the network can access devices as though they were just locally located (Buyya, 2000). The clustering support is implemented by engaging in the use of a packet filter which routes packets to an appropriate node while at the same time performing procedure processing on that node. Based on this, the system services’ replication can be enhanced on multiple nodes with the aim of providing lighter throughput as well as lower response times. When this is done, multiple processes tend to register themselves so as to behave as servers for a given service whereby every new connection is dealt with through the sending of different services to a different node which exists in the cluster as per the policy of load balancing.
The plan involves a process where each physical as well as virtual resource within the network is epitomized by an independent object to foster natural locality as well as the independence of all resources. The common techniques which are implementable in the Hurricane and the Tornado entails the reduction of contentions in clustered objects for the heavily shared parts including replication, partitioning, and distribution of objects, and this is how the clustering support in this type of operating systems is implemented. Ideally, this is based on the fact that clustered objects bring forth the impression of a distinct object, but then in reality, it is made up of multiple component objects. Conclusion The modern advancement in workstation and network performance have presented cluster computing as an attractive solution to nearly all the computational jobs in the field of information technology.
From $10 to earn access
Only on Studyloop