sabato 27 giugno 2009

Sfruttarele CPU multi processore su Linux




Il sistema Gnu/Linux riconosce automaticamente un processore multi core assegnando un kernel SMP (symmetric multiprocessing). Se avete dei dubbi sul kernel che gira sulla vostra macchina lanciate il comando :
uname -a

Tuttavia ci sono dei trucchetti per sfruttare appieno le potenzialità dei processori multipli della vostra cpu. Avanziamo per gradi.

1: IL BOOT
trucco molto noto e semplice che forse avete già applicato ma è giusto riproporlo .Portiamoci con un editor di testo sula file /etc/init.d/rc e cambiamo la riga :

CONCURRENCY=none in CONCURRENCY=Shell

Questo aumenterà la velocità del boot. Sulla mia macchina ,con processore Q9450 ,l'aumento di velocità è apprezzabile .Ad ogni modo le distribuzioni fanno a gara per proporre un boot sempre più veloce ed inoltre il prossimo kernel 2.6.30 introduce miglioramenti in fase di Boot con maggior velocità.

2:LA COMPLIAZIONE
Quando compiliamo qualcosa che sia molto grande come ad esempio la compilazione del kernel al momento di lanciare il comando make possiamo mettere l'opzione -j.
In questo caso possiamo mettere -j seguito dal soppio delle cpu del processore:

in un quad core make -j8
su un dual core make -j4

La compilazione del kernel effettivamente risulta molto più rapida.

3:OTTIMIZZAZIONE DEI PROGRAMMI
E' possibile ottimizzare i programmi per sfruttarli con appieno con il multiprocessore,per farlo però ricordiamo che questo tipo di opzione è possibile solo per i programmi di cui abbiamo i sorgenti.
Prima di procedere attiviamo i repository dei sorgenti.Su ubuntu in /etc/apt/sources.list tra le righe iniziali cerchiamo la riga con # deb-src
eliminiamo il carattere # in modo che rimanga solo deb-src.
Per eseguire questo approccio scarichiamo Apt-build con il comando :
sudo apt-get install apt-build
se usate ubuntu oppure utilizzando il gestore di pacchetti della vostra distribuzione.
A questo punto vedrete un interfaccia di configurazione che vi chiede:
1OTTIMIZZAZIONE tra i livelli di ottimizzazione ho scelto intermedio un buon compromesso
2OPZIONI A GCC -jX X indica il numero di compilazioni parallele consentite in questo caso usiamo il numero di processori +1 su un quad core j5. Usiamo anche l'opzione -pipe per ridurre l'accesso al disco.
3ARCHITETTURA vi vengono proposti diversi tipi di processori selezionate il vostro in caso di multiprocessore Intel selezionate PRESCOTT

per installare un pacchetto ottimizzato per la propria architettura lanciamo
sudo apt-build install nome pacchetto
Questo approccio può modificare file di configurazione del sistema in riferimento alla vostra architettura quindi fate attenzione all uso di apt-build inoltre il reale giovamento di questo appoccio lo si ha solo per i programmi che fanno un uso importante del processore fotoritocco ,web-browser,grafica3d,video editing.
Se volete evitare di incorrere in problemi evitate apt-build se siete sicuri e volete un sistema su misura allora questo approccio fa per voi. Se volete ci sono programmi gia compilati per specifiche architetture,tra questi swiftfox (http://getswiftfox.com/) ricordo che per i sistemi intel multiprocessore l'opzione è prescott.

mercoledì 10 giugno 2009

Oltre il desktop 3d : Le Console rivoluzioneranno il Desktop dei Pc ??



Nel corso dell'ultimoE3 Microsoft a mostrato Project natal ,questo sembrerebbe confermare la tesi che avevo già proposto nel precedente articolo evoluzione-del-desktop-3d-sui-vari sistemi (Windows,Mac,Linux).Infatti questo progetto per ora ufficialmente solo su xbox360 permette l'interazione con il desktop tramite le mani ed il corpo.
Dal punto di vista videoludico l'idea e rivoluzionaria come dimostrano le immagini .







Microsoft potrebbe portare la sua tecnologia anche su windows7 e non vedo perchè non dovrebbe farlo. Apple ha la forza e la possibilità di rispondere con qualcosa di simile quanto a Linux al momento ci sono solo degli hack che fanno qualcosa di simile ma anni luce lontani da quello che ha mostrato Microsoft .Chi ha avuto la possibilità di provare natal ha affermato che la sensibilità del visore è incredibile capace di percepire le singole falangi della mano e che tale sensibilità non diminuisce con cambiamenti importanti di luminosità. E' questa la strada dei desktop?Ci aspetta un futuro di interazione simile a minority report anzi meglio visto che nel film sono necessari guanti e nella realtà no. Può essere davvero utile o rimarra una cosa prevalentemente ludica?
Di sicuro è la dimostrazione di come Microsoft possa fare grandi cose e di come le faccia quando non ha il Monopolio su internet explorer e windows se la prendono ancora molto comoda date le quote di mercato,in particolare sulle quote di windows, speriamo quindi che la concorrenza aumenti e che le possibilità per gli utenti aumentino proporzionalmente ai nuovi prodotti che un mercato competitivo può sfornare.
Consiglio la visone anche di questo video di interazione con una Intelligenza artificiale mediante il progetto natal LINK VIDEO