Networking and Distributed Computing Lecture5: Introduction to Distributed

advertisement
Networking and Distributed
Computing
Lecture5: Introduction to Distributed
System
Assist. Lecturer: Suad Abdulelah Alasadi
18/4/2016
What is a Distributed System
 A distributed system is A collection of independent computers that
appears to its users as a single coherent system.
A distributed system consists of multiple autonomous computers that
communicate through a computer network. The computers interact with each
other in order to achieve a common goal. A computer program that runs in a
distributed system is called a distributed program, and distributed
programming is the process of writing such programs.
Distributed computing is a field of computer science that studies distributed
systems.
Distributed computing also refers to the use of distributed systems to solve
computational problems. In distributed computing, a problem is divided into
many tasks, each of which is solved by one or more computers.
They communicate with each other by message passing.
2
Example of Distributed systems
• A distributed system is one in which
components located at network computers
communicate and coordinate their actions by
message passing.
• Three examples of distributed system
• Internet
• An intanet which ia a portion of the internet
managed by an organization
• Mobile computing
3
A typical portion of the Internet
intranet
%
ISP
%
%
%
backbone
satellite link
desktop computer:
server:
network link:
4
5
6
Centralized vs. Distributed Computing
terminal
mainframe computer
workstation
network link
network host
centralized computing
distributed computing
7
Centralized vs. Distributed Computing
terminal
mainframe computer
workstation
Early computing was performed on a
single processor. Uni-processor computing
can be called centralized computing.
network link
network host
centralized computing
distributed computing
8
Centralized vs. Distributed Computing
terminal
mainframe computer
A distributed system is a collection of
independent computers, interconnected
via a network, capable of collaborating
on a task.
workstation
Distributed computing is computing
performed in a distributed system.
network link
Distributed computing has become
increasingly common due advances that
have made both machines and networks
cheaper and
faster computing
centralized
network host
distributed computing
9
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.
• Inherent distribution: Some applications are inherently distributed. Ex. a
supermarket chain.
• Reliability: 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.
10
Advantages of Distributed Systems
over Independent PCs
– Data sharing: allow many users to access to a common
data base
– 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
11
Disadvantages of Distributed Systems
– Software: difficult to develop software for distributed
systems
– Network: saturation, lossy transmissions
– Security: easy access also applies to secrete data
12
Design Issues of Distributed Systems
•
•
•
•
•
Transparency
Flexibility
Reliability
Performance
Scalability
13
Design Issues of Distributed Systems
1. Transparency
• How to achieve the single-system image, i.e., how to make
a collection of computers appear as a single computer.
2. Flexibility
Make it easier to change in hardware , software and
services of distributed system component.
3. Reliability
Distributed system should be more reliable than single
system.
14
Design Issues of Distributed Systems
4. Performance
•Performance loss due to communication delays
•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.
15
Thank You
16
Download