Lect 2 Types of Distributed Systems.pptx

PardonSamson 173 views 41 slides Sep 25, 2022
Slide 1
Slide 1 of 41
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41

About This Presentation

Lectur 2 of Distribute Systems


Slide Content

Types of Distributed Systems Lect 2 Edited by dennis boera

Advantages of Distributed Systems All the nodes in the distributed system are connected to each other. So nodes can easily share data with other nodes. More nodes can easily be added to the distributed system i.e. it can be scaled as required. Failure of one node does not lead to the failure of the entire distributed system. Other nodes can still communicate with each other. Resources like printers can be shared with multiple nodes rather than being restricted to just one.

Disadvantages of Distributed Systems It is difficult to provide adequate security in distributed systems because the nodes as well as the connections need to be secured. Some messages and data can be lost in the network while moving from one node to another. The database connected to the distributed systems is quite complicated and difficult to handle as compared to a single user system. Overloading may occur in the network if all the nodes of the distributed system try to send data at once.

Advantages of Distributed Systems over Centralized Systems Economics : a collection of microprocessors offer a better price/performance than mainframes. Low price/performance ratio: cost effective way to increase computing power. Speed : a distributed system may have more total computing power than a mainframe. Ex. 10,000 CPU chips, each running at 50 MIPS.

Inherent distribution : Some applications are inherently distributed. Example: a supermarket chain. Reliability (fault tolerance ) : If one machine crashes, the system as a whole can still survive. Higher availability and improved reliability. Incremental growth : Computing power can be added in small increments. Modular expandability Another deriving force : the existence of large number of personal computers, the need for people to collaborate and share information.

Performance: very often a collection of processors can provide higher performance (and better price/performance ratio) than a centralized computer. Distribution: many applications involve, by their nature, spatially separated machines (banking, commercial, automotive system). Incremental growth: as requirements on processing power grow, new machines can be added incrementally .

Sharing of data/resources: shared data is essential to many applications (banking, computer-supported cooperative work, reservation systems); other resources can be also shared (e.g. expensive printers). Communication: facilitates human-to-human communication.

Advantages of Distributed Systems over Independent PCs Data sharing: allow many users to access to a common database. Resource Sharing: expensive peripherals like color printers Communication: enhance human-to-human communication, e.g., email, chat Flexibility: spread the workload over the available machines

Disadvantages of Distributed Systems Difficulties of developing distributed software : how should operating systems, programming languages and applications look like? Networking problems : several problems are created by the network infrastructure, which have to be dealt with: loss of messages, overloading, ... Security problems : sharing generates the problem of data security.

types of failures in distributed system Halting failures: A component simply stops. There is no way to detect the failure except by timeout: it either stops sending "I'm alive" (heartbeat) messages or fails to respond to requests. Your computer freezing is a halting failure . Fail-stop : A halting failure with some kind of notification to other components. A network file server telling its clients it is about to go down is a fail-stop .

Omission failures: Failure to send/receive messages primarily due to lack of buffering space, which causes a message to be discarded with no notification to either the sender or receiver. This can happen when routers become overloaded. Network failures: A network link breaks. Network partition failure: A network fragments into two or more disjoint subnetworks within which messages can be sent, but between which messages are lost . This can occur due to a network failure.

Timing failures: A temporal property of the system is violated. For example, clocks on different computers which are used to coordinate processes are not synchronized ; when a message is delayed longer than a threshold period, etc. Byzantine failures: This captures several types of faulty behaviors including data corruption or loss, failures caused by malicious programs , etc.

Design Issues of Distributed Systems Transparency Flexibility Reliability Performance Scalability Openness Security Heterogeneity

1. Transparency How to achieve the single-system image, i.e., how to make a collection of computers appear as a single computer. Hiding all the distribution from the users as well as the application programs can be achieved at two levels: hide the distribution from users at a lower level, make the system look transparent to programs. 1) and 2) requires uniform interfaces such as access to files, communication.

Types of transparency Location Transparency: users cannot tell where hardware and software resources such as CPUs, printers, files, data bases are located. Migration Transparency: resources must be free to move from one location to another without their names changed. E.g., / usr /lee, /central/ usr /lee Replication Transparency: OS can make additional copies of files and resources without users noticing.

Concurrency Transparency: The users are not aware of the existence of other users. Need to allow multiple users to concurrently access the same resource. Lock and unlock for mutual exclusion. Parallelism Transparency: Automatic use of parallelism without having to program explicitly. The holy grail for distributed and parallel system designers.

2. Flexibility The design of a distributed operating system should be flexible due to the following reasons: 1. Ease of modification. 2. Ease of enhancement 3. Make it easier to change

