1. EEDC 3
4
3
3
Execution 0 Distributed Systems
Environments for
Distributed
Computing
Master in Computer Architecture,
Networks and Systems - CANS
Homework number: 6
Group number: EEDC-1
Group members:
Umit Cavus Buyuksahin
Ziwei Chen
Faik Aras Tarhan
{umit.cavus.buyuksahin, zwei.chen, faik.
aras.tarhan}@ac.upc.edu
2. OUTLINE
● Concepts of Distributed System
○ Definition
○ Brief history
○ Goals
○ Architecture
● Centralized & Decentralized Systems
● Differences from centralized & decentralized systems
○ Differences from centralized system
○ Differences from decentralized system
● Examples
● Conclusion
3. Definition
● A distributed system is a piece of software that ensures that: a
collection of independent computers appears to its users as
a single coherent system.
● Two aspects:
(1) Independent computers and (2) single system => middleware.
4. Brief history
● 1945 ~ 1985
○ ... computers were large and expensive
○ ... no way to connect them
○ ... all systems were Centralized Systems.
● Mid 1980s
○ ... powerful microprocessors.
○ ... high Speed Computer Networks (LANs, WANs).
● Then Distributed System came
5. Goals
● Resource Sharing
○ ... with Distributed Systems, it is easier for users to access remote resources
and to share resources with other users.
● Openness
○ ... the openness of DS is determined primarily by the degree to which new
resource-sharing services can be added and be made available for use by a
variety of client programs.
● Transparency
○ ... it hides the fact that the processes and resources are physically distributed
across multiple computers.
● Scalability
○ ... a system is described as scalable if it remains effective when there
is a significant increase in the number of resources and the number of
users.
● Concurrency
○ ... there is a possibility that several clients will attempt to access a
shared resource at the same time.
6. Architecture
A distributed system organized as middleware
The middleware layer extends over multiple machines, and
offers each application the same interface.
7. Centralized & Decentralized Systems
● Centralized Systems
○ ... designed around a central
workstation
(+) simple and ease to maintain
(-) non-scalable, single point of
failure
● Decentralized Systems
○ ... have exact opposite
characteristics of centralized sys.
(+) self-regulating, faster decision,
scalability
(-) difficult to manage
8. Differences From Centralized Systems
● Concurrency
... runs in concurrent processes on different processors
● Authority
... gives less authority to make decision
● Interaction
... more interaction between parts of organization
● Applicability
... best-suited to large industries and companies
9. Differences From Centralized Systems
● Communication
... from top to bottom, bottom to top as well as across
● Points of Control
... multiple points of control
● Points of Failure
... multiple points of failure
10. Differences From Decentralized Systems
● The difference is subtle.
● The terms are probably used more or less interchangeably by
many.
● Decentralized systems
○ ...not necessarily 'distributed'
○ ... does not have spread of functionality
○ ... less resilient
11. Examples
● The world wide web – information, resource sharing
● Clusters, Network of workstations
● It is easier for users to access remote resources and to
share resources with other users like
○ printers, files, Web pages, etc
● Distributed manufacturing system (e.g., automated
assembly line)
● Network of branch office computers - Information system to
handle automatic processing of orders
● Network of embedded systems
● New Cell processor (PlayStation 3)
12. Examples - Internet
● The Internet is a vast interconnected collection of computer
networks of many different types. [Coulouris et al, p.3]
● World’s largest client/server application
● Giant virtual disk
● Giant hyperlinked document
13. Examples - Centralized & Decentralized
● Napster
○ on startup, client contacts central server
○ reports list of files to central server
○ return someone that stores the requested file
○ get the file directly from peer
● BitTorrent
○ run a tracker server to publish
○ contact centralized “tracker”
server, get a list of peers
14. Examples - Centralized & Decentralized
● Gnutella
○ fully decentralized
○ search cost distributed
● FreeNet
● KaZaA
○ no dedicated server
○ not all peers are equal
○ on startup, client contacts a “supernode”
○ send query to supernode, supernodes flood query
among themselves
● DHTs