Upload
roger-rafanell-mas
View
238
Download
0
Embed Size (px)
Citation preview
Execution Environments for Distributed Computing
Distributed Systems
EEDC
343
30
Master in Computer Architecture, Networks and Systems - CANS
Homework number: 1Group number: EEDC-30
Group members:
Javier Álvarez [email protected]
Francesc Lordan [email protected]
Roger Rafanell [email protected]
2
Content
Distributed Systems
– Part 1: Definition
– Part 2: Evolution
– Part 3: Fields of application
– Part 4: Questions
3
Execution Environments for Distributed Computing
Part 1
Definition
EEDC
343
30
Master in Computer Architecture, Networks and Systems - CANS
4
Definition
“A distributed system is a set of autonomous computational resources,
communicated through a computer network, that cooperate to achieve a
common goal.”
5
Key Concepts
Cooperation– Nodes work together to achieve a common goal.
Autonomous– Each node has a limited knowledge of the whole system.
Communication– Nodes communicate by passing messages.
Homogeneity/Heterogeneity– Many types of computers.
– Many network scopes (LAN/WAN).
– Many networks topologies.
6
Advantages
Reliability– Fault tolerance mechanisms, replication of processes, …
Resource sharing– Many users interacting with the same resource at the same time.
Resource aggregation – computing power, disk space, network bandwidth, …
Scalability– Ease to modify the amount of computing resources.
Openness– Easy integration of a part of another system.
Price– No need to purchase resources if remote ones are used.
7
Disadvantages
Security– Data, processes and computational resources are exposed
through the network.
Relies on network latencies– Message passing is slower than just reading from local memory.
Complexity– Access, configuration and programming.
8
Execution Environments for Distributed Computing Part 2
Evolution and Architectures
EEDC
343
30
Master in Computer Architecture, Networks and Systems - CANS
9
Evolution
1951UNIVAC
Internet1995
Packet Switching&
First WAN1965
1969ARPANET
1973TCP/IP
ENIAC1945
First conferencein distributed computing
1982
Utility Computing
1961
1996Volunteer Computing
Cloud Computing2007
1964First Supercomputer
(CDC 6600)
MPI1992
P2P Systems1999
1998SOAP
GridComputing
1990
1991WWW
10
Architectures
Master-worker– A master node orchestrates the execution of an application
among a set of workers.
Client-server– Simple clients contacts the server asking for data / process.
3-tier– A new node between the client and the server is added to the
previous architecture. This middle layer contents the complex logic to interpret the result obtained from the server. The client logic is simplified.
11
Architectures
N-tier– 3-tier but with many levels. The request is forwarded through n-
layers and the response is treated by each one.
Tightly coupled– Resources that closely work together (Clusters).
Peer-to-Peer – There is no special machine. The responsibility is uniformly divided
through all the nodes.
Space based– Create the illusion of a single address-space even it is distributed.
12
Execution Environments for Distributed Computing
Part 3
Fields of application
EEDC
343
30
Master in Computer Architecture, Networks and Systems - CANS
13
Fields of application
Everywhere!
14
Applications
Computer science– Distributed Databases (Hbase, Cassandra, …)– Distributed file systems (GlusterFS, HDFS, Lustre, … )– Ad-hoc networks– Sensor networks– Mobile apps
Transport– Aeronautics– VANET: Vehicular ad-hoc networks
Entertainment: – Multiplayer Online Games– Gaming/Media-On-Demand
15
Applications Science & Engineering
– Forecasting models– Simulators– Data Analysis
Medics– Electronic medical history– Remote exploration, therapy
Business– Business Intelligence– Accounting– Virtual shops
Public administration– Services based on OpenData
…
16
Execution Environments for Distributed Computing
Part 4
Questions
EEDC
343
30
Master in Computer Architecture, Networks and Systems - CANS
17
Questions