All'inizio del 2005 abbiamo deciso di iniziare a partecipare ad alcuni dei progetti di elaborazione remota e di calcolo distribuito. Abbiamo dedicato un buon personal computer (connesso alla veloce rete dipartimentale) alla elaborazione 24h di programmi scientifici prodotti da vari gruppi di ricerca per il cosiddetto "grid computing".
Avevamo bisogno di un nuovo computer per acquisire immagini da un microscopio trinoculare, per la grafica la potenza non bastava mai, tanto vale costruirne uno, molto economico, ma con componenti scelti davvero, davvero con attenzione.
Vi sono calcoli che anche il piu' potente dei supercomputer ha difficolta' a svolgere. Per esempio per calcolare se un numero X, molto grande, magari con qualche centinaio di cifre, e' davvero un numero primo bisognerebbe in teoria provare se e' divisibile per tutti i numeri interi fino al numero intero minore della radice quadrata di X.
Esistono "algoritmi di calcolo" che potremmo anche chiamare trucchi matematici per ridurre di poco la quantita' di calcoli ma comunque necessita una potenza di calcolo non disponibile se si deve ripetere il calcolo all'infinito per una X sempre piu' grande.
Inoltre vi sono problemi che producono una immensa quantita' di dati che andrebbero elaborati quasi in tempo reale e nessun supercomputer ha, avra', la potenza necessaria.
Ed infine esistono problemi complessi (np completi) che il piu' veloce computer non risolverebbe avendo a disposizione l'eta' dell'Universo.
Un esempio che sentirete spesso e' quello del commesso viaggiatore (The Traveling Salesman Problem) che deve raggiungere n localita' durante la giornata. Conoscendo tutte le distanze quale sara' il percorso piu' breve da svolgere durante la giornata?. Questa e' una soluzione per 16862 citta' italiane. Con un sistema Grid, in teoria, ogni computer potrebbe calcolare un percorso totale e poi quando il piu' lento ha finito il piu' veloce confronta i risultati e trova il percorso migliore.
Alla fine degli anni 70 si comincia a diffondere l'idea che i computer da dedicare ad un problema possono essere piu' di uno. Prima costruendo computer paralleli, con decine, centinaia di unita' di calcolo. Poi collegando piu' computer di un unico centro di calcolo segmentando il problema. Vennero poi, quasi in contrapposizione i supercomputer, veloci, costano moltissimo, assolutamente non in proporzione all'aumento di prestazioni, fra questi da ricordare i Cray oppure dall'INFN l'italianissimo APE.
Il parallelo lo sviluppo dei network di trasmissione dati (uno fra i tanti Internet) ha poi permesso di utilizzare per il calcolo computer distribuiti su tutti i continenti che collaborassero alla risoluzione di un solo problema.
L'immensa potenza di calcolo contenuta in un personal computer, la capacita' di scrivere algoritmi di calcolo e di sincronizzazione efficienti, e finalmente un ritorno alla scrittura di software in linguaggio macchina, senza dimenticare le WAN sempre piu' veloci permettono oggi di dedicare tempo macchina, che andrebbe invece sprecato, alla risoluzione di problemi impossibili.
Oggi questo calcolo distributito, non sincronizzato, ridondante, decentrato, poco costoso, e' definito Grid Computing.
Prima di tutto il computer ed il software. I progetti di calcolo distribuito sono i piu' vari, scritti da gruppi di ricerca molto diversi che dal lato software sono accomunati quasi tutti da Windows e da Linux. Fra i due la nostra prima scelta fu per Windows NT 4.0 Workstation che ben depurato dagli strati di software non necessario sfrutta molto bene l'hardware. Ora invece siamo passati a Windows XP professional, visto che e' il piu' vicino ad NT e permette di far girare i software ottimizzati. Per il computer e' stato utilizzato un PC equipaggiato con Pentium IV-D extreme edition 3.2 GHz, bus a 800 MHz, DDR dual chanels, modesto overclock, che e' molto performante nei calcoli matematici. La connessione e' una 100 Mbit ethernet dipartimentale con connessione alla Wan a 34 Mbit. Il tutto e' mantenuto in funzione durante i black out da un bel gruppo di continuita' italiano (Riello UPS, ECL, 580W). Oggi, 2023, abbiamo un quad core i5 con Win10, x64, e tanta RAM.
Boinc (Berkeley University)Questo e' uno dei possibili strati di software in cui girano vari progetti di calcolo distribuito, periodicamente bisogna andare a consultare il sito per installare l'ultima versione piu' performante e senza bugs. Se volete saperne di piu' ecco un elenco di articoli e relazioni sul calcolo distribuito, dal sito Berkeley University.
SETI@home (Berkeley University)E' forse il progetto piu' famoso. Potremmo discuterne a lungo ma statisticamente e' molto probabile che ci sia vita su di un altro pianeta in questo immenso universo. Dati i 13 miliardi di anni, se poi si tiene conto del tempo passato (cioe' e' nata, si e' sviluppata, si e' estinta) oppure del tempo a venire (e' appena nato un lichene da qualche parte) possiamo dare per certa la vita'.
Da quando Gugliemo Marconi ha lanciato nel 1885 il suo primo segnale radio questo non ha raggiunto solo l'antenna ricevente ma si e' anche diffuso nello spazio. Oggi ha raggiunto le stelle lontane da noi circa 140 anni luce raggiungendo Scheat superando la costellazione del Leone, i Gemelli, il Cancro. Fra "poco" il segnale arrivera' anche su HR 4796, stella che ha attirato l'attenzione come possibile ospite di vita.
africa@home (Swiss Tropical Institute, University of Geneva, CERN)Un altro progetto ospitato dal Cern, sviluppato dal Swiss Tropical Institute. AFRICA@home č un sito web dedicato a progetti che utilizzano potenza di calcolo donata da volontari per contribuire a cause umanitarie in Africa. La prima applicazione sviluppata per AFRICA@home si chiama MalariaControl.net, un programma in grado di modellizzare le modalitą in cui la malaria si diffonde in Africa e l'impatto potenziale che i nuovi farmaci antimalarici possono avere nella regione.
Con un attento studio epidemiologico di dove si riscontrano i nuovi casi, una mappatura del territorio, una analisi storica che si correla con la stagionalita' si puo' analizzare lo sviluppo di una delle malattie che provoca piu' morti al mondo e da cui ci sentiamo colpevolmente estranei, la malaria. Tali modelli di simulazione possono anche essere utilizzati per determinare le strategie ottimali per la distribuzione di reti antizanzare, chemioterapie o nuovi vaccini che sono attualmente in fase di sviluppo e test.
LHC@home (Large Hadron Collider at CERN)Il Large Hadron Collider (LHC) e' un acceleratore di particelle che il CERN che si sta costruendo in svizzera con la partecipazione di quasi tutti i paesi europei. Quando fra qualche anno sara' acceso sara' il piu' potente acceleratore mai costruito per investigare le proprieta' delle particelle elementari.
Con i suoi 27 Km di diametro, a 100 metri sottoterra, quando sara' acceso produrra' almeno 15 Petabytes (15 millioni di Gigabytes) per anno, impossibili da trattare senza Grid. Per ora il progetto prevede la simulazione dell'orbita di una particella ed il suo decadimento con il software SixTrack sviluppato al Cern a partire da un progetto del DESY (German Electron Synchrotron in Hamburg) che permette di migliorare i componenti dello strumento man mano che vengono prodotti.
Einstein@home (University of Wisconsin, AEI Hannower)Il 1905 e' stato l'annus mirabilis della fisica. Ora sappiamo che c'e' un prima ed un dopo il 1905. Con l'aiuto di Einstein la conoscenza di come funziona l'universo, delle leggi che governano tutta la nostra esistenza, del nostro futuro e' cambiata cento anni fa. Per ricordare questa data il 2005 e' stato universalmente definito come l'anno della fisica e sono nati tanti progetti in merito.
Quello che ci interessa e' il progetto di riconoscere onde gravitazionali prodotte dalla rotazione di stelle di neutroni (chiamate pulsar). Il GEO (l'interferometro da 600 metri ad Hannower) ed il LIGO (l'altro interferometro di Pasadena) sono perennemente in ascolto e generano un gran quantita' di dati. In questo progetto Grid fra poco dovrebbe entrare anche il nostro rivelatore Virgo vicino Pisa che con i suoi due bracci da 3 Km e' oggi uno dei piu' sensibili.
Quake Catcher Network (already at Stanford University)La disponibilita' di sensori sempre piu' piccolo adatti a rilevare le vibrazioni di un oggetto hanno permesso utilizzi inpensati fino a qualche tempo fa. Questi sensori (per esempio i Murata) vengono usati per indagini geologiche/geoscopiche o per monitorare vibrazioni di edifici.
Invece oggi si possono trovare nei LapTop i cui dischi di capacita' impensabile fino a qualche anni fa' sono molto soggetti a danni da vibrazioni. La sensibilita' di questi sensori permette la realizzazione di una rete, grid computing, fra questi LapTop che distribuiti in una regione, tutti insieme, possono leggere un terremoto.
Meglio sarebbe poter disporre di un sensore fisso, ancorato ad un muro di fondazione, come quello da noi montato nel nostro laboratorio e basato su di un chip della Code Mercenaries che incorpora la registrazione dei tre assi. Ancora meglio se come nel nostro caso georeferenziato e nord orientato. As reference the GPS coordinate of La Sapienza University are 41g 54' 06'' N : 12g 30' 50'' E : +1 UTC, for the chemistry old-building.
Piu' che di primi risultati bisognerebbe parlare di prime vittorie. Siamo forse gli ultimi arrivati in queste ricerche ma non siamo gli ultimi della lista.
Anzi siamo i PRIMI. Ognuno di questi progetti ha un software di calcolo e Boinc fa da "collante" e da "semaforo" per i vari progetti che girano sul singolo computer. Per Seti@home gli appassionati hanno compilato il codice ottimizzando per vari processori (Pentium, Athlon, Irix, Itanium, PPc, etc.), un sito in Virginia raccoglie le versioni per windows ottimizzate per AMD ed Intel.
Ebbene, come potete vedere dallo shoot dello schermo, del 9 dicembre 2005, ed anche direttamente sul sito (in blu), con i nostri 4006 secondi siamo i PRIMI al mondo nell'elaborare una Working Unit Standard usata come riferimento, e lo siamo ancora il 9 dicembre 2006.
C'e' chi e' piu' rapido ma con cluster locali di vari computer raccolti in un Team. Il nostro e' solo un Intel i5, con una attentissima scelta dei componenti, iperottimizzato ed iperalleggerito nel software di gestione. Pero' lavora 24h solo per questo compito, al 100% del processore, quando non riposa elaborando grafica digitale.
Qualche risultato, starting running and today.
In the last years at Universita' Degli Studi di Roma La Sapienza |
Dr. G. Visco already contract professor for Chemistry in Environment & Cultural Heritage into --> |
Corso di Laurea in: Scienze Applicate ai Beni Culturali ed alla Diagnostica per la loro Conservazione |