distributed systems

45
Distributed Systems Development Paulo Gandra de Sousa [email protected] MSc in Computer Engineering DEI/ISEP

Upload: paulo-sousa

Post on 03-Nov-2014

10 views

Category:

Technology


3 download

Tags:

DESCRIPTION

Intro to distributed Systems

TRANSCRIPT

Page 1: Distributed Systems

Distributed Systems

Development

Paulo Gandra de Sousa

[email protected]

MSc in Computer Engineering

DEI/ISEP

Page 2: Distributed Systems

Programação de

Sistemas

Distribuidos

Paulo Gandra de Sousa

[email protected]

Mestrado em Engenharia Informática

DEI/ISEP

Page 3: Distributed Systems

Disclaimer

Parts of this presentation are from:

Tannembaum

Coulouris

Marta Kwiatkowska (06-06798)

Ciarán O’Leary (DT249-4)

Scott Shenker and Doug Terry (CS 294)

Daniel Ortiz-Arroyo (DE7)

2

ISEP/IPP

Page 4: Distributed Systems

Today’s lesson

Introduction to DS

Definition

Characterization

Motivation

Pros and cons

Issues

3

ISEP/IPP

Page 5: Distributed Systems

INTRODUCTION

4

ISEP/IPP

Page 6: Distributed Systems

Exercise

What is, in your

opinion, a

Distributed system?

5

ISEP/IPP

Page 7: Distributed Systems

An example DS

6

ISEP/IPPsource: http://www.uweb.ucsb.edu/~fkart/research.htm

Page 8: Distributed Systems

What is a Distributed

System (DS)?

A collection of independent computers that appears to its users as a single coherent system A. Tanenbaum

One in which components located at networked computers communicate and coordinate their actions by message passing G. Coulouris

You know you have one when the crash of a computer you have never heard of stops you from getting any work done Leslie Lamport

A distributed system is a system designed to support the development of applications and services which can exploit a physical architecture consisting of multiple, autonomous processing elements that do not share primary memory but cooperate by sending asynchronous messages over a communication network Blair & Stefani

7

ISEP/IPP

Page 9: Distributed Systems

Caracterization of DS

According to P. Enslow [Computer 1978] a distributed processing system must have: multiple general-purpose resource components

that can be dynamically reassigned.

physical distribution of components using a two-party network protocol for communication.

high-level operating system, built on top of local operating systems, for unified control.

system transparency permitting services to be requested by name only.

cooperative autonomy characterizing the interactions between resources.

8

ISEP/IPP

Page 10: Distributed Systems

Instructor’s Guide for Coulouris, Dollimore and Kindberg

Distributed Systems: Concepts and Design Edn. 4

© Pearson Education 2005

intranet

ISP

desktop computer:

backbone

satellite link

server:

%

network link:

%

%

%

A typical portion of the

Internet

Page 11: Distributed Systems

Instructor’s Guide for Coulouris, Dollimore and Kindberg

Distributed Systems: Concepts and Design Edn. 4

© Pearson Education 2005

A typical intranet

the rest of

email server

Web server

Desktopcomputers

File server

router/firewall

print and other servers

other servers

print

Local area

network

email server

the Internet

Page 12: Distributed Systems

Instructor’s Guide for Coulouris, Dollimore and Kindberg

Distributed Systems: Concepts and Design Edn. 4

© Pearson Education 2005

Portable and handheld

devices in a DS

Laptop

Mobile

Printer

Camera

Internet

Host intranet Home intranetWAP

Wireless LAN

phone

gateway

Host site

Page 13: Distributed Systems

Instructor’s Guide for Coulouris, Dollimore and Kindberg

Distributed Systems: Concepts and Design Edn. 4

© Pearson Education 2005

Web servers and web

browsers

Internet

BrowsersWeb servers

www.google.com

www.cdk3.net

www.w3c.org

Protocols

Activity.html

http://www.w3c.org/Protocols/Activity.html

http://www.google.comlsearch?q=kindberg

http://www.cdk3.net/

File system ofwww.w3c.org

Page 14: Distributed Systems

A typical DS: business web

application

13

ISEP/IPP

source: http://www.ibm.com/developerworks/patterns/access/at7-runtime.html

Page 15: Distributed Systems

Layered applications vs.

Distributed systems

Layered (e.g., 3 layers) applications

divide the application logically not

necessarilly physically

Distributed systems divide physically

Typically a layered (distributed)

application needs that the whole

application (layers) is available

14

ISEP/IPP

Page 16: Distributed Systems

16

ISEP/IPP

3-Layered application

Application

Presentation

Logic

Data

Access

Logic

Business

Logic

Layer ≠ Tier

Page 17: Distributed Systems

Distributed applications

vs. Distributed systems

A distributed application is a distributed

system

A system is also a collection of

applications / hardware

System ≥ application

17

ISEP/IPP

Page 18: Distributed Systems

Hot topics 1985

Electronic mail emphasis on interpersonal communication

Distributed name servers emphasis on locating objects

Distributed file servers emphasis on sharing data

Transaction processing emphasis on reliability and recovery

Programming languages for distributed computing

18

ISEP/IPP

Page 19: Distributed Systems

Hot topics 1995

Information superhighway emphasis on high-speed networks and coverage

Enterprise middleware emphasis on coherence, interoperability, vendor-

independence, standards (e.g. CORBA, DCE)

Networks of workstations emphasis on resource sharing

Mobile Computing emphasis on portable computers and wireless

networks

19

ISEP/IPP

Page 20: Distributed Systems

Hot topics 2005

Autonomic computing

emphasis on self-configuration, self-monitoring, …

Peer-to-peer computing

emphasis on protocols and resource sharing

