ALL > Computer and Education > courses > university courses > graduate courses > modern operating system > ZSTU-(2019-2020-2) Class > student directories > L20192E060104 M.ABDULLAH AL >
Assignment 4- Write a review paper about the detailed comparisons between Centralized systems and distributed systems , submit one choice question for the exam database and one dialog for self tutor. Version 0
šŸ‘¤ Author: by tanbirmahamudyahoocom 2020-05-17 16:33:29
1.Introduction:

The increasing use of workstation clusters (distributed systems) as a substitute for traditional stand-alone computer systems (mainframes) has gained a widely spread popularity due to the existence of inexpensive and powerful workstations. Recent advances in technology allow for the building of clusters of workstations by connecting high-performance workstations and/or PCs using a suitable network. Many experimental distributed systems with different types of networks have already been built at universities and research laboratories. Usually, a distributed system always contains some idle workstations, whose computing power is not used. Douglis [1] for instance estimated that one-third of all workstations are usually idle in the Sprite system. In order to exploit that unused computing power, several software tools have been developed which offer remote executions of processes. Moreover, the user community of such a distributed system is usually not homogeneous: A. Bricker et al. [2] for instance, have observed three types of users: Type 1 users mostly use their workstations for sending and receiving mail or preparing papers, whereas type 2 users are frequently involved in the debugging cycle where they alternately edit and compile software. Such users have phases where their computing capacity is more than sufficient (e.g. during the editing of source code) and some other phases by turns (e.g. during the compilation) where they can make good use of more computing power. Finally, type 3 are users who frequently do large numbers of simulations. These users are usually never satisfied with the offered performance of just one single workstation and wish to distribute their load onto several machines working in parallel. Recent research is focusing on different solutions to exploit the unused processing power of these workstations. Resource Management Systems and Distributed Operating Systems are some solutions of this problem already found. Some well-known examples will be introduced briefly in section 3. In contrast to these solutions, we will show another attempt to exploit the overall performance of a workstation cluster. Within our concept, the cluster is regarded as a pool of workstations which in common take over the tasks of a mainframe. Thus, the system concept is similar to that of the traditional centralized system (mainframe), but with the exception that it is actually implemented as a distributed system and that workstations within that cluster are allocated depending on the requirements of the users’ applications. The basic idea of our system is therefore sharing a pool of UNIX workstations among all users and allocating the most appropriate workstation in order to meet the applications’ requirements. The main targets of this project are: • Developing a software system that hides the system’s topology from the users and eases the access to the system (i.e. user should not become aware of the fact that the underlying system is a distributed system). • Designing a dynamic resource allocation made available for each users’ application according to its requirements (i.e. dynamically allocating the best suited workstation to the user depending on his application requirements). Section 4 will give a detailed overview of our system. In the next section we will discuss both centralized and decentralized systems, and introduce the design concepts as well as advantages and disadvantages of each concept. Section 5 will finally close this paper with some conclusions.

2.Computation Models:

This section describes the concepts of the centralized and the decentralized system model. Advantages as well as disadvantages of both systems will be given. 2.1 Centralized System Model (Mainframe) A mainframe system architecture is designated by some kind of centralized environments. Users of the mainframe are attached to central computer resources (e.g. the CPU or disk drives) via terminals. These terminals work as a user interface between the user and the mainframe, so that all commands received by the terminal are sent to the mainframe’s CPU for execution. Since there may be hundreds of users working on the mainframe during the day, it must be able to handle multitask operations. This is done by continually switching between users’ processes (time sharing), so that the mainframe appears as if it executes each application (user process) simultaneously. In a centralized system, all computing power may be allocated to one user when no other users are attached to the system. As a consequence, the execution time of all users’ applications will be increased if the mainframe serves many users. The main advantages and disadvantages are listed in table 1.

2.2 Decentralized (Distributed) System Model:

A distributed system in our view is a collection of autonomous workstations and/or PCs connected by a suitable network, enabling client/server architectures. In contrast to centralized system architectures, the client-server model (distributed system) has gained a widely spread acceptance due to its advantages, like its flexibility and superior performance/costs ratio.However, a client-server system does not appear as a single computing device like the mainframe, since users must explicitly execute special commands to exploit the processing power of another workstation (e.g. rlogin, rsh) or special software tools which carry out this task. With such software tools, distributed systems provide high availability of resources at low costs, thus an application can be executed on different workstations at the same time in order to shorten the application response time. Some considerable advantages and disadvantages of distributed systems are listed in table 2.

