Università degli Studi “G. D’Annunzio”
Chieti – Pescara
Corso di Laurea Specialistica in Economia
Informatica
Progetto SETI@home
protocollo p2p
Seminario di Carlo Capuani per
il corso di “Reti di calcolatori e
sicurezza” del prof. Bistarelli
Sommario
 Descrizione
del progetto SETI@home
(Search for ExtraTerrestrial
Intelligence at Home)
 Descrizione
to peer)
del protocollo p2p (peer
SETI@home, 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

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
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
Work unit
storage
Splitter
Database
Distribuzione dei dati
I
“work unit” vengono distribuiti ai PC
con un fattore di ridondanza di 2-3
Work unit
storage
Database
Garbage
collector
Client
Data – Result
server
Client
Client
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
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”,
SETI@home 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”
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.
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
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 752202 anni
rendimento medio di 27.36 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!
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.
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.
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
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
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.
Sistemi decentralizzati
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.
Sistemi centralizzati



Molte reti e applicazioni (tra cui SETI@home) 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.
Sistemi centralizzati
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.
Applicazioni p2p

Rete eDonkey:
 WinMX
 eMule
 Napigator

Protocollo FastTrack
 Kazaa,
Kazaa lite, K++
 Grokster
 iMesh

Rete Napster:
 eDonkey2000
 Shareaza


Rete Gnutella-Gnutella2
 Morpheus
 Shareaza
 MLDonkey
Rete WPNP
 WinMX

Rete SETI@home
 SETI@home
client
Riferimenti
SETI@home
 http://setiathome.ssl.berkeley.edu/cacm/cacm.html
 http://www.linuxvalley.it/columns/columns.php?IdCol=118&ts=1
p2p
 http://www.networkmagazineindia.com/200204/200204focus3.s
html
 http://genni.ing.uniroma1.it/tesi/fdl/tesiHTML2.html
 http://www.dis.uniroma1.it/~laura/didattica/tesi/supptesi/buhnik.
pdf
 http://online.infomedia.it/riviste/login/28/pdf/articolo05.pdf
queste slides
 http://tecweb.unich.it/clei/seminari/seti.zip