27
B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N. 1 Chapter 1. Fundamentals of Distributed Computing

DC Chapter 1.pdf

Embed Size (px)

DESCRIPTION

Distributed computing

Citation preview

Page 1: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

1

Chapter 1. Fundamentals of Distributed Computing

Page 2: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

2

1.1 Definition of a Distributed System:A distributed system is a collection of independent computers that appear to the users

of the system as a single computer.

This definition has two aspects. The first one deals with hardware: the machines areautonomous. The second one deals with software: the users think of the system as a single

Page 3: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

3

computer. Both are essential. We will come back to these points later in this chapter, aftergoing over some background material on both the hardware and the software.Rather than going further with definitions, it is probably more helpful to give severalexamples of distributed systems. As a first example, consider a network of workstations in auniversity or company department. In addition to each user's personal workstation, theremight be a pool of processors in the machine room that are not assigned to specific users butare allocated dynamically as needed. Such a system might have a single file system, with allfiles accessible from all machines in the same way and using the same path name.Furthermore, when a user typed a command, the system could look for the best place toexecute that command, possibly on the user's own workstation, possibly on an idleworkstation belonging to someone else, and possibly on one of the unassigned processors inthe machine room. If the system as a whole looked and acted like a classical single-processortimesharing system, it would qualify as a distributed system.

As a second example, consider a factory full of robots, each containing a powerful computerfor handling vision, planning, communication, and other tasks. When a robot on the assemblyline notices that a part it is supposed to install is defective, it asks another robot in the partsdepartment to bring it a replacement. If all the robots act like peripheral devices attached tothe same central computer and the system can be programmed that way, it too counts as adistributed system.

As a final example, think about a large bank with hundreds of branch offices all over theworld. Each office has a master computer to store local accounts and handle localtransactions. In addition, each computer has the ability to talk to all other branch computersand with a central computer at headquarters. If transactions can be done without regard towhere a customer or account is, and the users do not notice any difference between thissystem and the old centralized mainframe that it replaced, it too would be considered adistributed system.

The following are the four important points with respect to Distributed Computing Systemi. Multiprocessor System.

ii. Processors are geographically apart.iii. Communication is by message passing.iv. Coordination among the processors to the specific task.

Page 4: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

4

1.2 Goals and Motivation:

Just because it is possible to build distributed systems does not necessarily mean that it is agood idea. After all, with current technology it is possible to put four floppy disk drives on apersonal computer. It is just that doing so would be pointless. In this section we will discussthe motivation and goals of typical distributed systems and look at their advantages anddisadvantages compared to traditional centralized systems.

1.2.1 Advantages of Distributed Systems over Centralized SystemsThe real driving force behind the trend toward decentralization is economics. A quarter of acentury ago, computer pundit and gadfly Herb Grosch stated what later came to be known asGrosch's law: The computing power of a CPU is proportional to the square of its price. Bypaying twice as much, you could get four times the performance. This observation fit themainframe technology of its time quite well, and led most organizations to buy the largestsingle machine they could afford.With microprocessor technology, Grosch's law no longer holds. For a few hundred dollarsyou can get a CPU chip that can execute more instructions per second than one of the largest1980s mainframes. If you are willing to pay twice as much, you get the same CPU, butrunning at a somewhat higher clock speed.

As a result, the most cost-effective solution is frequently to harness a large number of cheapCPUs together in a system. Thus the leading reason for the trend toward distributed systemsis that these systems potentially have a much better price/performance ratio than a singlelarge centralized system would have. In effect, a distributed system gives more bang for thebuck.

1.2.2 Advantages of Distributed Systems over Independent PCs

Given that microprocessors are a cost-effective way to do business, why not just giveeveryone his own PC and let people work independently? For one thing, many users need toshare data. For example, airline reservation clerks need access to the master data base offlights and existing reservations. Giving each clerk his own private copy of the entire data

Page 5: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

5

base would not work, since nobody would know which seats the other clerks had alreadysold. Shared data are absolutely essential to this and many other applications, so the machinesmust be interconnected. Interconnecting the machines leads to a distributed system. Sharingoften involves more than just data. Expensive peripherals, such as color laser printers,phototypesetters, and massive archival storage devices (e.g., optical jukeboxes), are alsocandidates.

1.2.3 Disadvantages of Distributed System:

