Manpages

NOME

setiathome - client per il progetto SETI@home

SINTASSI

setiathome [opzioni]

DESCRIZIONE

setiathome è la versione UNIX del client SETI@home, il quale scarica i dati di un radiotelescopio da un server di rete, li analizza cercando segnali di origine extraterrestre e invia i risultati ad un server, ripetendo questo ciclo all’infinito. Si visiti

http://setiathome.berkeley.edu

per maggiori informazioni.

FILE

Il programma genera svariati file con estensione .sah nella directory dalla quale è avviato. Questi file non dovrebbero essere modificati.

Se si vuole avviare più istanze contemporanee di setiathome (su una macchina multiprocessore o su diverse macchine che condividono un filesystem), ciascuna deve essere avviata in una differente directory. Si possono usare collegamenti simbolici per ogni directory in modo da evitare la duplicazione del binario, ad es.:

ln -s cpu0/setiathome cpu1/setiathome

setiathome usa un file di lock (lock.txt) per prevenire l’esecuzione di istanze multiple nella stessa directory.

Per completare la propria attuale unità di lavoro, inviare il risultato e non scaricare una nuova unità, mentre il client è in esecuzione si crei il file "stop_after_send.txt" nella directory del programma. Quando l’elaborazione è finita e il risultato è stato inviato, il client terminerà l’esecuzione.

*** Notate che l’estensione per questo unico file è .txt, mentre tutti gli altri file usati dal programma hanno estensione .sah ***

Il file "pid.sah" contiene l’ID del processo relativo all’istanza corrente.

UTILIZZO DI SETIATHOME

Alla sua prima esecuzione setiathome richiederà l’indirizzo email, il nome, il paese, ecc. Queste informazioni verranno riposte in un file e per i successivi avvii del client non saranno necessarie altre interazioni.

Dopo questo si potrà eseguire setiathome in background ed eventualmente si potrà dirigere il suo output verso /dev/null.

setiathome può essere fermato e riavviato in tutta libertà. Il client salva il suo stato in alcuni file e ogni volta ricomincia il lavoro da dove è stato interrotto.

Se si vuole che setiathome parta automaticamente, si può pianificare l’esecuzione di un job con cron. Aggiungete la linea seguente al vostro crontab:

0 * * * * cd <setidir>; ./setiathome -nice 19 > /dev/null 2> /dev/null

dove <setidir> è la directory nella quale setiathome è installato. Questo compito cron tenterà di avviare il client all’inizio di ogni ora. Se è già in esecuzione, l’invocazione successiva non produrrà alcunché. Se il client non è in esecuzione, sarà avviato. Per maggiori informazioni sui job di cron si legga la pagina man di crontab(1).

Il seguente script fermerà tutte le istanze di SETI@home (assumendo che il nome del binario in esecuzione sia setiathome):

#! /bin/sh

kill ’ps aux | grep setia | grep -v grep | awk ’{print $2}’’

(cambiate gli argomenti di ps adattandoli al vostro sistema)

Il seguente script fermerà l’istanza nella directory corrente:

#! /bin/sh

kill ’cat pid.sah’

Per favore non usate il client su macchine per le quali non avete il permesso.

AMBIENTE

Se è definita la variabile d’ambiente HTTP_PROXY, setiathome si connetterà attraverso un proxy server, specificato come nomehost o nomehost:porta.

Se è definita la variabile d’ambiente SOCKS_SERVER, setiathome si connetterà attraverso un server SOCKS, specificato come nomehost o nomehost:porta. Se sono definite le variabili SOCKS_USER e SOCKS_PASSWD, queste saranno usate per il server SOCKS come nome di login e password, in caso contrario setiathome ne effettuerà la richiesta.

OPZIONI

-login Effettua il login o crea un nuovo account.
-countries

Mostra la lista dei codici dei paesi.

-version

Mostra la versione del programma.

-nice N

Imposta la priorità "nice" a N (predefinito 1).

-email

Invia email (all’indirizzo email di login) quando si verificano errori. Utile se eseguite il client in background diretto verso /dev/null. Quest’opzione non è disponibile su tutti i client.

-graphics

Genera un flusso di dati per l’interfaccia grafica xsetiathome (si legga README.xsetiathome) Quest’opzione non è disponibile su tutti i client.

-proxy nomehost:porta

Si connette al server SETI@home attraverso il proxy server HTTP e la porta specificati.

-socks_server nomehost:porta

Si connette al server SETI@home attraverso il server SOCKS e la porta specificati. Ignora un eventuale valore assegnato a SOCKS_SERVER. Sono supportate le versioni 4 e 5 di SOCKS.

-socks_name utente

Nome utente per SOCKS.

-socks_passwd password

Password per SOCKS.

-stop_after_process

Se è presente un file work_unit.sah, elabora quest’unità di lavoro e si ferma quando l’elaborazione è completa, senza inviarne il risultato. Se il client è avviato con questa opzione e c’è un file result.sah completo, il programma prima invia i risultati, poi preleva una nuova unità di lavoro, la elabora fino al completamento, quindi esce.

-stop_after_xfer

Invia i risultati, poi preleva una nuova unità di lavoro. Quest’opzione funziona solamente se è presente un file result.sah completo a segnalare che l’analisi della unità di lavoro è finita. Se c’è un file work_unit.sah ad indicare che l’elaborazione non è completa, non saranno eseguiti né il trasferimento né l’elaborazione e il client terminerà l’esecuzione (si veda anche: stop_after_send.txt menzionato nella sezione FILE).

-verbose

mostra in tempo reale un resoconto del lavoro che sta facendo.

-nolock

salta la verifica delle istanze multiple con lock dei file (non disponibile su alcuni sistemi NFS).

BUG

Segmenti di memoria condivisa e semafori potrebbero essere lasciati attivi nel caso di una fine anormale del processo «setiathome -graphics». Ciò potrebbe causare un fallimetno di ogni successiva invocazione di «setiathome -graphics». Usate ipcs e ipcrm per rimuovere i segmenti di memoria condivisa e i semafori non associati ad un processo. Questo comportamento può variare a seconda di come il vostro sistema UNIX gestisce questa situazione. Vedere anche ipcs(1) e ipcrm(1).

Per le versioni 3.* del client il progresso stimato, mostrato nella linea prog= del file state.sah, non è esattamente lineare in relazione al tempo di completamento. L’uso di questo valore, per prevedere il tempo necessario al completamento, potrebbe non fornire un dato del tutto accurato. La relazione lineare cambierà a seconda delle caratteristiche dei parametri dell’unità di lavoro.

VEDERE ANCHE

Maggiori informazioni su come opera il programma possono essere trovate nei seguenti siti WEB:
http://setiathome.berkeley.edu/
http://setiathome.berkeley.edu/faq.html
http://setiathome.berkeley.edu/links.html

ove sono presenti discussioni su programmi aggiuntivi e script per controllare il client in diverse situazioni.