17
Execution Environments for Distributed Computing Distributed Systems EEDC 3 4 3 3 0 Master in Computer Architecture, Networks and Systems - CANS Homework number: 1 Group number: EEDC-30 Group members: Javier Álvarez [email protected] Francesc Lordan [email protected] Roger Rafanell [email protected]

EEDC Distributed Systems

Embed Size (px)

Citation preview

Page 1: EEDC Distributed Systems

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]

Page 2: EEDC Distributed Systems

2

Content

Distributed Systems

– Part 1: Definition

– Part 2: Evolution

– Part 3: Fields of application

– Part 4: Questions

Page 3: EEDC Distributed Systems

3

Execution Environments for Distributed Computing

Part 1

Definition

EEDC

343

30

Master in Computer Architecture, Networks and Systems - CANS

Page 4: EEDC Distributed Systems

4

Definition

“A distributed system is a set of autonomous computational resources,

communicated through a computer network, that cooperate to achieve a

common goal.”

Page 5: EEDC Distributed Systems

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.

Page 6: EEDC Distributed Systems

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.

Page 7: EEDC Distributed Systems

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.

Page 8: EEDC Distributed Systems

8

Execution Environments for Distributed Computing Part 2

Evolution and Architectures

EEDC

343

30

Master in Computer Architecture, Networks and Systems - CANS

Page 9: EEDC Distributed Systems

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

Page 10: EEDC Distributed Systems

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.

Page 11: EEDC Distributed Systems

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.

Page 12: EEDC Distributed Systems

12

Execution Environments for Distributed Computing

Part 3

Fields of application

EEDC

343

30

Master in Computer Architecture, Networks and Systems - CANS

Page 13: EEDC Distributed Systems

13

Fields of application

Everywhere!

Page 14: EEDC Distributed Systems

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

Page 15: EEDC Distributed Systems

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

Page 16: EEDC Distributed Systems

16

Execution Environments for Distributed Computing

Part 4

Questions

EEDC

343

30

Master in Computer Architecture, Networks and Systems - CANS

Page 17: EEDC Distributed Systems

17

Questions