3 Distributed System Approach:

Managing distributed systems means controlling and supervising system resources in order to satisfy the user requirements by sharing resources among all users and balancing the load of the whole system. In comparison with traditional centralized systems, it is much more difficult to manage distributed computing systems, since the resources are distributed over a set of separate workstations and/or different sites and can only be accessed via the network. Therefore, a resource management system or another kind of software tool is needed in order to exploit the overall performance of the distributed system and to minimize the average response time of the users’ applications. Such a software tool is either located between the user applications and the operating system (like resource management systems which are capable of exploiting the overall performance of distributed systems while hiding the distribution aspect from the user) or between user applications and the hardware (like distributed operating systems, which are capable of hiding the distribution aspect from the user and create ease of use of the underlying system).

3.1 Resource Management Systems:

Resource management systems (e.g. LSF, Condor, ...) are software tools that allow users to execute their applications on the most lightly loaded workstations without the need for the users to arrange a remote execution by using special commands for the underlying operating system. Decentralized (Distributed) Systems advantages disadvantages • It is less expensive (hardware and software) than the centralized system. • Flexibility, i.e. possibility to add some new and powerful workstations to enhance system performance in a cost-efficient way. • Performance: one user can use all workstations of the system to perform his job faster by assigning each application to the best suited workstation. • Fault tolerance in this system is extremely high, e.g. when one workstation goes down, the system will go on operating, but with less processing power. • Scalability of distributed system is very high. • Decentralized systems may consist of some specialized workstations for specific applications (like applications that need a large amount of processing power). • It needs more complex system management. • Users must execute special commands / software to exploit the unused performance of other workstations. • It needs a complex software to recover faults in the intercommunication network. Table 2: Some advantages and disadvantages of a distributed system Such systems are popular due to their benefits, like distributing the workload onto each workstation of the distributed system or the checkpointing mechanism for systems that offer process migration (task migration rsp.). With the help of resource management systems, distributed systems appear to the user as a single computing system providing a high throughput and better performance. There are many resource management systems, either for research or commercial. They differ in their implementations and mechanisms to treat the lack of the resource management in distributed systems. Examples of such systems are

3.2 Distributed Operating Systems:

Distributed Operating Systems are software environments that attempt to make the underlying system architecture act as a transparent system. Like a conventional operating system (OS), distributed operating systems consist of a uniform process space providing the basic functions of the OS, but with the difference that these functions are realized by different servers/machines which are usually part of the cluster. Hereby, each OS command is sent to the serving machine (responsible for the execution of that command) that eventually returns the results. This is done using the network between the nodes. From the users’ point of view, the cluster looks like a single time-sharing system. There are many distributed operating systems. They differ in their architectures and implemented mechanisms. Some of them have been invented on the basis of traditional operating systems like UNIX, others have been designed completely from the start. These distributed operating systems are built to support either a processor pool model or a workstation pool model. The former model consists of a pool of processors, each with its own memory, and may be accessed from the user via X-Terminals. The latter system consists of some workstations connected by a LAN. Here, the user can use any workstation as a user interface to the system. In the following we will introduce some well-known distributed operating systems, show their architectures and concepts and point out their advantages and disadvantages. • Amoeba Amoeba is a distributed operating system which allows a set of computers (CPUs) to act as a single conventional time-sharing system [7][8][9][10]. • Sprite Sprite is a distributed operating system compatible with UNIX. Its basic design goal was the development of new technologies for the implementation of UNIX-like facilities in a workstation cluster [11][12], assuming a traditional model of computation. • V Distributed Operating System The V distributed system [16] is an operating system for a cluster of workstations connected via a high speed intercommunication network. • MOSIX MOSIX [17] is a distributed operating system that allows to enhance the utilization of a collection of workstations and that makes them appear as a single-machine UNIX environment.

4 A System of Virtual Workstations:

