IDF Fall 2006 day 3, flash memory e HPC

IDF Fall 2006 day 3, flash memory e HPC

Nel corso dell'ultima giornata dell'Intel Developer Forum di San Francisco vengono trattati alcuni argomenti di carattere tecnico, tra cui le tecniche di programmazione parallela per sfruttare Multi-core e Multithreading. In esposizione alcuni "cimeli" che hanno segnato la storia del computer portatile

di , Andrea Bai pubblicato il nel canale Sistemi
Intel
 

Multi-Core, Multithreading e programmazione parallela

Molto interessante e di alto livello tecnico la sessione "Tecnology Insights" con focus sulla programmazione parallela che si è tenuta nel corso dell'ultimo giorno dell'Intel Developer Forum. Nel corso della sessione sono stati analizzati i principali vantaggi che è possibile apprezzare nell'utilizzo di un sistema equipaggiato con processori Multicore: dall'esecuzione simultanea di più programmi, alla virtualizzazione dei sistemi operativi, ad un generale incremento prestazionale e via discorrendo.

In modo particolare Intel ha voluto porre l'accento su un aspetto chiave del mondo Multi-Core e Multitrheading, ovvero l'impiego di applicazioni ottimizzate appositamente per poter sfruttare al meglio tutte le possibilità messe a disposizione da un processore con più di un nucleo di elaborazione. Come si legge nella slide sopra riportata, un passaggio fondamentale è individuato nella cosiddetta "critical execution path" (ovvero quel gruppo di funzioni che, all'interno di un'applicazione, richiedono il maggior tempo di esecuzione) e nella sua ottimizzazione.

Una tecnica particolarmente efficace, grazie alla possibilità di usare al giorno d'oggi i processori multicore, è quello della Programmazione parallela, ovvero la scrittura di codice in modo tale che possano essere eseguiti simultaneamente più thread indipendenti sfruttando, appunto, le capacità computazionali di un processore a più core. Il punto cruciale di questa tecnica è rappresentato dalla scomposizione di codice e dati in più segmenti indipendenti

Per risolvere queste complessità in fase di programmazione, Intel viene incontro agli sviluppatori proponendo una serie di software nuovi e aggiornati per la programmazione e lo sviluppo di applicazioni. Si tratta di Intel Threading Building Blocks, Intel Thread Checker & Thread Profiler e Intel XSLT Libraries, che utilizzati sinergicamente permettono di realizzare facilmente una applicazione multithread, correndo meno rischi di errore in fase di programmazione e massimizzando la scalabilità dell'applicazione stessa a seconda dell'hardware impiegato per la sua esecuzione. In particolare evidenziamo il nuovo strumento "Intel Threading Building Blocks", una libreria C++ che facilita la realizzazione di algoritmi paralleli.

 
^