La potenza del computer mette la quinta

30/06/2008
Vaneto Nanotech

La tecnologia multi-core, che combina due o più core su un singolo circuito integrato, permette ai computer di occuparsi contemporaneamente di compiti separati, incrementando quindi le loro prestazioni. Per sfruttare pienamente questa maggiore potenza del computer, si devono scrivere dei software che siano adattati alla tecnologia multi-core.

Con un finanziamento di 4 Mio EUR della Commissione europea, il progetto VELOX ("Un approccio integrato alla memoria transazionale sui computer multi-core") aspira a sviluppare un software di questo tipo. I partner del progetto ritengono che il loro software potrebbe aiutare a trasformare i comuni computer portatili in supercomputer.

I computer fanno ormai parte della vita di ogni giorno. Per tenersi al passo con la richiesta di velocità, i produttori di computer in tutto il mondo stanno cercando dei modi per migliorare le prestazioni dei loro dispositivi. Uno di questi è il processore multi-core, che usa diversi processori per eseguire vari compiti simultaneamente. Per dirla in parole semplici, è come aggiungere più pistoni a un motore, trasformando un veicolo a due cilindri in uno a quattro cilindri.

Ma mettere un motore più veloce nel vostro computer non significa necessariamente ottenere risultati più veloci. Si verificherà un aumento della potenza prodotta soltanto se i nuovi cilindri vengono azionati. Anche se un computer dovrebbe avere maggiore potenza con l'aggiunta di più core, il sistema opera ancora pensando di avere, ad esempio, solo due core, lasciando quindi gli altri core inutilizzati. Per sfruttare la potenza di elaborazione aggiuntiva, i programmatori devono dare istruzioni a ciascun core che lavora in parallelo reciprocamente.

Nei sistemi single core, il codice software fondamentalmente viene eseguito in sequenza, con i compiti che vengono eseguiti l'uno dopo l'altro. Nei sistemi multi-core invece, i compiti vengono divisi tra i core. Quando diversi compiti devono accedere alla stessa parte della memoria per accedere ai dati, a volte possono non riuscire a sincronizzarsi bene. Questo porta alla corruzione dei dati e al blocco del sistema.

È quindi necessario un modo coordinato e organizzato di accedere ai dati condivisi, per garantire che la programmazione parallela possa essere eseguita senza problemi. Fino ad ora, il metodo di coordinazione preferito dai programmatori multi-core è stato uno schema di blocco a "grana fine" che protegge piccole quantità di codice o di dati, per la sua capacità di gestire compiti concorrenti. Tuttavia, si pensa che questi blocchi rendano anche il codice più complicato e difficile da mantenere e da correggere.

Come alternativa, il progetto VELOX aspira a sviluppare un sistema di programmazione del software per la memoria transazionale (TM). Questo sistema, che combina sequenze di operazioni concorrenti in transazioni atomiche, promette di ridurre di molto la complessità sia della programmazione che della convalida, facendo apparire come sequenziali parti del codice senza dover programmare blocchi a grana fine. Le transazioni tolgono al programmatore il peso di dover calcolare l'interazione tra operazioni concorrenti che possono entrare in conflitto quando accedono alle stesse posizioni nella memoria.

"Grazie alle capacità complementari dei suoi partner, [il progetto] aprirà la strada a importanti contributi da parte dei principali ricercatori europei alla rivoluzione in atto, per rendere la programmazione parallela più semplice per le masse," ha detto Osman Unsal del Barcellona Supercomputing Center (BSC), capo del progetto VELOX.

"Il progetto VELOX è fondamentale per permettere alle applicazioni dei supercomputer di oggi di essere eseguite sui computer portatili del prossimo futuro," sostiene Mateo Valero, direttore di BSC.

Il progetto è coordinato dal BSC e raccoglie nove partner diversi, che includono organizzazioni importanti di ricerca e integrazione dei sistemi. Tra queste ci sono l'Università di Neuchâtel, la Dresden University of Technology, lo Swiss Federal Institute of Technology a Losanna, la Tel Aviv University, la Chalmers University of Technology, oltre a importanti rappresentanti dell'industria informatica come AMD, Red Hat e VirtualLogix SAS.

View Article
Download pdf