La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.

Presentazioni simili


Presentazione sul tema: "Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo."— Transcript della presentazione:

1 Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo

2 08/09/2005Sistema Decentrato di Allocazione del Carico2 LIdea Realizzare un supporto alla scrittura di applicazioni parallele di calcolo (scientifiche, simulazione, …) Investigare la realizzazione di un sistema decentrato ed eventualmente tollerante ai guasti Raccolta delle risorse di calcolo in rete locale (più semplice di scenari globali)

3 08/09/2005Sistema Decentrato di Allocazione del Carico3 Requisiti Permettere di: Avviare una applicazione Definire processi e strutture dati Allocazione automatica di dati e processi, secondo le capacità ed il carico attuale dei nodi Supporto alle modifiche dinamiche della rete durante lesecuzione Offrire qualche forma di fault tolerance

4 08/09/2005Sistema Decentrato di Allocazione del Carico4 Architettura Logica Due sottosistemi presenti su tutti i nodi: Supporto al mantenimento di un anello logico (semplice) tra i nodi partecipanti alla griglia di calcolo Ingresso / uscita dei nodi Fault detection & recovery Servizi di allocazione di processi e dati Bilanciamento del carico Sfrutta la conoscenza sui vicini offerta dal primo modulo

5 08/09/2005Sistema Decentrato di Allocazione del Carico5 Gestione della Topologia (1) Permette ingressi e uscite di nodi Protocollo ad-hoc basato su UDP Riferimento ai vicini in ogni nodo Ogni nuovo entrante prende liniziativa scegliendo la posizione dellanello in cui inserirsi broadcast per scoprire i nodi già attivi (LAN: reliable) scelta dei due nodi più rapidi nella risposta aggiornamento dei riferimenti

6 08/09/2005Sistema Decentrato di Allocazione del Carico6 Gestione della Topologia (2) Uscita dallanello comunicando ai vicini di aggiornare i riferimenti in modo incrociato Problema del protocollo: non supporta i join contemporanei di più nodi attenzione al startup della rete

7 08/09/2005Sistema Decentrato di Allocazione del Carico7 Fault Tolerance Tolleranza alla caduta del singolo nodo Messaggi AreYouAlive scambiati tra nodi vicini Alla caduta di un nodo: si comunica il fallimento agli altri nodi e ad eventuali clienti (strati superiori) si ricostruisce lanello (serie di operazioni di join, diversamente ritardate, da parte dei nodi sopravvissuti)

8 08/09/2005Sistema Decentrato di Allocazione del Carico8 Gestione dellEsecuzione Server che gestisce lallocazione sotto forma di oggetto Java remoto (unistanza su ogni nodo) Ad ogni server può essere richiesto il lancio di applicazioni e lallocazione di processi e dati condivisi tra questi Ogni nodo dispone di una stima delle performance della macchina (potenza di calcolo e disponibilità di memoria) Caricate da file una stima dinamica potrebbe essere migliore Coordinazione dei nodi per effettuare le scelte di allocazione Applicazioni lanciate richiedendo, ad uno dei servitori disponibili, lallocazione del processo principale

9 08/09/2005Sistema Decentrato di Allocazione del Carico9 Allocazione dei Processi (1) Determinazione del servitore più scarico tramite interrogazione di tutti i nodi Ogni nodo stima il proprio carico come: LOAD = N_PROC / (CPU_PERF * N_CPU) dove: N_PROC: numero di processi allocati CPU_PERF: fattore indicante la potenza computazionale delle CPU della macchina (da misurarsi con un criterio uniforme per tutte le macchine) N_CPU: numero di CPU sul nodo

10 08/09/2005Sistema Decentrato di Allocazione del Carico10 Allocazione delle Strutture Dati Oggetti condivisi tra processi identificati nel sistema da una coppia (nome_applicazione, id_oggetto) Ogni processo può richiedere lallocazione di un dato al nodo corrente o al nodo con maggiore memoria disponibile

11 08/09/2005Sistema Decentrato di Allocazione del Carico11 Accesso alle Strutture Dati Quando un processo richiede laccesso ad una struttura dati, se questa non è già in uso, viene trasferita sul nodo da cui è acceduta Necessità di rendere effettive le modifiche Implementazione con oggetti remoti? Viene permesso laccesso ad un oggetto condiviso ad un solo processo per volta I processi che richiedono un dato già in uso restano bloccati in un ciclo di polling, fino alla rimozione del lock Sincronizzazione più stretta? Coda di processi in attesa…

12 08/09/2005Sistema Decentrato di Allocazione del Carico12 Ancora sulla Fault Tolerance Tolleranza al guasto singolo a livello dei servizi di allocazione: trasparenza completa difficilmente garantibile (necessità di copie dello stato dei processi in esecuzione sul nodo caduto…) Si garantisce il completamento delle applicazioni, facendole ripartire tutte una volta ricostruito lanello Ogni nodo a cui è richiesto il lancio di unapplicazione memorizza una copia del relativo record localmente, e una copia ridondante presso il nodo vicino Le applicazioni lanciate sul nodo caduto vengono fatte ripartire dai nodi che detengono i record ridondanti

13 08/09/2005Sistema Decentrato di Allocazione del Carico13 Risultati Testing con unapplicazione per la fattorizzazione di interi Valori di speed-up vicini al numero di macchine utilizzate, nei casi migliori Tuttavia è critica la configurazione dei nodi in termini di stima delle performance Difficile con hardware eterogeneo Utile un meccanismo di stima dinamica delle capacità di elaborazione

14 08/09/2005Sistema Decentrato di Allocazione del Carico14 Strade Aperte Molti miglioramenti possibili Sincronizzazione più stretta in fase di join Migliore gestione dellaccesso concorrente alle strutture dati Strutture dati come oggetti remoti? Restart delle sole applicazioni con processi in esecuzione sul nodo caduto Nuove funzionalità Replicazione dei dati per migliori performance Stima dinamica delle performance dei nodi Deployment del codice delle applicazioni


Scaricare ppt "Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo."

Presentazioni simili


Annunci Google