Math
LINKS
CONTACTS


 

Operation Billion Digits

 


1. Il progetto

Operation Billion Digits è un bizzarro ed eccentrico progetto di calcolo distribuito che si occupa di ricercare fattori di un numero primo di Mersenne composto da un miliardo (!) di cifre decimali. In realtà non esiste alcuna speranza di trovare realmente un tale numero primo con la tecnologia e gli algoritmi attuali: un test di Lucas-Lehmer per il controllo della primalità richiederebbe la bellezza di centinaia di anni... O forse di più, dal momento che la maggior parte di noi non utilizza hardware all'avanguardia per un progetto tanto curioso. Io ad esempio dedico a questa "operazione" un vecchio Pentium II a 250 MHz, mentre William B.Lipp utilizza un Pentium Pro 180. I test di Pollard P-1, P+1, ed ECM (sulle curve ellittiche) risultano altrettanto inutili dal momento che richiederebbero operazioni modulo il numero di un miliardo di cifre. L'unica parte di questo progetto che oggi è possibile intraprendere è la fattorizzazione; ma anche questo tipo di calcolo non può essere gestito dall'efficiente programma di George Woltman Prime95. Per questa ragione, dopo qualche discussione sul forum www.mersenneforum.org, ho deciso di scrivere un mio programma per la fattorizzazione in grado di gestire tali numeri enormi.

 


2. Come funziona


Una volta scaricato il programma sarà necessario scegliere un esponente non ancora assegnato dal link Esponenti, e scrivere un messaggio nel thread Operation Billion Digits per far sapere a tutti che quell'esponente è stato da voi richiesto. Occorre quindi aprire una finestra DOS e lanciare il programma, che vi chiederà l'esponente del numero di Mersenne scelto, il livello iniziale e finale di profondità di fattorizzazione in bit. Il nostro progetto è quello di iniziare con la fattorizzazione sino a 67 bit, ed estenderla di un bit per ciascun nuovo esponente scelto. Se quindi sarete la quarta persona ad associarsi alla ricerca, tenteremo di raggiungere e superare i 70 bit di profondità, che equivalgono a fattori con circa 21-22 cifre. Sino alla versione 4 il programma non era multithread, vi converrà forse utilizzare il task manager per abbassarne la priorità. Dalla versione 5 l'utilizzo dei threads rende l'operazione meno necessaria. Infine, se il computer venisse spento per errore durante l'elaborazione, sarà necessario rilanciarlo con l'opzione di resume, digitando (secondo la versione)

"factor4 -r" "factor5 --resume"

in modo da ripartire attraverso il file di stato periodicamente salvato sul disco.

 


3. Download - Scelta e scarico del programma


Per partecipare occorre scaricare il programma. Sono disponibili versioni per diverse piattaforme, anche se purtroppo non tutte sono allineate alla versione 4. Se siete esperti su una piattaforma non contemplata e avete voglia di collaborare, inviatemi il vostro package ed il vostro lavoro sarà riconosciuto su questa pagina. Le versioni disponibili sono le seguenti:

 

  Windows Linux MAC OS X BSD
Factor3_1 factor3_1 Win factor3_1 OS X
Factor3_2 factor3_2 Win
factor3_2 with SSE2
factor3_2 BSD
Factor4 factor4 Win
factor4 with SSE2
factor4 AMD64 factor4 OSX 64 bit
Factor5 factor5 32 bit/64 bit/MSVC sources
required Visual C++ 2008 DLLs
factor5 32 bit (Cygwin) factor5 64 bit

 

Rinrgaziamenti

Vorrei ringraziare da questa pagina le seguenti persone:
Andreas Pipp che mi ha fornito l'idea ed i sorgenti (scritti tramite la libreria GiantInt di Richard Crandall);
Arjan Koek, che si è adoperato per fornire al gruppo la versione del software compilata per powerPC sotto MAC OSX;
Andres Aitsen che ha fornito la versione per BSD, e Dmitri Gribenko che ha lavorato sulla versione 4.0 per Linux;
Xenon, Nick Fortino e Peter Nelson, che hanno rintracciato bachi e offerto strumenti per aumentare l'efficienza del codice;
Mark Rodenkirch che ha compilato una versione per MAC G5 64 bit sotto OSX;
Daniele Forsi che ha ripulito il codice rendendolo più elegante ed user-friendly;
Jeff Gilchrist che ha fornito una versione per Windows compilata sotto MSVC eliminando il problema delle librerie Cygwin e Cyg-gmp;
Patrizia Colombo, che mi ha offerto la sua pazienza ed una intuizione geniale durante lo sviluppo;

Tutti coloro che partecipano attivamente all'Operation Billion Digits.

Installazione

Il programma è in grado di funzionare in versione "batch":  è possibile preparare una lista di esponenti in un formato predefinito e lanciare il programma in automatico (come spiegato nel file readme).

Il programma accetta ora il numero dei thread da utilizzare direttamente da linea di comando: è possibile lanciare 1, 2, 4, 8 o 16 threads simultanei.

Per qualsiasi informazione relativa al progetto, alla scelta del candidato od alla configurazione del programma potete scrivermi.


Copyright © MoreWare 2000 ... Last update: Sep. 2013
L.Morelli@moreware.org