2003-20042003-2004Reti di Calcolatori1. 2003-20042003-2004Reti di Calcolatori2 Il modello Client/Server I Sistemi di Rete Dal punto di vista del programmatore.

Slides:



Advertisements
Presentazioni simili
Meccanismi di IPC Problemi classici di IPC
Advertisements

WP2T2 DIST – Università di Genova
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Unità D1 Architetture di rete.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D1 Architetture di rete.
Informatica e Telecomunicazioni
LE RETI DI COMPUTER Presentazione realizzata da: Pipitone Antonella VDp Gennaio 2008.
Nel ventesimo secolo ci fu la nascita dellinformatica il termine telematica nasce dalla fusione di due termini telecomunicazione e informatica una rete.
Realizzato da: Accurso Margherita VDp A.S. 2007/2008 GENNAIO
1 Processi e Thread Meccanismi di IPC, Inter Process Communication (1)
1 Processi e Thread Meccanismi di IPC (1). 2 Comunicazioni fra processi/thread Processi/thread eseguiti concorrentemente hanno bisogno di interagire per.
Cluster openMosix Linux Day ’04 Caserta Ing. Diego Bovenzi.
Introduzione al calcolo parallelo SISTEMI INFORMATIVI AZIENDALI Pierpaolo Guerra Anno accademico 2009/2010.
1 9: Progettazione Architetturale Obiettivo: stabilire la struttura globale di un sistema software Descriveremo diversi tipi di modello di architettura,
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Algoritmi Paralleli e Distribuiti a.a. 2008/09
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 10/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004
Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 1 JAVA: obiettivi di progetto del linguaggio Nota storica: Il linguaggio JAVA (inizialmente.
Struttura dei sistemi operativi (panoramica)
Sistemi Operativi Distribuiti: indice
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
Sistemi Operativi GESTIONE DEI PROCESSI.
Concetti introduttivi
Estensioni allarchitettura di Von Neumann Vito Perrone Corso di Informatica A per Gestionali.
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
Reti di Calcolatori1 Il modello Client/Server La comunicazione Se sintetizziamo uno scenario completo possiamo identificare diverse interfacce.
Reti di Calcolatori1 Il modello Client/Server La comunicazione Sun RPC Possibilità di invocare una procedura non locale operazione che interessa.
Reti di Calcolatori1 Il modello Client/Server Lo Standard OSI OSI (open system interconnection) è soprattutto uno standard di interconnessione.
Progetto Di Uninfrastruttura Che Permetta La Modifica Di Dati Condivisi Distribuiti Su Più Nodi Reti di calcolatori L-S Gozzi Daniele
Global Virtual Tuple Space
M.A.E.A.I. Mobile Agent and Enterprise Architecture Integration Il gestore delle politiche Valerio Siri Reti di Calcolatori LS Docente: Antonio Corradi.
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
DEIS Università di Bologna
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Distributed File System Service Dario Agostinone.
Architettura e protocolli di distribuzione dello stato in videogiochi Multiplayer distribuiti Michele Pace Esame di Reti di Calcolatori LS Aa
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Modulo 1 – Reti Informatiche u.d. 4 (syllabus – 1.4.4)
Architettura di Calcolo
Cosa sono i sistemi distribuiti Prof. Andrea Omicini Corso di Sistemi Distribuiti A.A. 2001/2002 Parte I.
La rete di istituto Maninder Bansal 5Bz Vital Ivo 5Bz Anno scolastico 2005/06.
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
Calcolatori Elettronici II Lezione n. 17 – Introduzione alle architetture parallele Prof. Gianni Conte Università di Parma CALCOLATORI ELETTRONICI II CALCOLATORI.
Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina.
Il modello di riferimento OSI
Reti di calcolatori 14 novembre 2003 INFORMATICA GENERALE Scienze per Operatori dei Servizi Giuridici Anno Accademico
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
L’architettura a strati
Di Luca Santucci e Riccardo Latorre LA CONDIVISIONE E L’ACCESSO ALLE RISORSE DI RETE.
I processi.
Progetto Message Queues Service Olivelli Enrico Corso di Reti di Calcolatori LS A.A
10 azioni per lo scheduling su Grid Uno scheduler per Grid deve selezionare le risorse in un ambiente dove non ha il controllo diretto delle risorse locali,
Tipi e topologie di LAN Lezione 2.
MCSA Mobile Code System Architecture Infrastruttura a supporto della code mobility Pierfrancesco Felicioni Reti di Calcolatori L.S. 2005/2006.
Reti di computer Condivisione di risorse e
Studio di una soluzione distribuita per la gestione di un centro sondaggi.
Supporto per la replicazione attiva di servizi Progetto per il corso di Reti di Calcolatori LS Montanari Mirko Matr:
Sistema di replicazione master-multislave con server di backup per un servizio di chat di Marco Andolfo matr
Sistema operativo Il Sistema Operativo gestisce le risorse hw e sw del sistema di elaborazione Facilita l'interazione tra utente e sistema Esistono diversi.
L’esecuzione dei programmi
Progetto di un Gestore di Nomi Corso di Reti di Calcolatori L-S prof. Antonio Corradi A.A 2003/2004 Autore: Molesini Ambra.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Architetture dei sistemi di calcolo, sistemi operativi, reti di calcolatori Dr. Luciano Bononi Facoltà di Scienze, Fisiche Naturali dell’Università di.
Pari Gioia Reti Di Calcolatori LS A.A. 2003/04.
HARDWARE (2). MEMORIE Due classi di memoria MEMORIA CENTRALE –media capacità - ottima velocità MEMORIA DI MASSA elevata capacità - bassa velocità.
Transcript della presentazione:

Reti di Calcolatori1

Reti di Calcolatori2 Il modello Client/Server I Sistemi di Rete Dal punto di vista del programmatore o dellutente la rete è il servizio di interconnessione tre due o più unità computazionali Per Unità computazionale si intende un sistema in grado di eseguire delle istruzioni ed in generale del codice. Un Computer monoprocessore è una unità computazionale In un sistema multi-processore ogni CPU è una singola unità computazionale Un sistema di rete è quindi un sistema parallelo, in grado di eseguire più processi contemporaneamente Il legame e linterazione tra questi processi avviene attraverso i servizi di interconnessione La sincronizzazione tra i processi e, in generale il Coordinamento tra i processi è critico per il buon funzionamento del sistema Un sistema di rete ha una quantità di risorse a disposizione superiore ad un sistema isolato con una singola unità computazionale Le interazioni a basso livello sul servizio di rete si basano sul concetto di messaggio: le sequenze sincrone o a sincrone di messaggi per il coordinamento di due processi sono regolati dai protocolli I protocolli possono avere diverse caratteristiche, possono essere definiti ad hoc dallutente oppure regolati da uno standard

Reti di Calcolatori3 Il modello Client/Server Dai Sistemi di Rete ai Sistemi Distribuiti Come un Sistema Operativo astrae la macchina digitale sottostante per ottenere una più potente gestione dello strumento hardware, allo stesso modo vengono creati (nel sistema operativo e non solo) astrazioni del supporto di rete per permettere un miglior uso delle risorse distribuite nelle diverse unità computazionali Definizione di Sistema Distribuito: Insieme di sistemi distinti per località che cooperano per ottenere risultati coordinati Distinti per Località: le diverse unità computazionali hanno una loro autonomia di computazione; per località si intende il contesto di esecuzione locale ad una specifica unità computazionale Cooperano: si coordinano per ottenere un risultato comune La complessità di un sistema distribuito è maggiore rispetto ad un sistema isolato Un sistema isolato è un sistema deterministico e chiuso Un sistema distribuito è invece aperto e quindi potenzialmente non deterministico Esempio: i Generali Bizantini: Lo scambio di messaggi tra gli eserciti può non essere corretto

Reti di Calcolatori4 Il modello Client/Server Sistemi Distribuiti Valore della Soluzione Avere un sistema distribuito mi permette di: accedere a risorse remote condividere localmente risorse remote Ottenere Sistemi di grandi dimensioni con moltissime risorse In più offre diverse nuove possibilità: replicazione delle risorse bilanciare uso delle risorse tollerare fallimenti di risorse garantire qualità delle operazioni DINAMICITÀ del SISTEMA aggiungere risorse al sistema aperto QUALITÀ dei SERVIZI (QoS) TRASPARENZA della ALLOCAZIONE Legge di Grosh Il migliore bilancio costo/performance si ottiene sempre con un monoprocessore mainframe (senza problemi di memoria e I/O) ovviamente con i limiti alla potenza di calcolo velocità della luce costi elevati aumentando l'integrazione

Reti di Calcolatori5 Il modello Client/Server Sistemi Distribuiti Complessità Il sistema ha però seri problemi teorici e pratici TERMINAZIONE DEI PROGRAMMI COMPLESSITÀ DEI PROGRAMMI CORRETTEZZA EFFICIENZA Concorrenza: moltissime attività (processi) possono essere in esecuzione Nessun tempo globale: nessuna sincronicità degli orologi di un sistema distribuito Fallimenti indipendenti: molte cause di fallimento, crash di macchine e possibili problemi di rete.

Reti di Calcolatori6 Il modello Client/Server Le Architetture di Rete Local Area Network LAN - Wide Area Network WAN … Sistemi Eterogenei di reti fisse e mobili Strutture topologiche e configurazioni dinamiche Diversi modalità di accesso ed estrema varietà di dispositivi REQUISITI tecnologici ed economici affidabilità tolleranza ai guasti condivisione delle risorse eterogeneità degli accessi uniformità in crescita e scalabilità indipendenza dal numero dei nodi del sistema apertura del sistema capacità di evoluzione secondo necessità adeguamento alle richieste distribuite domande distribuite (prenotazioni aeree)

Reti di Calcolatori7 Il modello Client/Server Progetto di un programma (Applicazione) Distribuita

Reti di Calcolatori8 Il modello Client/Server Progetto di un programma (Applicazione) Distribuita Algoritmo: Risoluzione astratta codifica in un opportuno linguaggio di alto livello SVILUPPO in uno o più linguaggi MAPPING Configurazione: come divido il lavoro Decisioni di allocazione per l'architettura scelta: chi fa cosa DEPLOYMENT decisioni specifiche per la esecuzione sulla architettura BINDING aggancio delle entità di programma sulle risorse di sistema Si possono prendere molte decisioni prima della esecuzoine: politiche prefissate e non variabili o adattabili Gestione Statica il binding può essere differito alla esecuzione Gestione Dinamica del binding delle risorse

Reti di Calcolatori9 Il modello Client/Server Modelli Computazionali La quasi totalità dei sistemi general purpouse si basano sul modello Von Neumann modello sequenziale con una sola capacità di esecuzione In un sistema di rete mi trovo ad avere quindi una molteplicità di macchine di von Neumann che lavorano su flussi di esecuzioni parallele. Devo quindi costruire dei modelli di esecuzione considerando la molteplicità dei flussi di dati e di esecuzione Single Instruction Multiple Data (SIMD) Multiple Instruction Multiple Data (MIMD) Classificazione di Flynn: Data stream/ Instruction Stream Unico flusso datiFlussi di dati multipli Unico flusso di istruzioni SISD (von Neuman) SIMD (sistemi vettoriali) Flussi Multipli di istruzioni MISD (pipeline) MIMD (macchine multiple)

Reti di Calcolatori10 Il modello Client/Server Sistemi MIMD e SIMD

Reti di Calcolatori11 Il modello Client/Server Sistemi MIMD Multicomputer

Reti di Calcolatori12 Il modello Client/Server Interconnessione

Reti di Calcolatori13 Il modello Client/Server Accesso alla memoria

Reti di Calcolatori14 Il modello Client/Server Modelli a Memoria condivisa o non condivisa La memoria condivisa costa: Se la architettura non permette una veloce interconnessione tra i nodi diventa molto costoso accedere alla memoria di un altro nodo. Due o più entità computazionali che accedono alla stessa risorsa di memoria devono sincronizzarsi, con il conseguente hoverhead di coordinamento. Si sono quindi affermati nel tempo due modelli principali basati sulla presenza o meno della astrazione di memoria condivisa: In assenza di memoria condivisa, i nodi non possono utilizzare la memoria per il coordinamento; lo scambio di messaggi diventa quindi lo strumento primario di comunicazione È compito del sistema operativo creare astrazioni più potenti e flessibili al di sopra del semplice modello a scambio di messaggi

Reti di Calcolatori15 Il modello Client/Server Riassumendo Qualsiasi sistema interconnesso è un sistema di rete, al di sopra dei sistemi di rete vengono costruite astrazioni che permettono di usare in modo più efficiente le risorse a disposizione La seguente tabella riassume le caratteristiche delle diverse architetture: ArchitetturaModello di Coordinamento Applicazioni Architetture parallele (decine di processori) Memoria condivisaGrosse necessità di calcolo Architetture a parallelismo massiccio (centinaia o migliaia) Scambio di messaggiEsigenze specifiche Architetture di rete LAN (local area network) Scambio di messaggiCondivisione di risorse Architetture di rete WAN (wide area network) Scambio di messaggiInternet-like

Reti di Calcolatori16 Il modello Client/Server Il Modello Cliente Servitore Servitore: entità computazionale in grado di eseguire una specifica prestazione per altre entità (in grado cioè di offrire un servizio) Cliente: entità computazionale che richiede ad un servitore lesecuzione di una specifica presatazione Il rapporto cliente servitore è il principio su cui è possibile costruire applicazioni distribuite: Banalmente, se un cliente risiede in un nodo e la risorsa è disponibile in un altro, deve per forza appoggiarsi ad una servitore locale alla risorsa per utilizzarla Qualsiasi tipo di interazione è assimilabile ad un rapporto C/S Una relazione C/S è ottenibile con diversi meccanismi di comunicazione Sul modello C/S vengono costruiti gli standard sia di comunicazione sia di servizi per la costruizione di sistemi aperti

Reti di Calcolatori17 Il modello Client/Server I meccanismi di comunicazione tra entità Scambio di messaggi (message passing): due entità possono dialogare attraverso uno scambio di messaggi. È il meccanismo di più basso livello. Qualsiasi sistema di interconnessione è in grado di supportarlo. Il principio di comunicazione basato su messaggi è il principio del request/response: messaggi sincroni: il cliente si ferma in attesa della risposta messaggi asincroni: il cliente prosegue nella sua esecuzione e periodicamente (polling) o mediante un meccanismo di wake up (eventi) verifica le risposte ricevute Chiamata a Procedura Remota (RPC Remote Procedure Call): possibilità di invocare una funzione di un servizio remoto come fosse una libreria locale. È un meccanismo di alto livello che sintetizza il rapporto cliente servitore attraverso un set di procedure messe a disposizione in remoto dal servitore RMI : è la estensione in un contesto Object Oriented della RPC : Remote Method Invocation Memoria Condivisa (Shared Memory – Monitor): due entità comunicano attraverso unarea di memoria condivisa. Il monitor è loggetto che si occupa di gestire la memoria in modo sincronizzato. Il cliente deposità nel monitor la sua richiesta ed il servitore legge e risponde attraverso lo stetto monitor