48mo Numero Primo di Mersenne finalmente scoperto!!!!
Scarica il software
Questa sezione non viene aggiornata molto spesso. I G.I.M.P.S. forums sono il
mezzo migliore per trovare risposte o per formulare nuove domande ai
membri più esperti del progetto G.I.M.P.S. I forum sono in
lingua inglese ma
sono frequentati anche da molti italiani!
Questa pagina contiene le risposte alle domande più frequenti
relative al
software gratuito Mersenne Prime. Qui troverai indicazioni relative a
cosa fa il
programma e indicazioni su come utilizzarlo. Non ci sono risposte
relative
ai problemi di rete o al server "Primenet". Per trovare risposte per
questo tipo di domande visita la sezione PrimeNet server's FAQ.
Se vuoi puoi consultare anche la Mersenne mailing list
FAQ
(in inglese), che però tratta in particolare di questioni
matematiche e non
strettamente collegate al programma.
Utilizzo del programma
- Il programma
interferirà col mio normale lavoro?
E' estremamente improbabile. Il programma gira infatti alla più
bassa priorità possibile. Questo significa che andrà in
esecuzione solamente quando e nella misura in cui il tuo processore non
sia impegnato in altri compiti. Sebbene possa funzionare utilizzando
solamente 8 Mb di memoria RAM, in computer obsoleti con una scarsa
dotazione di memoria può verificarsi un leggero rallentamento
degli altri programmi. Per informazioni ulteriori, potete fare
riferimento ai case studies che sono stati
fatti.
N.B.: quanto appena detto non è valido per
sistemi basati sul sistema operativo Windows 3.1! In questi
sistemi si dovrebbe utilizzare il programma solo quando non si sta
utilizzando altrimenti il computer.
- Il mio computer
dovrà rimanere sempre acceso finché non ha terminato un
lavoro? Che cosa succede se si verifica improvvisamente un blocco del
sistema?
No! E' possibile arrestare e far ripartire il programma in qualsiasi
momento. Una volta riavviato, il programma riprenderà il lavoro
esattamente dal punto in cui era stato interrotto. Il programma esegue
il salvataggio dei dati parziali ad intervalli regolari di tempo (30
minuti è l'impostazione base): questo permette di ridurre le
perdite di dati in caso di blocco del sistema. Ad ogni modo, se il
computer rimane per lo più spento, l'avanzamento del lavoro
potrebbe rivelarsi assai lento.
- Lasciare acceso il mo
computer per 24 ore al giorno ne accorcerà la "vita utile"?
Sebbene non si conoscano studi seri sull'argomento, l'evidenza supporta
l'idea che i moderni computer possano operare ininterrottamente. Tutti
i produttori di hardware, infatti, forniscono una garanzia sui loro
prodotti che non dipende dalle ore effettive di utilizzo degli stessi
(come invece accade talvolta, ad esempio, per le automobili). Purtroppo
i nostri computers hanno la tendenza a divenire obsoleti ben prima che
i loro singoli componenti possano usurarsi perché se ne è
fatto un uso "eccessivo". Naturalmente questa non è una
garanzia! L'utilizzo che fate dei vostri computer ed eventuali
danneggiamenti non potranno che essere a vostro rischio! Lasciare
acceso per molto tempo il computer potrebbe far aumentare la vostra
bolletta dell'energia elettrica. In caso di utilizzo prolungato del
computer, inoltre, sarebbe bene tener d'occhio il file "results.txt"
che si trova nella directory in cui è stato installato il
programma e controllare che non si siano verificati errori dovuti alla
memoria di sistema o ad un eccessivo surriscaldamento del processore.
- Cosa sono i numeri primi di
Mersenne? In che modo possono essere utili?
Un numero primo di Mersenne è un oggetto matematico che ha la
forma 2P-1. Si conoscono ad tutt'oggi solamente 39 di questi
numeri. I primi valori di P che danno un primo di Mersenne sono 2, 3,
5, 7, 13 (mentre i corrispondenti numeri primi sono 3, 7, 31, 127,
8191). Per determinare la primalità di un numero si utilizza un
test detto di Lucas-Lehmer. Maggiori e dettagliate informazioni le
potete trovare nelle splendide pagine del dott. Chris Caldwell
(in Inglese).
La scoperta di nuovi numeri di Mersenne difficilmente potrà
avere qualche ricaduta pratica immediata e questa ricerca rimane
innanzitutto un "serio divertimento". Tuttavia, grazie ad essa, i
giovani studenti di matematica ed i matematici di professione possono
trovare stimoli sempre nuovi nel ricercare algoritmi sconosciuti,
mentre l'utilizzo intensivo dell'hardware richiesto da questa ricerca
è un sicuro mezzo per valutarne la bontà e per
evidenziarne eventuali carenze e/o difetti.
- Quanto ci vorrà? Quante
sono le probabilità di trovare un numero primo di Mersenne?
Il tempo impiegato per completare un test di Lucas-Lehmer dipende
essenzialmente dalla velocità del vostro computer, in special
modo dall'accoppiata CPU/Chipset, RAM (le prestazioni della scheda
video e del disco rigido sono invece ininfluenti), e dalla dimensione
dell'esponente che state testando. Un computer equipaggiato con un
processore PentiumII® a 400 Mhz impiega diverse settimane di lavoro
ininterrotto per completare un singolo test. Potete trovare delle stime
molto più accurate e per tutti i tipi di processore nella pagina
dei benchmark.
- In che modo il
programma utilizza la connessione ad Internet per riservarsi del lavoro
e per comunicare i risultati?
Il programma si connette ad un Server centrale (chiamato
Primenet) per poter ricevere degli esponenti da testare e per
comunicare di volta in volta i vostri risultati. I pacchetti di dati
così scambiati sono davvero di ridotte dimensioni: poche decine
di bytes! (è sufficiente quindi un qualunque tipo di
connessione). Il programma inoltre necessita di comunicare col server,
in media, una o due volte al mese.
Come detto, non è assolutamente necessaria una connessione
permanente alla rete (ad es. ADSL o fibra ottica). Infatti, nel caso di
una connessione tramite modem analogico, il programma continua a
lavorare in sottofondo attendendo che una qualche connessione venga
attivata. Nel momento in cui vi trovaste a navigare o a spedire e
ricevere le vostre e-mail, il programma invierà i propri dati al
server automaticamente. Una volta configurato correttamente, il
programma non si connetterà mai autonomamente ad Internet e
tanto meno cercherà di reimpostare i valori della vostra
connessione! (Come invece fanno certi programmi chiamati "dialer"). E'
possibile comunque sovrascrivere le impostazioni di default ed avere un
controllo totale di quello che il programma fa.
Il programma supporta sia il protocollo RPC che HTTP. Potete anche
utilizzare un proxy server. Vi rimandiamo alle F.A.Q. del server Primenet
(in inglese) per maggiori dettagli.
- Posso partecipare anche se
il mio computer non ha una connessione ad Internet?
Sì. Naturalmente dovrete poter utilizzare un computer che possa
collegarsi alla rete Internet. Sul server PrimeNet potete trovare una pagina
dedicata proprio ai computer privi di connessione in cui è
possibile riservarsi degli esponenti e riportare i propri risultati.
Tutto ciò che vi occorre e un disco floppy. L'unica avvertenza
è che occorre ricordarsi di riportare i risultati di tanto in
tanto, altrimenti il server riassegnerà il vostro lavoro a
qualcun altro (in media dopo due mesi circa).
Un'altra alternativa, che però richiede più lavoro per il
dott. Woltman, è quella di scaricare un database di esponenti
ancora liberi, di sceglierne alcuni e
mandargli una e-mail.
- Cosa significano i
messaggi che il programma mostra all'interno della sua finestra?
Tutti questi messaggi sono spiegati nel file "readme.txt".
- Qual è la
differenza tra il lavoro di fattorizzazione (trial factoring), di
doppia verifica (double-checking) e di test di Lucas-Lehmer
(LL-testing)?
La fattorizzazione (trial factoring) è un tentativo di
dimostrare che un numero non è primo, che è cioè
composito, individuando un suo divisore (un suo fattore). La si esegue
nella speranza di trovare in poche ore un piccolo divisore del numero
candidato così da evitare un intero test di primalità di
Lucas-Lehmer che invece richiede solitamente molto tempo. Per questo
motivo, naturalmente, il lavoro di "trial factoring" non può
essere utilizzato per trovare nuovi numeri primi di Mersenne, ma solo
per restringere il numero dei candidati. Il test di primalità di
Lucas-Lehmer è l'unico modo per provare che questi enormi numeri
siano effettivamente primi. Il lavoro di doppia verifica
(Double-Checking) è la ripetizione di un test di Lucas-Lehmer. I
Computers non sono perfetti e può accadere che il primo test di
Lucas-Lehmer test non sia stato eseguito correttamente (ad esempio
perché si è verificato un qualunque tipo di errore).
Quando si ottengono due test sul medesimo esponente che forniscono il
medesimo risultato, si può escludere quell'esponente dai
possibili numeri primi di Mersenne.
- Mi è stato
assegnato del lavoro di fattorizzazione: come posso avere invece
esponenti da sottoporre al test di primalità di Lucas-Lehmer?
Le impostazioni di default del programma fanno sì che
venga richiesto al server il tipo di lavoro che meglio si adatta al
vostro computer, anche in considerazione del tempo che prevedete
rimarrà acceso durante il giorno. Così, ad esempio, un
computer con un processore da 1 GHz che rimanga acceso per 6 ore al
giorno verrà considerato come un computer con un processore a
250 Mhz (un quarto della giornata equivale ad un quarto della potenza
effettiva della CPU).
E' possibile naturalmente sovrascrivere le impostazioni di default
tramite l'opzione "Primenet" del menù "Test". Badate bene che i
processori più datati però, ad esempio Cyrix, K5, o 486
impiegano anni di lavoro ininterrotto per completare un singolo test!
Date un'occhiata alla pagina dei benchmark per
essere sicuri di avere la pazienza necessaria per eseguire dei test di
primalità!
- Perché accade
che il programma venga segnalato operare ad una priorità normale
invece che minima (idle) da alcune utility?
Il programma è costituito essenzialmente da due routine. La
prima è quella che disegna la finestra del programma e che
gestisce le varie opzioni selezionabili dai menù; tale routine
non utilizza praticamente alcuna risorsa del processore e gira ad una
priorità normale. La seconda invece è quella deputata al
calcolo vero e proprio e gira alla più bassa priorità
possibile. Per ragioni un po' complesse a spiegarsi, le priorità
in Windows sono gestite a due differenti livelli: a livello di
applicazione e a livello di processo. E' possibile pertanto che talune
utility rilevino il livello di priorità della prima,
ininfluente, routine.
- Il programma sarà
più rapido se alzo la sua priorità?
No. Il sistema operativo è molto efficiente nell'assegnare al
programma tutti i cicli di processore che altrimenti andrebbero
sprecati. L'unico effetto che si otterrebbe nell'alzare il livello di
priorità del programma è quello di rallentare
drasticamente tutte le altre applicazioni. Un esempio può
chiarire meglio la questione. ipotizziamo che nel prossimo minuto il
vostro foglio elettronico abbia bisogno di 10 secondi per un ricalcolo.
poiché tale programma gira ad una priorità alta, esso
impiegherà i primi 10 dei prossimi secondi per restituirvi il
risultato. A Prime95 rimarranno i successivi 50 secondi per i propri
calcoli. se i due programmi girassero alla medesima priorità, il
foglio elettronico dovrebbe dividere le risorse del sistema con Prime95
esattamente a metà ed impiegherebbe sempre 10 secondi ma potendo
utilizzare solo un secondo su due saranno passati alla fine 20 secondi
(risulterebbe praticamente veloce della metà). Prime95,
parallelamente, utilizzerebbe 10 dei primi 10 secondi ed i restanti 40,
ovvero lo stesso tempo che nella prima ipotesi. Potete considerare
l'ipotesi di alzare il livello della priorità del programma solo
nel caso in cui fossero in esecuzione programmi accessori di cui
pensate di poter fare a meno, come ad esempio gli screensavers. Anche
in questo caso però, è fortemente sconsigliato alzare la
priorità altre il livello 4 o 5, pena un forte rallentamento del
sistema. Ad un livello di priorità "in tempo reale" (livello 10)
il vostro computer sarebbe praticamente inutilizzabile!
- Ho trovato un fattore, però il
programma sta continuando il lavoro di fattorizzazione. Come mai?
Nelle versioni precedenti la 20 il programma cerca dei fattori che
siano sempre più piccoli, indipendentemente dal fatto di averne
trovato già uno. L'unico motivo alla base di questo
comportamento sta nell'esigenza di acquisire un database contenete
tutti i fattori più piccoli di ciascun numero di Mersenne. tale
database permetterà in futuro ai matematici di eseguire ricerche
ed analisi sulla distribuzione di tali fattori. il fatto che i fattori
non vengano testati in sequenza dipende da motivi di ottimizzazione
interna del codice che forse è inopportuno analizzare in questa
sede.
- Devo fermare il programma
prima di spegnere il computer?
No. lo spegnimento del sistema attraverso la normale procedura permette
al programma di salvare i dati intermedi e di poter così
recuperare il lavoro esattamente dal punto in cui era stato interrotto,
una volta che il sistema venga riavviato.
- Perché il mio processore
K6/Cyrix è così lento rispetto ad un Pentium anche di
frequenza minore?
Il programma fa un uso molto intenso della FPU (Floating Point Unit,
unità di calcolo in virgola mobile) del vostro processore. La
FPU di processori di classe Pentium è dotata di particolari
strutture dette "Pipelines" che permettono l'esecuzione di
un'operazione in virgola mobile per ogni ciclo di clock. La FPU dei
processori AMD K6 o Cyrix, invece, non è "pipelined"
cosicché e possibile processare solamente un'operazione
"floating point" ogni due o addirittura quattro o più cicli di
clock. Per questo tali processori risultano essere il doppio o il
quadruplo più lenti di un Pentium di pari frequenza.
Naturalmente questo vale solo per l'esecuzione del codice di questo
particolare programma. nelle normali applicazioni, infatti,
difficilmente si riscontreranno prestazioni tanto inferiori in quanto
tali applicazioni non fanno un utilizzo tanto intenso né tanto
meno ottimizzato dell'unità FPU.
Nota: la tecnologia implementata da AMD nei suoi processori a partire
dal K6, nota come "3DNow technology®" non può essere
sfruttata da questo programma in quanto essa supporta solamente
operazioni in singola precisione mentre Prime95 utilizza solo
operazioni in doppia precisione.
- Qual è la password per attivare il
menù "Advanced"?
La password si trova nel file "readme.txt" assieme ad una spiegazione
delle varie opzioni attivabili tramite il menù "Advanced".
Alcune di tali opzioni rimarranno bloccate anche dopo l'inserimento
della password finché non arresterete il programma scegliendo
"Stop" dal menù "Test".
- Sul mio sistema sono installati sia Linux che
Windows. Le due versioni del programma (prime95 per Windows e mprime
per Linux) sono compatibili tra loro?
Sì. E' sufficiente installare entrambe i file eseguibili (mprime
in Linux e Prime95 in Windows) in una directory accessibile ad entrambi
i sistemi operativi (Il file system FAT o FAT32, ad esempio, sono
compatibili sia con Windows che con Linux). I due programmi potranno
così condividere tutti gli altri files di cui hanno bisogno (i
files *.ini, quelli temporanei, quelli di risultato, eccetera). Solo
accertatevi di aver impostato il programma in modo da avviarsi ad ogni
avvio del sistema!
- Ho un computer
bi-processore ovvero più computer connessi in rete. E' possibile
far lavorare questi processori contemporaneamente sullo stesso
esponente per ottenere più velocemente un risultato?
No. Non è infrequente che il programma processi 100 Mb di dati
al secondo. Questa è una mole troppo grande di dati per poter
pensare di distribuirla efficientemente tra vari processori.
Così, anche se è in teoria possibile scrivere un
programma che abbia tali caratteristiche, la cosa sarebbe poco
ragionevole in quanto il lavoro che si otterrebbe sarebbe inferiore a
quello che si può invece ricavare assegnando un esponente
soltanto per ogni processore.
Ultimo aggiornamento: 20 Febbraio 2008
Per iniziare: Pagina iniziale |
Come funziona | Download | FAQ | Benchmarks | Premi
Per saperne di più : Storia | Matematica | Codice sorgente | Mailing list
Stato del progetto: Stato
| Top Producers | PrimeNet
Miscellanea: Ricerca
manuale | Ringraziamenti
| Links | Feedback | Altri progetti