Distributed Systems - PowerPoint PPT Presentation

1 / 65
About This Presentation
Title:

Distributed Systems

Description:

Concealment from the user and the application programmer of the separation of ... Failure transparency: enables the concealment of faults, allowing users and ... – PowerPoint PPT presentation

Number of Views:97
Avg rating:3.0/5.0
Slides: 66
Provided by: carlof
Category:

less

Transcript and Presenter's Notes

Title: Distributed Systems


1
Distributed Systems
  • Instructor Carlo Ferrari
  • a.y. 2007/2008

2
Failure handling
  • Ability to continue computation in the presence
    of failures.
  • detect failures
  • mask failures
  • repair failures
  • tolerate failures
  • Failure is a kind of standard situation

3
Concurrency
  • Processes execute simultaneously and share
    resources.
  • process/object synchronisation
  • inter-process communication

4
Transparency
  • Concealment from the user and the application
    programmer of the separation of components in a
    Distributed Systems, so that the system is
    perceived as a whole rather than as a collection
    of independent component

5
Transparencies
  • Access transparency enables local and remote
    resources to be accessed using identical
    operations.
  • Location transparency enables resources to be
    accessed without knowledge of their physical or
    network location (for example, which building or
    IP address).
  • Concurrency transparency enables several
    processes to operate concurrently using shared
    resources without interference between them.
  • Replication transparency enables multiple
    instances of resources to be used to increase
    reliability and performance without knowledge of
    the replicas by users or application programmers.

6
  • Failure transparency enables the concealment of
    faults, allowing users and application programs
    to complete their tasks despite the failure of
    hardware or software components.
  • Mobility transparency allows the movement of
    resources and clients within a system without
    affecting the operation of users or programs.
  • 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.

7
Transparency
8
Challenges
  • Heterogeneity ... Middleware
  • Openness ... Key software interfaces
  • Security ... encryption and knowledge of identity
  • Scalability

9
  • Failure handling ... Recovery
  • Concurrency ... synchronisation and communication
  • Transparency ... A single system?

10
Models ...
  • Shared properties and common design problems can
    be represented in the form of descriptive models
  • Each model is intended to provide an abstract,
    simplified but consistent description of a
    relevant aspect of the design
  • Remember ... No global time
  • message-based communication

11
Difficulties and threats
  • Different modes of use
  • Different infrastructures
  • Non syncronized clocks
  • Conflicting data updates
  • Many modes of failures
  • Attack on data integrity
  • Denial of service

12
two types of models
  • Architectural models are concerned with
  • the placement of parts and the relationship
    between them
  • The mapping onto the underlying network of
    computers
  • Fundamentals models
  • interaction
  • failure
  • security

13
Architecture
  • Concerned with
  • the placement of parts and the relationship
    between them
  • The mapping onto the underlying network of
    computers
  • Processes and objects

14
Architectural Styles
  • Layered architectures
  • Object-based architectures
  • Data-centered architectures
  • Event-based architectures

15
layered
16
object-based
17
event-based
18
shared data-space
19
Software Layers
20
Software layers
  • Service layers
  • Higher-level access services at lower layers
  • Services can be located on different computers

21
Important layers
  • Platform
  • lowest-level hardwaresoftware
  • common programming interface, yet
  • different implementations of operating system
  • facilities for co-ordination communication
  • Middleware
  • programming support for distributed computing

22
...middleware provides...
  • support for distributed processes/objects
  • suitable for applications programming
  • communication via
  • remote method invocation (Java RMI), or
  • remote procedure call (Sun RPC)
  • services infrastructure for application programs
  • naming, security, transactions, event
    notification,

23
  • Support a higher level of abstraction for
  • Communication between group of processes
  • Notification of events
  • Replication of shared data
  • Multimedia data transmission in real time

24
The layered view...
  • though appropriate for simple types of resource
    data sharing
  • e.g. databases of names/addresses/exam grades
  • too restrictive for more complex functions?
  • reliability, security, fault-tolerance, etc,
    need access to applications data
  • see end-to-end argument Saltzer, Reed
  • Clarke

25
  • Some communiction-related functions can be
    completely and reliably implemented only with the
    knowledge and help of the application standing at
    the end points of the communication systems
  • Saltzer, J.H., Read, D.P. and Clarke, D. (1984).
    End-to-End Arguements in System Deisgn. ACM
    Transactions on Computer Systems Vol. 2, No 4,
    pp. 277-288

26
  • Checks, error-correction mechanism and security
    are at many levels ...
  • Checking the correctness within the communication
    systems could not be enough

27
Architectural models
  • Define
  • software components (processes, objects)
  • ways in which components interact
  • mapping of components onto the
    underlying network
  • Why needed?
  • to handle varying environments and usage
  • to guarantee performance

28
Client server
29
Centralized Architectures
30
(No Transcript)
31
Application Layering
32
Multitiered Architectures
33
Multitiered Architectures (3)
  • Figure 2-6. An example of a server acting as
    client.

34
Distributed Systems lecture 4 - 9/10/07
  • note al corso
  • Architectures

35
...obiettivi formativi
  • Presentare in forma sistematica le problematiche
    fondamentali riguardanti il progetto di sistemi
    distribuiti con particolare riferimento alle
    questioni relative
  • alla gestione della loro eterogeneità,
  • alla scalabilità,
  • alla condivisione di risorse,
  • alla sicurezza,
  • alla tolleranza ai guasti,
  • al controllo della concorrenza

36
argomenti
  • Modelli e architetture
  • Oggetti distribuiti e invocazione remota
  • Affidabilità e fault tolerance
  • Algoritmi distribuiti
  • Transazioni distribuite
  • e inoltre ...
  • Modelli e strumenti per la programmazione

