Sei sulla pagina 1di 45

Distributed Systems

Development
Paulo Gandra de Sousa
psousa@dei.isep.ipp.pt
MSc in Computer Engineering
DEI/ISEP

Programao de
Sistemas
Distribuidos
Paulo Gandra de Sousa
psousa@dei.isep.ipp.pt
Mestrado em Engenharia Informtica
DEI/ISEP

Disclaimer

Parts of this presentation are from:

2
ISEP/IPP

Tannembaum
Coulouris
Marta Kwiatkowska (06-06798)
Ciarn OLeary (DT249-4)
Scott Shenker and Doug Terry (CS 294)
Daniel Ortiz-Arroyo (DE7)

Todays lesson

Introduction to DS

Characterization

3
ISEP/IPP

Definition
Motivation
Pros and cons
Issues

INTRODUCTION

4
ISEP/IPP

Exercise

5
ISEP/IPP

What is, in your


opinion, a
Distributed system?

An example DS

6
ISEP/IPP

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

What is a Distributed
System (DS)?

A collection of independent computers that appears to its users as a


single coherent system

One in which components located at networked computers communicate


and coordinate their actions by message passing

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

7
ISEP/IPP

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

A. Tanenbaum

Blair & Stefani

Caracterization of DS

According to P. Enslow [Computer 1978] a


distributed processing system must have:

8
ISEP/IPP

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.

A typical portion of the


Internet
intranet
%

ISP

backbone

satellite link

desktop computer:
server:
network link:
Instructors Guide for Coulouris, Dollimore and Kindberg
Distributed Systems: Concepts and Design Edn. 4
Pearson Education 2005

A typical intranet
email server

Desktop
computers

print and other servers


Local area
network

Web server

email server
File server

print
other servers

the rest of
the Internet
router/firewall
Instructors Guide for Coulouris, Dollimore and Kindberg
Distributed Systems: Concepts and Design Edn. 4
Pearson Education 2005

Portable and handheld


devices in a DS
Internet

Host intranet

WAP
gateway

Wireless LAN

Mobile
phone
Laptop

Printer
Camera

Instructors Guide for Coulouris, Dollimore and Kindberg


Distributed Systems: Concepts and Design Edn. 4
Pearson Education 2005

Host site

Home intranet

Web servers and web


browsers
www.google.com

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

Web servers
www.cdk3.net

Internet
http://www.cdk3.net/

www.w3c.org
File system of
www.w3c.org

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

Activity.html

Instructors Guide for Coulouris, Dollimore and Kindberg


Distributed Systems: Concepts and Design Edn. 4
Pearson Education 2005

A typical DS: business web


application

13
ISEP/IPP

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

Layered applications vs.


Distributed systems

14
ISEP/IPP

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

3-Layered application
Application

Presentation
Logic

16
ISEP/IPP

Layer Tier

Business
Logic

Data
Access
Logic

Distributed applications
vs. Distributed systems

17
ISEP/IPP

A distributed application is a distributed


system
A system is also a collection of
applications / hardware
System application

Hot topics 1985

Electronic mail

Distributed name servers

18
ISEP/IPP

emphasis on sharing data

Transaction processing

emphasis on locating objects

Distributed file servers

emphasis on interpersonal communication

emphasis on reliability and recovery

Programming languages for distributed


computing

Hot topics 1995

Information superhighway

Enterprise middleware

emphasis on resource sharing

Mobile Computing

19
ISEP/IPP

emphasis on coherence, interoperability, vendorindependence, standards (e.g. CORBA, DCE)

Networks of workstations

emphasis on high-speed networks and coverage

emphasis on portable computers and wireless


networks

Hot topics 2005

Autonomic computing

Peer-to-peer computing

emphasis on small, self-organizing devices

Ubiquitous computing

20
ISEP/IPP

emphasis on protocols and resource sharing

Sensor and ad-hoc wireless networks

emphasis on self-configuration, selfmonitoring,

emphasis on anytime, anywhere access

Hot topics 2007

Data center computing

Autonomic computing

