• Non ci sono risultati.

Progetto SETI@homeprotocollo p2p

N/A
N/A
Protected

Academic year: 2021

Condividi "Progetto SETI@homeprotocollo p2p"

Copied!
23
0
0

Testo completo

(1)

Progetto SETI@home protocollo p2p

Seminario di Carlo Capuani per il corso di “Reti di calcolatori e sicurezza” del prof. Bistarelli

Università degli Studi “G. D’Annunzio”

Chieti – Pescara

Corso di Laurea Specialistica in Economia

Informatica

(2)

Sommario

 Descrizione del progetto SETI@home (Search for ExtraTerrestrial

Intelligence at Home)

 Descrizione del protocollo p2p (peer

to peer)

(3)

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

(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

Data tape DLT 35 GB

Work unit storage

Splitter

Database

Radiotelescopio di Arecibo

(6)

Distribuzione dei dati

 I “work unit” vengono distribuiti ai PC con un fattore di ridondanza di 2-3

Garbage collector

Data – Result server

Work unit storage

Database Client

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”,

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”

(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 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!

(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 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.

(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:

eDonkey2000

eMule

Shareaza

Protocollo FastTrack

Kazaa, Kazaa lite, K++

Grokster

iMesh

Rete Gnutella-Gnutella2

Morpheus

Shareaza

MLDonkey

Rete Napster:

WinMX

Napigator

Rete WPNP

WinMX

Rete SETI@home

SETI@home client

(23)

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

Riferimenti

Documenti correlati

Alla luce di questi dati non chiaramente interpretabili e utiliz- zabili per modifiche della terapia si propone alla paziente un monitoraggio in continuo della glicemia

Era quindi evidente la causa della mancata concordanza tra emoglobina glicata e glicemia me- dia giornaliera: la paziente, nel corso delle ultime settimane, aveva effettuato

e.g.: search in a database, file request, purchase a book, booking a flight, … Transmit user data to the Web server. Process data on server-side, accessing a database

I programmi in esecuzione su ciascun nodo sono in grado di condividere le proprie informazioni e di richiedere l’esecuzione di altri programmi da parte di altri nodi.

L’architettura più semplice e più diffusa L architettura più semplice e più diffusa Un client invia una richiesta ad un server per l’esecuzione di un compito (task). Un task

Cliente (Client): quando l’applicazione utilizza dei servizi messi a disposizione da altre applicazioni Servente (Server): quando l’applicazione fornisce servizi usati da

z Il client è un qualsiasi programma che invia una richiesta e aspetta una risposta; tipicamente termina dopo avere usato un server un numero finito di volte. z Il server aspetta

n “Thin” client containing only the Presentation Logic subsystem (session, text input, dialog, and display management services). n