(ViWo) Over the past few years, research has been focused on finding solutions exploiting the scattered workstation performance either by use of a resource management system or a distributed operating system. ViWo system attempts to solve this problem by allocating the spare workstation performance of type 1 and type 2 users to be exploited by type 3 users [2]. In contrast to Condor which allocates idle workstations to type 3 users, ViWo system automatically assigns appropriate workstations to each user according to his applications’ requirements. For example, if a user simply wants to edit a (program) text, a workstation with low processing power will be assigned to him. If the same user needs to compile the edited program text, the system will assign another suited workstation to him if the workstation the user himself is logged in is not suited for this job. Therefore, the user has access to a virtual workstation that is the most useful machine for his topical task. ViWo system is a software tool capable of integrating a transparent system from a collection of workstations running UNIX with a distributed file system (Fig. 2). It provides the user with a single computing system device that is actually implemented as a distributed system. This means that ViWo does not follow the conception of special home workstations for each user, but the conception of a "public" workstation pool that may be accessed by all users. The basic idea is similar to that of a traditional mainframe, with the difference that the "mainframe" is now implemented in form of a cluster of workstations. Applications are executed on different workstations according to their requirements and the underlying workstation performance. The system transparently assigns each user application to the most appropriate workstation according to its requirements (e.g. demands for CPU time or memory space). For this, users do not need to give explicit commands in order to execute some applications on another (remote) workstation. The systems allows users to exploit the processing power of the cluster not really knowing where his/her applications are eventually executed. As already mentioned, the mechanism of the time-sharing system is sharing one powerful computing unit among all users by switching between the users’ processes. The mechanism of the ViWo system however is sharing a pool of UNIX workstations among all users to meet solely their specific job requirements. As within other systems, ViWo system software (Fig. 1) is located between the user (applications) level and the operating system level, that means the system will operate in a way that the user has no information that the underling system is a collection of autonomous workstations but a transparent system (single computing device). Moreover, it operates without any modification of the underlying operating system kernel.

4.1 ViWo System Load Balancing:

Load balancing is usually defined as a technique that attempts to balance the workload among all workstations in order to achieve maximal utilization of the system potential resources and minimal system response time. Load balancing policies can be divided into two categories: static and dynamic. Static load balancing denotes the initial distribution of tasks (processes) among the workstations at their submission, while dynamic load balancing denotes the distribution and redistribution (migration) of processes even at run time according to the current system (load) information.

Moreover, dynamic load balancing strategies can be further divided into centralized and decentralized policies. In the centralized strategy, one workstation acts as the system load balancer (manager) which must collect the load information of all workstations and migrate processes between workstations according to their load. In the decentralized one, each workstation acts as a load balancer exchanging load information with other machines in order to decide where and when to migrate processes. Dynamic load balancing depends on some factors: • distributed system configuration (processors type and architecture, network type and topology) • application requirements (CPU, memory,) • load balancing tools (load information, process migration)

Ā 

Ā 

5 Conclusion:

Compared with conventional centralized systems (mainframes), distributed computing systems offer some considerable advantages (e.g. scalability, performance/costs ratio etc.), however at the expense of a much more complicated system management that is necessary for the exploitation of unused resources. Up to now, most attempts to replace mainframes by distributed computer systems are based on conventional time-sharing-conceptions. User UD RD Compression Workstation Cluster WS1 WS2 WSn User has permission to access the system User has no permission to access the system Main Manager UD and RD Connection Connection Failed WS Request Request connection to the user WS Load Fig. 6: Connection Protocol In contrast to these attempts, we have introduced a new approach to a distributed system that operates with workstation-sharing (ViWo system). Within this system, each user is working on a machine that is suitable for the execution of his topical application (workstation sharing). If the user works simultaneously with different applications, he is also simultaneously attached to different machines, each chosen depending on the applications’ requirements, without being aware of it (transparency). Thus, ViWo system provides a solution to reduce and exploit idle times in workstation clusters. It is a software tool which tries to make a better use of the processing power of each workstation by assigning the most appropriate workstation(s) to each user to meet only his/her application requirements automatically. Using this system, we can reduce the number of workstations in each cluster that are essential for the settlement of all user tasks. ViWo system as a transparent system is supported by a network file system (NFS) to facilitate the access to any file from any workstation. Check pointing and process migration is not intended for the first version. It tries to combines the best aspects of the resource management systems and distributed operating system to enhance the utilization of workstation clusters with the intention to reduce the number of essential workstations.

Please login to reply. Login

Reversion History

Loading...
No reversions found.