Distribuited Garbage Collection Pastorino Luca. Distribuited Garbage Collector garbage collection in ambiente distribuito è basato sulle idee nate per.

Slides:



Advertisements
Presentazioni simili
Programmazione ad oggetti
Advertisements

Il livello di trasporto
INTRODUZIONE Il framework.NET. Un po di storia Sin dalla prima versione del sistema operativo Windows (1990 circa), nacque la necessità di far comunicare.
Estendere i linguaggi: i tipi di dato astratti
Unità D2 Archivi e file.
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.
Biglietti e Ritardi: schema E/R
Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A CDL in Ingegneria Elettronica - A.A Strutture dati dinamiche.
Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A CDL in Ingegneria Elettronica - A.A Strutture dati dinamiche.
Ottimizzazione statica del codice per processori pipelined Canella Matteo & Miglioli Filippo.
La commutazione di messaggio o pacchetto Trasporta informazioni in forma numerica. Le informazioni di utente sono strutturate in messaggi unitamente ad.
5-1 Protocolli ad accesso multiplo Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All.
4-1 Mobilità in Internet Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights.
Interfaccia del file system
RB-alberi (Red-Black trees)
Sincronizzazione fra processi
MACCHINE DI TURING Le macchine di Turing sono dispositivi astratti per la manipolazione di simboli, ideati nel 1936 dal matematico e logico britannico.
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Reti di Calcolatori Domande di riepilogo Quarta Esercitazione
Algoritmi Paralleli e Distribuiti a.a. 2008/09
File.
Allocazione dinamica della memoria
Ricerca della Legge di Controllo
Struttura dei sistemi operativi (panoramica)
Il Linguaggio Macchina
Heap allocation e garbage collector di Oberon Algoritmo Quick Fit e garbage collector mark and sweep.
nome: sequenza di caratteri usata per denotare un oggetto
memoria gestita staticamente:
RETI E INTERNET.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Reti di Calcolatori IL LIVELLO RETE.
Posta elettronica : per iniziare : per iniziare Primi passi con la posta elettronica Primi passi con la posta elettronica
ADSL VOIP Voice Over IP.
Le funzioni a tempo di esecuzione
OGGETTI COMPOSTI Una classe può contenere riferimenti a altre classi (o anche a se stessa): public class Orologio { Counter ore, minuti; } Loggetto Orologio.
1 Packet Manager Sistema di gestione di pacchetti software per il progetto dell'esame di Reti di Calcolatori LS Progetto realizzato da Fabio Parisini.
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Corso di Informatica per Giurisprudenza Lezione 7
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
MODELLI DI RIFERIMENTO
Il modello di riferimento OSI
Il Sistema Operativo: il File System
Modulo 2 - U.D. 3 - L.4 Ernesto Damiani - Sistemi di eleborazione dell'informazione.
Introduzione al controllo derrore. Introduzione Quando dei dati vengono scambiati tra due host, può accadere che il segnale venga alterato. Il controllo.
ALGORITMI a.
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
I processi.
Creato da Riccardo Nuzzone
Nemesi Creazione e pubblicazione di una rivista online tramite l’utilizzo di Java Message Service.
Riccardo, alunno della 3A secondaria di 1° di San Macario presenta:
GLI ALGORITMI VISIBILE SUL BLOG INFORMATICA ANNO SCOLASTICO 2013 / 2014 GABRIELE SCARICA 2°T.
Università di Torino – Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a prof. Viviana Bono Blocco 7 – Array.
Fondamenti di Informatica II Ingegneria Informatica (A-I) Prof. M.T. PAZIENZA a.a – 3° ciclo.
InternetInternet Sede: Salvo D’acquisto 2010/2011 Docente: Vito Monno.
Paola Disisto, Erika Griffini, Yris Noriega.  Insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce.
Relazione sulle strutture dati Svolta da: Buccella Simone Strutture di dati Aree di memoria Puntatore numericibooleani alfabetici Statici dinamici Puntatori.
Reti di computer Condivisione di risorse e
Supporto per la replicazione attiva di servizi Progetto per il corso di Reti di Calcolatori LS Montanari Mirko Matr:
Infrastruttura per la gestione distribuita di un sistema di prenotazione Progetto di: Fabio Fabbri Matricola
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
1 Strutture dati. 2 Astrazione Non vogliamo sapere l’organizzazione fisica dei dati  indirizzi e celle di memoria Ci interessa solo la loro organizzazione.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 7 -Instradamento dinamico Ernesto Damiani Lezione 4 – OSPF.
GLI ALGORITMI DI ORDINAMENTO
 Ogni processo che deve essere eseguito da un sistema di elaborazione, deve essere caricato e risiedere almeno parzialmente nella memoria centrale 