37
ambiti applicativi ...
  • Distributed Supercomputing
  • On-demand Computing
  • Data-Intensive Computing
  • Collaborative Computing
  • Multimedia

38
Sistemi Distribuiti
  • A.S. Tanenbaum, M. Van Steen, Distributed
    Systems Principles and Paradigm, Prentice-Hall,
    II edition, 2007
  • ? Anche in ? italiano ?
  • La prima edizione ... Abbastanza datata

39
Sistemi Distribuiti
  • George Coulouris, Jean Dollimore, Tim Kindberg,
  • Distributed Systems concepts and design,
    fourth edition, Addison-Wesley, 2005
  • M.L. Liu, Distributed Computing, principles and
    applications, Pearson 2004
  • J. Graba, An introduction to Network Programming
    with Java, Addison-Wesley, 2003

40
Sistemi Distribuiti
  • 7 CFU, 54 ore complessive in 9 settimane
  • Lezioni
  • Martedì, 8.40-10.15 Aula Le
  • Mercoledì, 8.40-10.15, Aula Be
  • Venerdì, 16.15-17.50, Aula Be
  • Ricevimento studenti
  • Mercoledì, 10.30-12.30, DEI-G stanza 313
  • per appuntamento
  • carlo_at_dei.unipd.it, 049-827.7729, a lezione

41
Sistemi Distribuiti
  • Prerequisiti
  • ................................. TUTTO
    ..................................
  • Reti di calcolatori,
  • Basi di Dati,
  • Sistemi Operativi

42
  • Probability and Computing
  • Intelligenza Artificiale
  • Informatica Musicale
  • Sistemi in Tempo Reale
  • Robotica
  • Sistemi Wireless

43
Sistemi Distribuiti Una piccola formalità
  • Iscrizione OBBLIGATORIA al corso da effettuarsi
    tramite bacheche elettroniche, ovvero
    sis.dei.unipd.it) seguire il link Informazioni
    delle strutture-Dipartimento di Ingegneria
    dellInformazione-Liste di iscrizione ad appelli
    o corsi-Iscrizione a un appello o corso e poi
    selezionare dalla lista Sistemi Distribuiti
  • Iscrizioni aperte fino al 12 ottobre

44
Sistemi Distribuiti modalità desame(aspetti
generali)
  • 5 appelli nel corso della.a.
  • 2 appelli, al termine del primo trimestre
    (trimestre di erogazione del corso-sessione
    autunnale)
  • 2 appelli nella sessione di recupero
    (agosto-settembre)
  • 1 appello nella sessione primaverile, al termine
    del secondo trimestre (n.b. nessun appello
    durante la sessione estiva)

45
Sistemi Distribuiti modalità desame standard
  • Lesame si conclude con una prova orale
  • Ogni studente può sempre scegliere la modalità
    standard
  • nessun vincolo alla partecipazione ai 5 appelli

46
Sistemi Distribuiti modalità desame
  • Elaborato/progetto
  • Presentazioni/approfondimenti
  • (dipende dal numero e dalla tipologia di
    studenti iscritti ...) ma comunque ci saranno dei
    cambiamenti rispetto allo scorso anno.
  • Prova scritta, eventualmente in itinere
  • aspetti particolari (ancora in via di
    definizione)
  • Prove svincolate dalle date degli appelli

47
Sistemi Distribuiti
  • Avvisi

48
Sistemi Distribuiti
  • Sito del corso
  • http//www.dei.unipd.it/carlo/DS0708

49
Sistemi Distribuiti
  • Siti collegati
  • www.cdk4.net oppure
  • www.pearsoned.co.uk/coulouris

50
Sistemi Distribuiti
  • Attività di laboratorio
  • ... Non prevista .... ?

51
Sistemi Distribuiti
  • Tesi di laurea specialistica in ingegneria
    informatica
  • 20 crediti .... 29 crediti .... 35 crediti
  • 9 crediti .... 6 crediti liberi ... 0 crediti
  • 6 crediti liberi

52
Sistemi Distributi
  • Attenzione alle tempistiche ...
  • 20 crediti ... 4 mesi/uomo
  • 29 crediti ... 6 mesi/uomo
  • 35 crediti ... 7 mesi/uomo

53
Sistemi Distributi
  • Laboratorio di Sistemi Distribuiti
  • Laboratorio di Bioinformatica Strutturale
  • ... ma anche
  • Laboratori di Robotica, Telecomunicazioni,
    Sistemi in tempo reale, Musica al calcolatore,
    Basi di Dati, Sistemi Informatici, Intelligenza
    Artificiale....

54
  • Bioinformatica
  • Protein Folding
  • Protein Docking
  • Sistemi Distribuiti
  • Grid Computing
  • Agents
  • Biometrics

55
(No Transcript)
56
Multiple servers
57
Proxy servers
58
Peer processes
59
A distributed application based on peer processes
60
Client server and mobility
  • Mobile code
  • downloaded from server, runs on locally
  • e.g. web applets
  • Mobile agent (code data stato)
  • travels from computer to another
  • collects information, returning to origin.

61
Web applets
62
  • Network computers
  • Thin clients ... See X-11
  • Mobile devices forming spontaneous networks

63
Spontaneous networks ...
  • Easy connection to a LAN
  • Easy integration with local services
  • Limited connectivity
  • Security and privacy
  • Discovery serviceregistrationlookup

64
  • Vertical distribution
  • Horizontal distribution
  • Peer-to-peer systems

65
Distributed Systems
  • End of lecture 4
Write a Comment
User Comments (0)
About PowerShow.com