3. Reliability Distributed system should be more reliable than single system Availability: fraction of time the system is usable. Redundancy improves it. Need to maintain consistency Need to be secure Fault tolerance: need to mask failures, recover from errors.

Availability: If machines go down, the system should work with the reduced amount of resources. There should be a very small number of critical resources (single points of failure); critical resources: resources which have to be up in order the distributed system to work.

4. Performance Without gain on this, why bother with distributed systems. Performance loss due to communication delays: fine-grain parallelism: high degree of interaction coarse-grain parallelism Performance loss due to making the system fault tolerant.

5. Scalability Systems grow with time or become obsolete. Techniques that require resources linearly in terms of the size of the system are not scalable. e.g., broadcast based query won't work for large distributed systems. Examples of bottlenecks Centralized components: a single mail server Centralized tables: a single URL address book Centralized algorithms: routing based on complete information

6. Openness Openness One of the important features of distributed systems is openness and flexibility: - every service is equally accessible to every client (local or remote); - it is easy to implement, install and debug new services; - users can write and install their own services.

7. Security In order that the users can trust the system and rely on it, the various resources of a computer system must be protected against destruction and unauthorized access. Enforcing security in a distributed system is more difficult than in a centralized system because of the lack of a single point of control and the use of insecure networks for data communication.

8. Heterogeneity A heterogeneous distributed system consists of interconnected sets of dissimilar hardware or software systems. Because of the diversity, designing heterogeneous distributed systems is far more difficult than designing homogeneous distributed systems in which each system is based on the same, or closely related, hardware and software.

Types of Distributed Systems Distributed Computing Systems Distributed Information Systems

Distributed Computing Systems Distributed systems used for high-performance computing task 1. cluster computing - the underlying hardware consists of a collection of similar workstations or PCs , closely connected by means of a high-speed local-area network, each node runs the same operating system. 2. grid computing - constructed as a federation of computer systems, where each system may fall under a different administrative domain, and may be very different when it comes to hardware, software , and deployed network technology.

1. Cluster Computing Systems price/performance ratio of personal computers and workstations became financially and technically attractive to build a supercomputer using off-the-shelf technology by simply hooking up a collection of relatively simple computers in a high-speed network. In virtually all cases, cluster computing is used for parallel programming in which a single (compute intensive) program is run in parallel on multiple machines .

example of a cluster computer - Linux-based Beowulf clusters Each cluster consists of a collection of compute nodes that are controlled and accessed by means of a single master node.

M aster node: handles the allocation of nodes to a particular parallel program maintains a batch queue of submitted jobs provides an interface for the users of the system the master runs the middleware needed for the execution of programs and management of the cluster middleware is formed by the libraries for executing parallel programs.

An example of a cluster computing system .

2. Grid Computing Systems Grid computing systems have a high degree of heterogeneity: no assumptions are made concerning hardware, operating systems, networks, administrative domains, security policies, etc . Key issue in a grid computing system - resources from different organizations are brought together to allow the collaboration of a group of people or institutions - forms a virtual organization.

Members of the same virtual organization have access rights to the resources that are provided to that organization. Resources consist of compute servers (including supercomputers, possibly implemented as cluster computers), storage facilities, and databases. In addition, special networked devices such as telescopes, sensors, etc., can be provided as well.

Four layer architecture: fabric layer: provides interfaces to local resources at a specific site. Interfaces are tailored to allow sharing of resources within a virtual organization. Provide functions for querying the state and capabilities of a resource, along with functions for actual resource management (e.g., locking resources ).

2a. connectivity layer: consists of communication protocols for supporting grid transactions that span the usage of multiple resources. Contains security protocols to authenticate users and resources. In many cases human users are not authenticated - programs acting on behalf of the users are authenticated.

2b. resource layer: Responsible for managing a single resource. Uses functions provided by the connectivity layer and calls directly the interfaces made available by the fabric layer. Responsible for access control, and hence will rely on the authentication performed as part of the connectivity layer.

3. collective layer: H andles access to multiple resources Consists of services for resource discovery, allocation and scheduling of tasks onto multiple resources , data replication, etc. May consist of many different protocols for many different purposes, reflecting the broad spectrum of services it may offer to a virtual organization .

4. application layer - consists of the applications that operate within a virtual organization and which make use of the grid computing environment.

Grid Middleware layer Collective layer, Connectivity layer and Resource layer.

provide access to and management of resources that are potentially dispersed across multiple sites . shift toward a service-oriented architecture in which sites offer access to the various layers through a collection of Web services led to the definition of an alternative architecture known as the Open Grid Services Architecture (OGSA). consists of various layers and many components, making it rather complex.

end
Tags