AFRICA@home

Che cos’è AFRICA@home?

AFRICA@home è un sito web dedicato a progetti che utilizzano potenza di calcolo donata da volontari per contribuire a cause umanitarie in Africa. La disponibilità di capacità elaborativa ha un enorme potenziale nell’aiuto per la risoluzione dei pressanti problemi sanitari e ambientali che stanno affrontando i paesi in via di sviluppo . AFRICA@home combatte questo problema fornendo un framework comune per i progetti di utilizzo di risorse computazionali offerte volontariamente e che si focalizzano sulle necessità del continente africano. Un obiettivo importante di AFRICA@home è il coinvolgimento di studenti e università africane nello sviluppo e nella gestione di questi progetti. 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.

Altre informazioni su MalariaControl.net.

Altre informazioni sul volunteer computing.

Cos’è MalariaControl.net?

I modelli di simulazione delle dinamiche di trasmissione e degli effetti sulla salute della malaria sono uno strumento importante per il controllo di questa malattia infettiva. Tali modelli 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. Questa modellizzazione è molto intensiva dal punto di vista computazionale e richiede simulazioni di popolazioni umane piuttosto vaste con set diversi di parametri relativi a quei fattori sociali e biologici che influenzano la distribuzione della malattia. Lo Swiss Tropical Institute ha sviluppato un modello computazionale per l’epidemiologia malarica e successivamente ha impiegato la sua capacità elaborativa interna, circa 40 PC, per svolgere degli studi preliminari. Per convalidare questi modelli e per simulare adeguatamente la scala completa degli interventi e dei pattern di trasmissione appropriati per il controllo della malaria in Africa, è necessaria una potenza di calcolo molto più grande. E’ stata quindi creata MalariaControl.net, allo scopo di sfruttare la disponibilità elaborativa volontaria di migliaia di persone in tutto il mondo, per aiutare a migliorare l’abilità dei ricercatori di prevedere, e quindi controllare, la diffusione della malattia. Basandosi su esperienze pregresse, ci si aspetta che l’applicazione MalariaControl.net sia completata nel giro di pochi mesi – utilizzando i PC di migliaia di volontari – un volume di elaborazioni che normalmente richiederebbe 40 anni per concludersi con la capacità computazionale a disposizione degli scienziati che hanno sviluppato l’applicazione. Inotlre, basandosi sempre sull’esperienza passata, molta di questa potenza elaborativa volontaria arriverà dai paesi sviluppati – Nord America ed Europa, in particolare. Infine, uno degli obiettivi principali di AFRICA@home è il coinvolgimento delle Università africane e delle istituzioni nello sviluppo e nell’esecuzione delle applicazioni che gireranno sui computer dei volontari.

Altre informazioni sulla malaria.

Così, se vi sembrasse un po’ astruso l’utilizzo del vostro computer per cercare degli alieni, potreste dedicarne la potenza di calcolo per qualcosa di più terreno e salutare. Se vi sembra la cosa giusta da fare, andate su Malariacontrol.net e scaricate il client, disponibile per Windows e GNU/Linux. Ah, ovviamente installatelo e lasciatelo acceso. Va che vi controllo, eh?

Sono stato invitato a un matrimonio in Planeshift. Cose dell’altro mondo…

Ieri ho preso parte a un matrimonio in PlaneShift. Gli sposi, Gharan e Gisera della gilda Wrath of Azure, hanno anticipato a sopresa la cerimonia e ci hanno dato appuntamento alla taverna del paese. Niente foto della festa prima del matrimonio, sarebbero imbarazzanti, con il mio personaggio che asseriva di poter volare e che ha improvvisato un ballo irlandese talmente ridicolo che il server, per pietà, lo ha disconnesso.

Finiti i festeggiamenti, con gli ospiti un po’ alticci, ci siamo spostati sul tetto della taverna. Pochi intimi, come si può vedere dalle foto, alcuni membri della gilda degli sposi, alcuni di quella cui appartengo, qualcuno che non conosco. Insomma, Luglio è il mese dei matrimoni virtuali? A voi le immagini.

gharan-gisera-wedding.jpg

Eccoli qui Gharan e Gisera, di spalle, mentre ascoltano le parole dell’officiante. Solite solennità dell’occasione e ospiti che si arrampicano sulle balaustre per avere una visuale migliore. Uno si è anche arrampicato su un tetto vicino, esibizionista.
gharan-gisera-wedding-kissing.jpg
Il fatidico bacio. Si sono appena sposati. Che dire? Il dislivello c’è, ma l’amore abbatte ogni barriera. Nel caso, ci si può sempre arrampicare su una balaustra…
gharan-gisera-wedding-just-married.jpg
Just married. Insomma, ho detto loro di sorridere, ma hanno questa posa seriosa anche nella foto di rito…