Sensor and ad-hoc wireless networks

emphasis on small, self-organizing devices

Ubiquitous computing

emphasis on anytime, anywhere access

20

ISEP/IPP

Page 21: Distributed Systems

Hot topics 2007

Data center computing

emphasis on scalability, fault-tolerance,

manageability

Autonomic computing

emphasis on self-configuration, self-

monitoring, …

Social networks

emphasis on casual information sharing

21

ISEP/IPP

Page 22: Distributed Systems

Some Recent Applications

Drive by wire, TTP, CAN

Sensor Networks:

A computer wireless network of spatially distributed devices using sensors to monitor temperature, sound, vibration, pressure, motion or pollutants

Intelligent Dust

Smart Labels:

Identification of packages

Get power from radio waves

22

ISEP/IPP

Page 23: Distributed Systems

Distributed, embeded, real-

time system

23

ISEP/IPPsource: http://www.future-mag.com/0611/061113.asp

Page 24: Distributed Systems

Exercise

Give examples of a

Distributed system

you use frequently?

24

ISEP/IPP

Page 25: Distributed Systems

CARACTERIZATION OF

DISTRIBUTED SYSTEMS

25

ISEP/IPP

Page 26: Distributed Systems

Caracterization of DS

Main features geographical distribution of autonomous

computers

communication through cable/fibre/wireless/... connections

Advantages interaction, co-operation and sharing of

resources

Benefits reduced costs, improved availability and

performance

26

ISEP/IPP

Page 27: Distributed Systems

Caracterization of DS (2)

Advantages over centralized systems: naturally distributed information

Autonomy

availability/reliability

modular growth

integration of existing systems

Capacity

cost/performance

resource sharing

guaranteed response

Note: these are only potential advantages!

27

ISEP/IPP

Page 28: Distributed Systems

Should I build a DS?

Why distribute?

Sharing

Resources

Devices

Reliability/Availability

Performance

Load balancing

Scalability

Openness

28

ISEP/IPP

Page 29: Distributed Systems

Should I build a DS? (2)

Why not distribute?

System management

Overall complexity

Communication overhead

Security

29

ISEP/IPP

Page 30: Distributed Systems

Distributed vs. Centralized

Systems

What makes distributed systems harder:

variations in communication bandwidth/delay

absence of global knowledge

no global clock

partial failures

heterogeneous components

insecure communication

multiple administrative domains

size and complexity

30

ISEP/IPP

Page 31: Distributed Systems

Distributed Systems’

Issues

Heterogeneity

Security

Scalability

Failure handling

Concurrency

Message passing

Naming

Transparency 31

ISEP/IPP

Page 32: Distributed Systems

Issues : Heterogeneity

Diversity of

Networks / network protocols

Computer hardware

Operating systems

Programming languages

Developers

Middleware

32

ISEP/IPP

Page 33: Distributed Systems

Issues : Security

Encryption

Authentication

Access rights

Denial of service

Mobility

33

ISEP/IPP

Page 34: Distributed Systems

Issues : Failure handling

Failures in distributed systems are partial

Detecting failures

Masking failures

Tolerating failures

Failure recovery

Redundency

34

ISEP/IPP

Page 35: Distributed Systems

Issues : Concurrency

Services are shared by clients

Multiple, concurrent access to the same

service/data

ACID – Transactions

Atomicity

Consistency

Isolation

Durability

35

ISEP/IPP

Page 36: Distributed Systems

Issues : Message passing

Shared memory

Shared database

Blackboard

Communication API (e.g., sockets)

RPC

Remote Objects

Unicast/multicast

36

ISEP/IPP

Page 37: Distributed Systems

Issues : Naming

Identify resources

URLs

IP addresses

Naming services

Lookup

37

ISEP/IPP

Page 38: Distributed Systems

Issues : Transparency

Access transparency

Local and remote resources can be accessed

using identical operations

Location transparency

Resources can be accessed without knowledge

of their physical or network location

Concurrency transparency

Several processes can operate concurrently

using shared resources without interference

between them

38

ISEP/IPP

Page 39: Distributed Systems

Issues : Transparency (2)

Replication transparency Multiple instances of resources can be used to

increase reliability and performance without knowledge of the replicas by users or application programmers

Failure transparency Concealment of faults, allowing users and application

programs to complete their tasks despite the failure of hardware or software components

Mobility transparency Allows movement of resources and clients within a

system

39

ISEP/IPP

Page 40: Distributed Systems

Issues : Transparency (3)

Performance transparency

Allows the system to be reconfigured to

improve performance as loads vary

Scaling transparency

Allows the system and applications to expand

in scale without change to the system

structure or the application algorithms

40

ISEP/IPP

Page 41: Distributed Systems

Issues : Scalability

System remains operational and effective

despite changes in numbers of resources

and users

Performance loss

Availability of hw/sw resources

Performance bottlenecks

42

ISEP/IPP

Page 42: Distributed Systems

Scalability Problems

Examples of scalability limitations.

Concept Example

Centralized services A single server for all users

Centralized data A single on-line telephone book

Centralized algorithmsDoing routing based on complete information

Page 43: Distributed Systems

Scaling Techniques

The difference between letting:

a server or

a client check forms as they are being filled

1.4

Page 44: Distributed Systems

Exercise

Can you identify

these issues in an

example DS?

45

ISEP/IPP

Page 45: Distributed Systems

Bibliography

Chapter 1 Tanenbaum

Chapter 1 & 2 Coulouris

Wikipedia, “Distributed computing”

http://en.wikipedia.org/wiki/Distributed_co

mputing

Enslow, P. (1978) What is a "Distributed"

Data processing System?, Computer,

January 1978.

46

ISEP/IPP