Sezione propedeutica I fondamentali e concetti di TCP/IP.
Gestione delle periferiche. Le periferiche sono dispositivi che permettono le operazioni di input/output.
Il Sistema Operativo Processi e Risorse
13. Strutture dati dinamiche Ing. Simona Colucci Informatica - CDL in Ingegneria Industriale- A.A
Transcript della presentazione:

Distribuited Garbage Collection Pastorino Luca

Distribuited Garbage Collector garbage collection in ambiente distribuito è basato sulle idee nate per lo studio dei garbage collectors in ambiente locale (single-address space collectors)

single-address space garbage collector Terminologia Mutator : un processo che modifica lo stato dello heap. Comprende operazioni come: Creazione di un nuovo oggetto Distruzione di un oggetto

Collector : il processo che recupera lo spazio garbage. Questo può essere suddiviso in due sub-processi : Identification: identifica le celle irraggiungibili. Reclamation: recupera lo spazio Garbage collector identification reclamation Classificazione Garbage collector

Identification DirectIndirect ImmediateDeferredSequentialConcurrent

Direct Identification of Garbage Lidentificazione diretta è effettuata tramite reference count. Ogni cella ha uno spazio riservato per memorizzare un contatore.

Immediate Identification and Reclamation Dopo ogni mutazione nello stato dello heap il contatore viene aggiornato e se diventa zero viene effettuato il recupero dello spazio. Il collector recupera lo spazio ricorsivamente. Problema: recursive freeing.

Deferred Reclamation Usa un lista di celle libere. Quando un cella viene deallocata viene messa alla fine della lista e il recupero dello spazio avviene solo quando questa è avanzata fino alla testa della lista.

Deferred Identification Alcune operazione modificano il ref. Count di una cella solo momentaneamente. Ad es. quando aggiungo un riferimento come parametro di una procedura: il riferimento viene cancellato al termine di essa.

Space Overhead and Overflof Il reference count occupa spazio (di solito è un valore basso). Il refence count potrebbe andare in overflow

Indirect Identification of Garbage Si basa sullidea di scorrere tutti i riferimenti a partire dalla root e identificare tutte le celle raggiungibili (alive). Di conseguenza, quelle non raggiunte sono garbage.

Mark and Scan Nella sua versione più semplice, ritarda il recupero dello spazio finchè lo heap non è saturo. Il collector è composto da 2 fasi sequenziali: Vengono cercate tutte le celle accessibile e segnate come live(basta 1 bit) Vengono recuperate quelle non raggiunte e viene resettato il bit di mark in tutte le celle

Concurrent Mark-Scan (Dijkstra) Il programma e il garbage collector possono operare concorrentemente (on-the-fly garbage collector). Viene introdotto un terzo stato per una cella che vuol dire che la cella potrebbe essere raggiungibile.

Scavenging Collectors La tecnica dello scan è inefficiente soprattutto se lo heap è grosso perché occorre scorrerlo tutto. Soluzione: dividere lo heap in 2 parti: from-space e to-space. Si alloca sempre nel from-space e quando è pieno si invertono le 2 parti.

Distribuited Garbage Collectors Per sistemi distribuiti intendiamo un insieme di host autonomi che comunicano fra loro scambiandosi messaggi. Un riferimento ad una cella che sta nello stesso host viene detto locale, altrimenti è detto remoto.

Example of computation graph p b c d e s t u o h qr a f g i l m n z v x

