L'avvento dei sistemi hardware dotati di più core in grado di eseguire elaborazioni parallele sta radicalmente cambiando il modo di pensare, progettare e scrivere applicazioni. Per sfruttare al meglio le potenzialità offerte dai sistemi multicore, ai programmatori occorre poter disporre di una serie di API e di funzionalità nei tool di sviluppo tali da agevolare la gestione di logiche applicative parallele.
A questa esigenza rispondono il .NET Framework 4.0 e Visual Studio 2010, di cui è disponibile la versione Beta 1, come annunciato oggi nel suo blog da Somasegar, senior vice president per l'area dedicata ai tool di sviluppo in Microsoft Corp., e da tutti i componenti dello staff di ASPItalia.com prima di me. Il Parallel FX porta con sè una serie di estensioni e strumenti mirati a supportare lo sviluppo parallelo e a fornire un modello di programmazione che permetta di astrarre le logiche applicative dallo strato fisico sottostante.
Per costruire ed eseguire applicazioni parallele, Visual Studio 2010 include una serie di nuove librerie per sviluppare sia applicazioni managed sia applicazioni native in C++. Per quanto riguarda specificatamente il .NET Framework, le estensioni presenti nella versione 4.0 sono fondamentalmente tre: PLINQ (Parallel LINQ), Parallel Task Library (PTL) e Coordination Data Structures (CDS). PLINQ rapprenta un modello dichiarativo per il parallelismo sui dati basato su LINQ. PTL fornisce un modello imperativo a supporto dell'elaborazione parallela sia di task applicativi che dei dati e un insieme di costrutti come, per esempio, Parallel.For o Parallel.ForEach, molto comodi per eseguire iterazioni rimappate su diverse unità di calcolo. CDS rappresenta un insieme di building block per la sincronizzazione che semplificano i meccanismi di comunicazione e inizializzazione nel codice.
Queste estensioni sono rivolte agli sviluppatori che usano codice managed come C# e Visual Basic o il nuovissimo F#. Tramite PLINQ diventa possibile rivedere le query LINQ-To-Objects esistenti nel codice attuale, ottenendo risultati in termini di performance davvero significativi. Con TPL diventa immediato introdurre meccanismi di parallelismo sui task e sui dati, o tramite la parallelizzazione dei costrutti iterativi nel codice o tramite la scomposizione di logiche composte in task più semplici schedulati ed eseguiti in parallelo.
A tutto questo si aggiunge il supporto in termini di funzionalità e strumenti fornito da Visual Studio 2010. I tool di debugging si arricchiscono di due nuove toolwindow: Parallel Tasks e Parallel Stacks. La prima fornisce informazioni di runtime sui task creati dall'applicazione nell'elaborazione parallela, la seconda fornisce la visione dei call stack di ciascun thread o task all'interno dell'applicazione. Oltre a queste nuove funzionalità Visual Studio 2010 include una serie di strumenti di profiling per la visione del livello di utilizzo delle CPU e dei Core.
Per ulteriori informazioni rimanete sintonizzati su ASPItalia.com. Maggiori informazioni e le informazioni per il download sono disponibili nel nostro mini-sito dedicato al .NET Framework 4.0. Nei prossimi mesi avremo modo di trattare in modo specifico tutte le novità di Visual Studio 2010, come siamo soliti fare ormai da tanti anni. Come dice sempre Stefano... Stay Tuned!
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.