Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Il parallelismo nel software: intervista a James Reinders (2/2)
Scritto da Ciro Fiorillo il 20-04-2010 ore 07:49
CF: OpenMP, MPI, CUDA, Intel Threading Building Blocks, CT technology... Qual'è la tecnologia su cui dovrebbe puntare chi inizia oggi lo sviluppo di software parallelo, o l'introduzione del parallelismo in un software sequenziale già esistente?
JR: La scelta dipende innanzitutto dal linguaggio utilizzato: per Fortran ci sono i tool HPC, per C/C++ abbiamo più scelta. In questo caso occorre analizzare diversi fattori: il tipo di problema – se data-parallel o task-parallel – la produttività, il codice esistente, la disponibilità di training e supporto, l'adozione di tecnologie adottate largamente dalla comunità degli sviluppatori. Con CUDA, ad esempio, siamo molto legati all'architettura dei dispositivi attualmente disponibili sul mercato, per cui il nostro investimento rischia di essere disperso dall'arrivo di nuovi dispositivi con differenti caratteristiche. Probabilmente al momento il compromesso migliore, per la protezione dell'investimento nel tempo, è l'utilizzo di Intel Threading Building Blocks (TBB) abbinato alla tecnologia CT per quelle piccole parti di codice che presentano un parallelismo dei dati più spinto. Si tratta di un ambiente altamente produttivo.

4520629324_e6ed98f6b6.jpg

CF: Quali vantaggi può portare il parallelismo in ambienti più tradizionali, come procedure transazionali, di data-entry, ERP? Non c'è il rischio che lo sviluppo del parallelismo rimanga confinato solo entro le aree classiche del calcolo scientifico e ingegneristico, della grafica e del multimedia?
JR: Un primo ambito in cui la programmazione parallela porta i propri indiscussi vantaggi è la virtualizzazione, che può portare benefici anche agli ambiti più tradizionali del software gestionale/transazionale. I vantaggi ottenibili sono su due fronti: l'aumento del numero di processi e la capacità di elaborare più dati contemporaneamente. È possibile aumentare la reattività delle applicazioni e diminuire quindi il tempo di attesa dell'utente, si possono fare più cose, o effettuare un'elaborazione su molti dati contemporaneamente. Anche i browser, con HTML5, avranno vantaggi dal parallelismo, così come i database e il tempo di risposta delle interfacce utente. Si tratta, anche in questo caso, di una nuova sfida: abbiamo a casa la potenza di calcolo una volta destinata ai supercomputer: chi sarà in grado di inventare la killer-application per l'utilizzo del nuovo hardware?

CF: Intel introdurrà nel corso del 2010 una nuova tecnologia, Intel Cilk. Che differenze ci sono con TBB e, soprattutto, con OpenMP? Non sarà solo un altro modo di scrivere una direttiva PRAGMA?
JR: Intel Cilk sarà facilmente utilizzabile come OpenMP e introdurrà delle estensioni per il compilatore, che gli consentiranno di ottenere delle performance ottimali. Esso deriva dall'implementazione di un sottoinsieme delle funzionalità di TBB, con il quale continuerà a lavorare senza soluzione di continuità. Sia OpenMP che TBB sono attualmente utilizzati da un'ampia comunità di sviluppatori e ricercatori. La differenza principale con OpenMP sta nella genericità di quest'ultimo: Cilk è più concentrato su un determinato tipo di problemi, per cui si riescono a ottenere delle ottimizzazioni migliori rispetto a quelle di un programma sviluppato con OpenMP.

Il tempo a disposizione per l'intervista è terminato rapidamente; mi congedo da James Reinders dandoci appuntamento per la prossima occasione e ringraziandolo per il tempo speso; i ringraziamenti vanno estesi anche a Christian Staudinger, Birgit Wissen e a tutto il team di Intel che ha reso possibile questa intervista.
Precedente: Lightspark, un Flash player open source italiano
Successiva: L'uso delle espressioni regolari in PHP
Copyright Programmazione.it™ 1999-2014. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.234 secondi.