Garbage subgraph Intrasite acyclic garbage (v,x,z) Intrasite cyclic garbage (s,t,u) Intersite acyclic garbage (l,m,n) Intersite cyclic garbage (o,p,q,r)

Remote access Laccesso remoto avviene tramite la spedizione di messaggi

Transmission problem Perdita di messaggi Duplicazione di messaggi Ordine di arrivo dei messaggi sbagliato Host fuori uso Latenza

Transmission Il protocollo TCP/IP è lo standard de facto. Esso dovrebbe occuparsi di far rispedire i pacchetti persi, cancellare quelli duplicati e riassemblarli nellordine corretto(FOFI)

Direct Identification of Distribuited Garbage Deriva dalla tecnica del reference counter applicata in locale. Però insorgono problemi legati alla latenza nelle trasmissioni.

Distribuited Reference Counting ABC Race condition

Distribuited Reference Counting Lermer and Maurer protocol per prevenire race conditions. ABC

Distribuited Reference Counting Per il corretto funzionamento di questo metodo è necessario che i messaggi arrivino nello stesso ordine di partenza (FOFI)

Weighted Reference Count E un estensione del reference counting che risolve il problema dellordine casuale di arrivo dei messaggi Lidea è di associare un peso ad ogni riferimento, quindi il contatore viene solo decrementato e non ci sono race conditions.

Weighted Reference Count La somma di tutti i pesi dei riferimenti è uguale al valore del counter. Quando un riferimento viene duplicato, il peso viene diviso tra lui e la copia (non è necessario accedere alla cella). Quando un riferimento viene eliminato il suo peso viene sottratto dal counter.

Indirect Identification of Distribuited Garbage E basato sulla tecnica del mark e scan in locale, rivista per lambiente distribuito.

Distribuited Mark-Scan E la versione più semplice e richiede che mentre è in esecuzione il garbage collector ogni altra operazione sia sospesa in tutti gli host.

Distribuited Mark-Scan Quando un host ha lo heap saturo decide di chiamare il garbage collector, mandano un messaggio ad un host master. Il master può essere deciso sia staticamente che dinamicamente. Il master si occupa di mandare un messaggio a tutti i siti per sospendere lesecuzione.

Distribuited Mark e Scan Il master ordina linizio della fase di mark e aspetta che sia terminata in tutti gli host. A questo punto il master manda un messaggio per iniziare la fase di recupero dello spazio, e quando è terminata in ogni host, il master permette di riprendere a ognuno di riprendere il proprio lavoro.

Problem with Distribuited Mark-Scan Lesecuzione del programma rimane sospesa per tutto il tempo che impiega il garbage collector a terminare. Se un host è più lento rallenta lesecuzione in tutto lambiente. Difficile distinguere un guasto da un semplice rallentemento.

Distribuited Concurrent Mark-Scan Identification e Mutation possono avvenire concorrentemente in ogni host. Ogni host ha 2 stack, uno per le operazioni del programma e uno per quelle del garbage collector. Site A (mutator): MMM... Site A (collector): I I I... | R R R... | I I I... Site B (mutator): MMM... Site B (collector): I I I... | R R R... | I I I...

Distribuited Concurrent Mark-Scan Durante la fase di mark, una cella può assumere 3 diversi stati: White: non ancora visitata (le celle vengono inizializzate così) Gray: visitata e sono stati avviati dei mark task sui suoi riferimenti. Black: 2 tipi: una cella nuova oppure una che era gray di cui sono stati visitati tutti i suoi riferimenti.

Distribuited Concurrent Mark-Scan La fase di reclamation (scan) recupera tutte le celle white. Questa fase avviene mentre le altre operazioni sono sospese, quindi non cè bisogno di bloccare le celle, che è invece necessario durante la fase di identification e mutation poiché potrebbero modificare contemporaneamente la stessa cella.

Altre tecniche Mantenere un area dati locale in cui effettuare garbage collection locale. Cell migration: se ho un ciclo di riferimenti tra più siti posso spostare quelle celle tutte nello stesso host e poi effettuare garbage collection locale.