You are on page 1of 27

B.E. Comp.

Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

Chapter 1. Fundamentals of Distributed Computing

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

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 are
autonomous. The second one deals with software: the users think of the system as a single
2

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

computer. Both are essential. We will come back to these points later in this chapter, after
going over some background material on both the hardware and the software.
Rather than going further with definitions, it is probably more helpful to give several
examples of distributed systems. As a first example, consider a network of workstations in a
university or company department. In addition to each user's personal workstation, there
might be a pool of processors in the machine room that are not assigned to specific users but
are allocated dynamically as needed. Such a system might have a single file system, with all
files 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 to
execute that command, possibly on the user's own workstation, possibly on an idle
workstation belonging to someone else, and possibly on one of the unassigned processors in
the machine room. If the system as a whole looked and acted like a classical single-processor
timesharing system, it would qualify as a distributed system.
As a second example, consider a factory full of robots, each containing a powerful computer
for handling vision, planning, communication, and other tasks. When a robot on the assembly
line notices that a part it is supposed to install is defective, it asks another robot in the parts
department to bring it a replacement. If all the robots act like peripheral devices attached to
the same central computer and the system can be programmed that way, it too counts as a
distributed system.
As a final example, think about a large bank with hundreds of branch offices all over the
world. Each office has a master computer to store local accounts and handle local
transactions. In addition, each computer has the ability to talk to all other branch computers
and with a central computer at headquarters. If transactions can be done without regard to
where a customer or account is, and the users do not notice any difference between this
system and the old centralized mainframe that it replaced, it too would be considered a
distributed system.
The following are the four important points with respect to Distributed Computing System
i.
Multiprocessor System.
ii.
Processors are geographically apart.
iii. Communication is by message passing.
iv.
Coordination among the processors to the specific task.

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

1.2 Goals and Motivation:


Just because it is possible to build distributed systems does not necessarily mean that it is a
good idea. After all, with current technology it is possible to put four floppy disk drives on a
personal computer. It is just that doing so would be pointless. In this section we will discuss
the motivation and goals of typical distributed systems and look at their advantages and
disadvantages compared to traditional centralized systems.
1.2.1 Advantages of Distributed Systems over Centralized Systems
The real driving force behind the trend toward decentralization is economics. A quarter of a
century ago, computer pundit and gadfly Herb Grosch stated what later came to be known as
Grosch's law: The computing power of a CPU is proportional to the square of its price. By
paying twice as much, you could get four times the performance. This observation fit the
mainframe technology of its time quite well, and led most organizations to buy the largest
single machine they could afford.
With microprocessor technology, Grosch's law no longer holds. For a few hundred dollars
you can get a CPU chip that can execute more instructions per second than one of the largest
1980s mainframes. If you are willing to pay twice as much, you get the same CPU, but
running at a somewhat higher clock speed.
As a result, the most cost-effective solution is frequently to harness a large number of cheap
CPUs together in a system. Thus the leading reason for the trend toward distributed systems
is that these systems potentially have a much better price/performance ratio than a single
large centralized system would have. In effect, a distributed system gives more bang for the
buck.

1.2.2 Advantages of Distributed Systems over Independent PCs


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

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

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

1.2.3 Disadvantages of Distributed System:


Although distributed systems have their strengths, they also have their weaknesses. In this
section, 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 much
should the users know about the distribution? How much should the system do and how
much should the users do? The experts differ (not that this is unusual with experts, but when
it 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.

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

1.3 Advantages of Distributed Computing:


From the models of distributed computing systems presented above, it is obvious that
distributed computing systems are much more complex and difficult to build than traditional
centralized systems (those consisting of a single CPU, its memory, peripherals, and one or
more terminals). The increased complexity is mainly due to the fact that in addition to being
capable of effectively using and managing a very large number of distributed resources, the
system software of a distributed computing system should also be capable of handling the
communication and security problems that are very different from those of centralized
systems. For example, the performance and reliability of a distributed computing system
depends to a great extent on the performance and reliability of the underlying communication
network. Special software is usually needed to handle loss of messages during transmission
across the network or to prevent overloading of the network, which degrades the performance
and responsiveness to the users. Similarly, special software security measures are needed to
protect the widely distributed shared resources and services against intentional or accidental
violation of access control and privacy constraints. Despite the increased complexity and the
difficulty of building distributed computing systems, the installation and use of distributed
computing systems are rapidly increasing. This is mainly because the advantages of
distributed computing systems outweigh their disadvantages. The technical needs, the
economic pressures, and the major advantages that have led to the emergence and popularity
of distributed computing systems are described next.

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

1.4 Distributed Computing System Model:

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

10

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

11

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

12

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

13

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

1.5 Distributed Operating System:

14

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

15

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

16

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

17

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

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

18

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

1.6 Issues in Designing a Distributed Operating System or Design


Goals of Distributed Computing System:

1.6.1 Transparency:

19

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

20

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

21

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

22

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

1.6.2 Reliability:

Fault Tolerance
Fault Tolerance is the ability of a system to continue functioning in the event of partial
system failure. The performance of the system might be degraded due to partial failure, but
otherwise the system functions properly.
Fault Tolerance
The fault detection and recovery method of improving reliability deals with the use of
Hardware and Software mechanisms to determine the occurrence of a failure and then to
correct the system to a state acceptable for continues operation.

1.6.3 Flexibility

23

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

1.6.4 Performance:

1.6.5 Scalability:

users.

1.6.6 Heterogeneity:

24

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

1.6.7 Security:

1.6.8 Emulation of Existing Operating System:

25

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

1.7 Distributed Computing Environment:

26

B.E. Comp. Engg

(D.C.) Fundamentals

Tatwadarshi.P.N.

1.8 Difference between Multicomputer System and


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

Processing Power
Multicomputer systems are used when strong computer power is required, because
each processor uses its own dedicated memory. Two examples of their usage are 3-D medical
imaging devices and mobile radars. Multiprocessor computers are less powerful than
multicomputer systems because their processors share the same memory.

Display
Multicomputer systems can output on several display devices, in direct
correspondence with the number of computers present. Multiprocessor computers can output
to 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 each
computer. You can write an essay on one machine while another encodes a video file. Also, if
you need to walk away from a computer, you can pick up exactly where you left off on
another machine. In the unfortunate event one computer shuts down unexpectedly, you can
continue working on the other computers. A multiprocessor computer, although definitely
faster than a desktop computer, is less efficient. If the system shuts down unexpectedly, you
must wait for it to reboot or, in a worst case scenario, have it repaired.

27

You might also like