emphasis on self-configuration, selfmonitoring,

Social networks

21
ISEP/IPP

emphasis on scalability, fault-tolerance,


manageability

emphasis on casual information sharing

Some Recent Applications

Drive by wire, TTP, CAN


Sensor Networks:

Smart Labels:

22
ISEP/IPP

A computer wireless network of spatially


distributed devices using sensors to monitor
temperature, sound, vibration, pressure,
motion or pollutants
Intelligent Dust
Identification of packages
Get power from radio waves

Distributed, embeded, realtime system

23
ISEP/IPP

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

Exercise

24
ISEP/IPP

Give examples of a
Distributed system
you use frequently?

CARACTERIZATION OF
DISTRIBUTED SYSTEMS
25
ISEP/IPP

Caracterization of DS

Main features

Advantages

interaction, co-operation and sharing of


resources

Benefits

26
ISEP/IPP

geographical distribution of autonomous


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

reduced costs, improved availability and


performance

Caracterization of DS (2)

Advantages over centralized systems:

27
ISEP/IPP

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!

Should I build a DS?

Why distribute?

Sharing

28
ISEP/IPP

Resources
Devices

Reliability/Availability
Performance
Load balancing
Scalability
Openness

Should I build a DS? (2)

Why not distribute?

29
ISEP/IPP

System management
Overall complexity
Communication overhead
Security

Distributed vs. Centralized


Systems

What makes distributed systems harder:

30
ISEP/IPP

variations in communication bandwidth/delay


absence of global knowledge
no global clock
partial failures
heterogeneous components
insecure communication
multiple administrative domains
size and complexity

Distributed Systems
Issues

31
ISEP/IPP

Heterogeneity
Security
Scalability
Failure handling
Concurrency
Message passing
Naming
Transparency

Issues : Heterogeneity

Diversity of

32
ISEP/IPP

Networks / network protocols


Computer hardware
Operating systems
Programming languages
Developers

Middleware

Issues : Security

33
ISEP/IPP

Encryption
Authentication
Access rights
Denial of service
Mobility

Issues : Failure handling

34
ISEP/IPP

Failures in distributed systems are partial


Detecting failures
Masking failures
Tolerating failures
Failure recovery
Redundency

Issues : Concurrency

Services are shared by clients


Multiple, concurrent access to the same
service/data
ACID Transactions

35
ISEP/IPP

Atomicity
Consistency
Isolation
Durability

Issues : Message passing

36
ISEP/IPP

Shared memory
Shared database
Blackboard
Communication API (e.g., sockets)
RPC
Remote Objects
Unicast/multicast

Issues : Naming

37
ISEP/IPP

Identify resources
URLs
IP addresses
Naming services
Lookup

Issues : Transparency

Access transparency

Location transparency

Resources can be accessed without knowledge


of their physical or network location

Concurrency transparency

38
ISEP/IPP

Local and remote resources can be accessed


using identical operations

Several processes can operate concurrently


using shared resources without interference
between them

Issues : Transparency (2)

Replication transparency

Failure transparency

Concealment of faults, allowing users and application


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

Mobility transparency

39
ISEP/IPP

Multiple instances of resources can be used to


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

Allows movement of resources and clients within a


system

Issues : Transparency (3)

Performance transparency

Scaling transparency

40
ISEP/IPP

Allows the system to be reconfigured to


improve performance as loads vary
Allows the system and applications to expand
in scale without change to the system
structure or the application algorithms

Issues : Scalability

System remains operational and effective


despite changes in numbers of resources
and users

42
ISEP/IPP

Performance loss
Availability of hw/sw resources
Performance bottlenecks

Scalability Problems
Concept

Example

Centralized services

A single server for all users

Centralized data

A single on-line telephone book

Centralized algorithms

Doing routing based on complete


information

Examples of scalability limitations.

Scaling Techniques

The difference between letting:

a server or
a client check forms as they are being filled
1.4

Exercise

45
ISEP/IPP

Can you identify


these issues in an
example DS?

Bibliography

46
ISEP/IPP

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.

Potrebbero piacerti anche