Top Banner
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Distributed Systems Corso di Laurea Specialistica in Ingegneria Informatica AA 2006/2007 Introduction Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi www.dis.uniroma1.it/~midlab
28

Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Jan 12, 2016

Download

Documents

Yuri

www.dis.uniroma1.it/~midlab. Distributed Systems Corso di Laurea Specialistica in Ingegneria Informatica AA 2006/2007 Introduction. Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi. A definition. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Distributed SystemsCorso di Laurea Specialistica in Ingegneria Informatica

AA 2006/2007

Introduction

Prof. Roberto Baldoni

Ing. Alessia Milani

Ing. Leonardo Querzoni

Ing. Silvia Bonomi

www.dis.uniroma1.it/~midlab

Page 2: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

A definition

• A distributed system is a set of spatially separate entities, each of these with a certain computational power that are able to communicate and to coordinate among themselves for reaching a common goal

Page 3: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Primary Goal: sharing data/resources

Problems• Synchronization• Coordination

Page 4: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Coordination has to be implemented taking into account the following conditions that deviates from centralized systems:

1. Temporal and spatial concurrency2. No global Clock3. Failures4. Unpredictable latencies

These limitations restrict, for example, the set of coordination problems we can be solve in a distributed setting

Page 5: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Distributed Systems Examplesin

tern

et

intr

anet

sist

ema

mob

ile But also.....Service Oriented ArchitecturesOverlay NetworksGridP2PPervasive Systems&Ubiquitous Computing

Page 6: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Pervasive Systems

Internet everywhereOne-persons Many computersMobility……….. How can I keep consistent my mailbox???

Page 7: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Characteristics..and Challenges

• Heterogeneity• Openess• Security• Scalability• Fault Tolerance• Concurrency• Transparency

Page 8: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Heterogeneity

• Networks• Hardware• Operating Systems• Programming Languages• Implementations from different Developers

Soluzioni• Middleware (from RPC to Service oriented Architectures)• Mobile code and Virtual Machine

Page 9: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Openess

• Capability of a system to be extended and re-implemented• Necessary condition, set of documents with software interfaces

• Interface Definition Language (it describes the syntax and the semantic of a service/component, available functions/services, input parameters, exceptions, etc)

• Problem: semantic description of a service.

• A specification of a service/componet is well-formed if it is : – Complete. A specification is complete if everything related to the

implementation has been specified. If something has not been specified, the designer needs to add implementation dependent details.

– Neutral. A specification is neutral is it does not offer any detail on a possible implementation

Page 10: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Openess (ii)

• Interoperability. The capability of two systems to cooperate by using services/components specified by a common standard

• Portability. The capability if a service/component implemented on a distributed system A to work on a system B without doing any modification

• Flexibility. The capacity of a system to configure/ orchestrate components developed by various programmers

• Add-on Features. The capacity of a distributed system of adding components/services and be integrating in a running system

Page 11: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Openess (iii)

• Other recent capabilities:– Evolvability. The capacity of a system to evolve in time for example leaving active two different version of the same service. – Self-* (self organization, self management, self healing etc). The capacity of a system to reconfigure, to manage itself without uman

intervention

• The number of independent software developers make very complex the development of a distributed platform

• Examples:– RFC for internet– JBoss for J2EE platform

Page 12: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Security

• Confidenziality (protection against the interception of data from unauthorized users)

• Integrity (protection against data alteration)

• Availability (protection against the interference in the access to a resource)

Page 13: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Scalability

• A system is scalable if it remains running with adequate performance even if the number of “users” grow up of orders of magnitude

• Centralization is against scalability :– Service (single service for all users)– Data (single data structure for all processes)

Date Computers Web servers

1979, Dec. 188 0

1989, July 130,000 0

1999, July 56,218,000 5,560,866

Computers connected to the internet

Page 14: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Scalability (ii)• It becomes necessary using:

– Service Replication• Coordination Problems

– Data Replication• Consistency Problems

– Distributed Algorithms• No node has the current state of the whole system• Nodes base their decisions on data they own• A failure of a node should not compromize the goal of the algorithm

• Geographical Scalability

Page 15: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Internet-scale Applications

Enterprise Data Centers

Scalable Consistency-based Applications

First Open Workshop Budapest 21-3-2007

What is a large-scale distributed system?

Cooperative Information Systems

Scalable QoS based Applications

eGov eGov enveloenvelo

pp

Page 16: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Failure Management

• Failure detection– Example: Checksum detects a corrupted packet

• Failure masking– Example: message retransmission

• Tolerating Failures– Example: intrusion tolerant systems

• Failure Recovery– Example: completing long running computation

• Redoundancy– Example: DNS

Page 17: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Concurrency

• Multiple access to shared resources– If clients invokes concurrently read and write methods on a shared

variable– Which value returns each read?

• Coordination • Synchronization

Page 18: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Transparency

• Access: allow to access remote and local resources with the same operations• Location: allows to access resources without knowing their physical location• Concurrency: allows a set of processes to run concurrently on shared resources

without interfering among themselves • Failures: allow to mask failures in order that users can complete remaining requested

operations • • Mobility: allows to move resources and users without influencing operation issued by

users• Performance: allow system reconfiguration changing the load

• Performance of a solution based on a distributed system not always improve with respect to a solution based on a centralized system.

Page 19: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Layering hw and sw

Page 20: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Interaction Models

client/server peer-to-peer

Page 21: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Interaction Models

• Interaction models impact on scalability, availability, cost, security performances

• Eg. client/server with replicated services:

availability, scalability

performance: replication imposes an extra work for maintaining consistency despite replica crashes

Page 22: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Web proxy server

Client

Proxy

Web

server

Web

server

serverClient

Page 23: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Web applets

a) client request results in the downloading of applet code

Web server

ClientWeb serverApplet

Applet code

Client

b) client interacts with the applet

Page 24: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Thin clients and compute servers

ThinClient

ApplicationProcess

Network computer or PCCompute server

network

Page 25: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Spontaneous networking in a hotel

Internet

gateway

PDA

service

Music service

serviceDiscovery

Alarm

Camera

Guestsdevices

LaptopTV/PC

Hotel wirelessnetwork

Page 26: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Real-time ordering of events

send

receive

send

receive

m1 m2

2

1

3

4X

Y

Z

Physical time

Am3

receive receive

send

receive receive receivet1 t2 t3

receive

receive

m2

m1

Page 27: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Processes and channels

process p process q

Communication channel

send

Outgoing message buffer Incoming message buffer

receivem

Page 28: Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

Middleware: problems to face

• Heterogeneity: OS, clock speeds, data representation, memory, architecture HW

• Local Asynchrony: load on a noad, diffeent OW, Interrupts • Lack of global knowledge: knowledge propagates through messages whose

messages whose propagation times will be much slower than time taken by the execution of an internal event

• Network Asyncrony: propagation times of message can be unpredictable.

• Failures of nodes or network partitions.

• Lack of a global order of events

This limits the set of problems that can be solved through deterministic algorithms on some distributed systems