Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Progetto SETI@home protocollo p2p
Università degli Studi “G. D’Annunzio” Chieti – Pescara Corso di Laurea Specialistica in Economia Informatica Progetto protocollo p2p Seminario di Carlo Capuani per il corso di “Reti di calcolatori e sicurezza” del prof. Bistarelli
2
Sommario Descrizione del progetto (Search for ExtraTerrestrial Intelligence at Home) Descrizione del protocollo p2p (peer to peer)
3
cos è? è un progetto dell'università di Berkley il cui obiettivo è rilevare tracce di vita intelligente extraterrestri. Un radiotelescopio cattura i segnali radio provenienti dallo spazio milioni di PC connessi in un network p2p analizzano tali dati, un “pezzetto” ciascuno
4
SETI@home, fasi del progetto
Raccolta dei dati Distribuzione dei dati Analisi dei dati sui singoli PC Verifica dell’integrità dei dati Ricerca di possibili segnali extraterrestri
5
Raccolta dei dati Il radiotelescopio di Arecibo (Puerto Rico, il più sensibile del mondo) registra su nastro i segnali radio che capta dal cosmo Nel laboratorio del progetto SETI (a Berkley) i dati vengono suddivisi in “work unit” di 350kb ciascuno, memorizzati su disco e indicizzati nel database Radiotelescopio di Arecibo Data tape DLT 35 GB Splitter Work unit storage Database
6
Distribuzione dei dati
I “work unit” vengono distribuiti ai PC con un fattore di ridondanza di 2-3 Work unit storage Garbage collector Client Database Data – Result server Client Client
7
Analisi dei dati su ciascun PC
Ogni utente scarica ed installa un client che preleva un “work unit” per volta L’analisi di ogni “work unit” ha bisogno di 3.9 trilioni di calcoli in virgola mobile (≈10 ore su un Pentium II 500 MHz) I segnali la cui potenza e qualità superano certe soglie diventano “segnali candidati” e sono restituiti al server a Berkley
8
Verifica dell’integrità dei dati
Il server a Berkley memorizza i “segnali candidati” e li verifica, controllando la corrispondenza tra i risultati (ridondanti) dello stesso “work unit”, usa un protocollo proprietario e non un protocollo open source David Anderson: “la parte più difficile è quando i dati tornano al nostro server, come sappiamo che sono stati generati realmente dal nostro client? Non ci sentivamo sicuri con un protocollo open source, e nonostante ciò alcuni utenti hanno modificato il nostro client per inviarci dati errati o gonfiati”
9
Verifica dell’integrità dei dati
I nuovi dati vengono catalogati sia per l’analisi scientifica che per le statistiche degli utenti, viene aggiornato quindi il database.
10
Ricerca di segnali extraterrestri
Si cercano i segnali con frequenza e coordinate celesti simili rilevate in tempi differenti. Questi “segnali ripetuti” sono studiati più a fondo, potenzialmente pronti ad un controllo incrociato con altri progetti di ricerca extraterrestre
11
Diamo i numeri! (luglio 2002)
più di 3.83 milioni in di partecipanti in 226 Stati nel mondo 221 milioni di “work unit” elaborate (per un totale di 77,35 TeraBytes) le CPU hanno realizzato 1.7x10^21 operazioni in virgola mobile in un tempo totale di anni rendimento medio di TeraFLOP/S (due volte la velocità dell IBM ASCII White, il più veloce supercomputer al mondo) …e tutto ciò gestito da uno staff di al più 5 persone!
12
Elaborazione distribuita
Condivisione, Selezione e Aggregazione di risorse autonome e geograficamente distribuite a seconda della loro disponibilità, capacità, performance, costo. Il calcolo distribuito è una popolare applicazione per le reti P2P, in questo caso si ha la condivisione di risorse hardware. si basa sul presupposto che, durante le normali operazioni, il 90% dei cicli CPU dei PC domestici resta inutilizzato. Una stima suggerisce che i PC connessi a Internet offrono in aggregato 10 billioni di MHz e 1000 TB di spazio su disco. Le reti P2P permettono alle organizzazioni di usare queste risorse globalmente distribuite.
13
Suddivisione del lavoro in “work unit”
modello Farmer-Worker Adatto quando è necessario eseguire una stessa sequenza di operazioni su di un enorme insieme di dati che possono essere ripartiti in sottoinsiemi processabili in modo separato. Una applicazione viene decomposta in tasks tra loro indipendenti, l’indipendenza dei tasks garantisce l’assenza di comunicazione tra i nodi che eseguono le operazioni.
14
Come avviene la distribuzione dei “work unit” ?
modello peer-to-peer (p2p) Una rete peer-to-peer è un tipo di rete che permette a un gruppo di computer di connettersi fra loro e di condividere le risorse in loro possesso. In tali reti, ciascun nodo (peer) ha capacità e responsabilità equivalenti. Questa è la principale differenza dalle architetture di tipo client/server
15
Terminologia Nodo: un PC connesso ad una rete
Network p2p: un insieme di nodi con un protocollo p2p comune Peer: un nodo quando l'informazione è mutualmente diretta Client: un nodo che inizia la comunicazione Server: un nodo che non dirige lo scambio di informazioni, restando in attesa di richieste di connessione
16
Sistemi decentralizzati
Nei sistemi decentralizzati (ad esempio Gnutella, Kazaa, WinMx), non esiste un server centrale, ma tanti servant. Servant indica un programma in grado di funzionare da server e da client (il nodo su cui esso si trova è quindi peer). Per entrare nel network bisogna conoscere l'indirizzo di un servant già attivo al quale si comunica di essere “alive”, il servant a sua volta lo comunica agli altri nodi al quale è connesso e lo stesso faranno questi ultimi e via così per un numero massimo di passaggi (TTL: time to live), dopo il quale i nodi smettono di propagare la nostra esistenza. Inseriti nel network è possibile effettuare delle ricerche presso i nodi che abbiamo attraversato e quindi scambiarsi risorse direttamente con essi.
17
Sistemi decentralizzati
18
Primitive di comunicazione
ALIVE – comunicazione della propria presenza. FORWARD – Propagazione della nostra presenza, ad ogni salto viene decrementato il TTL (time to live). QUERY - L'utente 1 esegue una ricerca (anche questo pacchetto ha un TTL che si decrementa progressivamente). QUERY HIT - Quando un nodo trova una corrispondenza, risponde comunicando il suo indirizzo ip e la porta PUSH - L'utente 1 sceglie un host da cui scaricare la risorsa e manda la richiesta direttamente.
19
Sistemi centralizzati
Molte reti e applicazioni (tra cui che si descrivono come peer-to-peer fanno però affidamento anche su alcuni elementi “non-peer”, come per esempio il concetto di client e server: Un server centrale mantiene un elenco di utenti e di risorse che questi ultimi mettono a disposizione. Quando si effettua una ricerca ci si rivolge al server centrale, il quale consulta i propri archivi e ci fornisce dei risultati con gli indirizzi di chi mette a disposizione una certa risorsa. Lo scambio della risorsa avviene direttamente tra i due utenti interessati, e non coinvolge in nessuna maniera il server.
20
Sistemi centralizzati
21
Primitive di comunicazione
LOG - L'utente 1 si autentica sul server centrale, trasmettendogli una lista delle risorse che intende condividere. QUERY - L'utente 2 esegue una ricerca di una risorsa detenuta anche dall’utente 1 RESPONSE - Il server invia all'utente 2 una lista di indirizzi degli host che detengono la risorsa da lui richiesta, insieme alla porta ed altre informazioni. PUSH - L'utente 2 sceglie un host da cui scaricare la risorsa e manda la richiesta direttamente. PULL - L'utente 1 manda la risorsa direttamente all’utente 2.
22
Applicazioni p2p Rete eDonkey: Protocollo FastTrack
eMule Shareaza Protocollo FastTrack Kazaa, Kazaa lite, K++ Grokster iMesh Rete Gnutella-Gnutella2 Morpheus MLDonkey Rete Napster: WinMX Napigator Rete WPNP Rete client
23
Riferimenti SETI@home
p2p queste slides
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.