I driver Linux Realtek RTL8111(B)/RTL8168(B) e i programmatori dislessici

Se qualcuno avesse in mente di compilare i driver linux-r1000(103).zip per il kernel 2.6.x Linux, abbia la bontà d’animo di sopportare la caritatevole indulgenza di Realtek, che ha deciso di dare pane e lavoro a programmatori dislessici.

Se provate a compilare i sorgenti come modulo, infatti, vi troverete con una bella caterva di errori:


root@moveaway:/usr/src/r1000# make clean modules
make -C src/ clean
make[1]: Entering directory `/usr/src/r1000/src'
rm -f *.o *.ko *~ core* .dep* .*.d .*.cmd *.mod.c *.a *.s .*.flags
make[1]: Leaving directory `/usr/src/r1000/src'
make -C src/ modules
make[1]: Entering directory `/usr/src/r1000/src'
make -C /lib/modules/2.6.16.18/build SUBDIRS=/usr/src/r1000/src modules
make[2]: Entering directory `/usr/src/linux-2.6.16.18'
CC [M] /usr/src/r1000/src/r1000_n.o
/usr/src/r1000/src/r1000_n.c: In function ‘r1000_close’:
/usr/src/r1000/src/r1000_n.c:1450: error: ‘entdev’ undeclared (first use in this function)
/usr/src/r1000/src/r1000_n.c:1450: error: (Each undeclared identifier is reported only once
/usr/src/r1000/src/r1000_n.c:1450: error: for each function it appears in.)
make[3]: *** [/usr/src/r1000/src/r1000_n.o] Error 1
make[2]: *** [_module_/usr/src/r1000/src] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.16.18'
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/r1000/src'
make: *** [modules] Error 2
root@moveaway:/usr/src/r1000#

Ahi, ahi. Che è successo? Osservate la riga evidenziata in grassetto:

/usr/src/r1000/src/r1000_n.c:1450: error: ‘entdev’ undeclared (first use in this function)

Mmmmmmmm…..ma cosa è questa entdev?

All’interno della directory in cui è sono stati decompressi i sorgenti del driver si trova una directory

src

nella quale è presente il file

r1000_n.c

Apriamolo e posizioniamoci alla riga 1450:


#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) synchronize_irq (); #else synchronize_irq(entdev->irq);
#endif
free_irq (netdev->irq, netdev);

Notato qualcosa? Semplicemente netdev (NETwork DEVice) è magicamente diventato entdev, il tutto per 1 sola volta. Il che porta a una inconsistenza dei sorgenti. Come riparare il tutto? Semplicemente correggendo entdev in netdev:


#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) synchronize_irq (); #else synchronize_irq(netdev->irq);
#endif
free_irq (netdev->irq, netdev);

Ora non resta che lanciare una nuova compilazione:


root@moveaway:/usr/src/r1000# make clean modules
make -C src/ clean
make[1]: Entering directory `/usr/src/r1000/src'
rm -f *.o *.ko *~ core* .dep* .*.d .*.cmd *.mod.c *.a *.s .*.flags
make[1]: Leaving directory `/usr/src/r1000/src'
make -C src/ modules
make[1]: Entering directory `/usr/src/r1000/src'
make -C /lib/modules/2.6.16.18/build SUBDIRS=/usr/src/r1000/src modules
make[2]: Entering directory `/usr/src/linux-2.6.16.18'
CC [M] /usr/src/r1000/src/r1000_n.o
CC [M] /usr/src/r1000/src/r1000_ioctl.o
LD [M] /usr/src/r1000/src/r1000.o
Building modules, stage 2.
MODPOST
CC /usr/src/r1000/src/r1000.mod.o
LD [M] /usr/src/r1000/src/r1000.ko
make[2]: Leaving directory `/usr/src/linux-2.6.16.18'
make[1]: Leaving directory `/usr/src/r1000/src'

Il modulo è pronto:

root@moveaway:/usr/src/r1000# ls -lah src/r1000.ko
-rw-r--r-- 1 root root 23K 2006-07-06 10:31 src/r1000.ko
root@moveaway:/usr/src/r1000#

Non rimane che lanciare gli ultimi due comandi necessari per l’installazione del nuovo modulo e il suo caricamento automatico all’avvio:


make install
depmod -a

Con buona pace dei programmatori dislessici di Realtek…