Although distributed systems have their strengths, they also have their weaknesses. In thissection, we will point out a few of them. We have already hinted at the worst problem:software. With the current state-of-the-art, we do not have much experience in designing,implementing, and using distributed software. What kinds of operating systems,programming languages, and applications are appropriate for these systems? How muchshould the users know about the distribution? How much should the system do and howmuch should the users do? The experts differ (not that this is unusual with experts, but whenit comes to distributed systems, they are barely on speaking terms). As more research is done,this problem will diminish, but for the moment it should not be underestimated.

Page 6: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

6

1.3 Advantages of Distributed Computing:

From the models of distributed computing systems presented above, it is obvious thatdistributed computing systems are much more complex and difficult to build than traditionalcentralized systems (those consisting of a single CPU, its memory, peripherals, and one ormore terminals). The increased complexity is mainly due to the fact that in addition to beingcapable of effectively using and managing a very large number of distributed resources, thesystem software of a distributed computing system should also be capable of handling thecommunication and security problems that are very different from those of centralizedsystems. For example, the performance and reliability of a distributed computing systemdepends to a great extent on the performance and reliability of the underlying communicationnetwork. Special software is usually needed to handle loss of messages during transmissionacross the network or to prevent overloading of the network, which degrades the performanceand responsiveness to the users. Similarly, special software security measures are needed toprotect the widely distributed shared resources and services against intentional or accidentalviolation of access control and privacy constraints. Despite the increased complexity and thedifficulty of building distributed computing systems, the installation and use of distributedcomputing systems are rapidly increasing. This is mainly because the advantages ofdistributed computing systems outweigh their disadvantages. The technical needs, theeconomic pressures, and the major advantages that have led to the emergence and popularityof distributed computing systems are described next.

Page 7: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

7

1.4 Distributed Computing System Model:

Page 8: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

8

Page 9: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

9

Page 10: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

10

Page 11: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

11

Page 12: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

12

Page 13: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

13

Page 14: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

14

1.5 Distributed Operating System:

Page 15: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

15

Page 16: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

16

Page 17: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

17

Page 18: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

18

A Distributed Computing System that uses a Network Operating System is usually referred toas a Network System, whereas one that uses a Distributed Operating System is usuallyreferred to as a true Distributed System or simply a Distributed System.

Page 19: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

19

1.6 Issues in Designing a Distributed Operating System or DesignGoals of Distributed Computing System:

1.6.1 Transparency:

Page 20: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

20

Page 21: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

21

Page 22: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

22

Page 23: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

23

1.6.2 Reliability:

Fault ToleranceFault Tolerance is the ability of a system to continue functioning in the event of partialsystem failure. The performance of the system might be degraded due to partial failure, butotherwise the system functions properly.

Fault ToleranceThe fault detection and recovery method of improving reliability deals with the use ofHardware and Software mechanisms to determine the occurrence of a failure and then tocorrect the system to a state acceptable for continues operation.

1.6.3 Flexibility

Page 24: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

24

1.6.4 Performance:

1.6.5 Scalability:

users.

1.6.6 Heterogeneity:

Page 25: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

25

1.6.7 Security:

1.6.8 Emulation of Existing Operating System:

Page 26: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

26

1.7 Distributed Computing Environment:

Page 27: DC Chapter 1.pdf

B.E. Comp. Engg (D.C.) Fundamentals Tatwadarshi.P.N.

27

1.8 Difference between Multicomputer System andMultiprocessor System:

Design

Because multicomputer systems are made up of more than one computer, they take upmore space than the average desktop computer. Multiprocessor computers are more space-effective because the processors need a single motherboard, placed in a single case.

Processing Power

Multicomputer systems are used when strong computer power is required, becauseeach processor uses its own dedicated memory. Two examples of their usage are 3-D medicalimaging devices and mobile radars. Multiprocessor computers are less powerful thanmulticomputer systems because their processors share the same memory.

Display

Multicomputer systems can output on several display devices, in directcorrespondence with the number of computers present. Multiprocessor computers can outputto a limited number of displays, depending on their graphics processing unit.

Efficiency and Usability

When working with a multicomputer system, you can distribute different tasks to eachcomputer. You can write an essay on one machine while another encodes a video file. Also, ifyou need to walk away from a computer, you can pick up exactly where you left off onanother machine. In the unfortunate event one computer shuts down unexpectedly, you cancontinue working on the other computers. A multiprocessor computer, although definitelyfaster than a desktop computer, is less efficient. If the system shuts down unexpectedly, youmust wait for it to reboot or, in a worst case scenario, have it repaired.