Più parallelismo per le applicazioni Matlab e Simulink

Matlab, il linguaggio del calcolo tecnico, e Simulink l'ambiente grafico per la simulazione e la progettazione model-based di sistemi dinamici ed embedded, sono sempre più spesso gli strumenti adottati da progettisti e ingegneri per sviluppare soluzioni innovative in molteplici settori industriale, dall'automobilistico, all'aerospaziale, all'elettronico e molti e altri. Ma la crescente complessità dei sistemi da simulare e valutare richiede una potenza di calcolo in costante aumento, al punto che le prestazioni dell'hardware può diventare il collo di bottiglia dell'intero ciclo progettuale. La soluzione al problema è la parallelizzazione, ovvero la capacità di suddividere l'esecuzione del software su hardware multipli, mettendo a frutto la disponibilità di potenza di calcolo attualmente offerte dai personal computer multicore o multiprocessore e dagli ambienti cluster o di cloud computing.

Parallelizzare Matlab e Simulink
Parallel Computing Toolbox, lo strumento proposto da The MathWorks, non solo permette di parallelizzare l'esecuzione di Matlab e Simulink su risorse multiple, con un miglioramento generalizzato delle prestazioni di tutti i tool, ma dalla più recente release offre anche un costrutto di array distribuito per consentire ai clienti Matlab di effettuare l'accesso diretto dai dati di una sessione Matlab registrati su computer multicore o su cluster di computer. Parallel Computing Toolbox offre la totale scalabilità dell'applicazione in esecuzione, senza richiede alcun intervento di modifica del codice,grazie all'utilizzo del Matlab Distributed Computing Server.

Algoritmi modificati
Il Parallel Computing Toolbox può essere utilizzato con altri due toolbox di The MathWorks, accelerando gli algoritmi specifici sull'hardware multiprocessore senza richiedere all'utente di scrivere o modificare una sola riga di codice. In particolare, sono stati modificati gli algoritmi della Statistics Toolbox, includendo il bootstrap e gli algoritmi con convalida incrociata, metodi di ricampionamento che richiedono funzioni statistiche di valutazione ripetute su campioni di più dati. Allo stesso modo sono stati modificati gli algoritmi nel Communications Toolbox. Questi miglioramenti si basano sul set di algoritmi del toolbox esistente, che sfrutta le operazioni in parallelo, come quelle nel Optimization Toolbox e nel Genetic Algorithm and Direct Search Toolbox.
Il parallelismo si realizza creando una serie di sessioni Matlab autonome su risorse hardware distribuite; è attualmente possibile aprire fino a otto sessioni (chiamate worker) che affiancano quella in esecuzione sul computer dell'utente, suddividendole sullo stesso Pc (su altri core) oppure su altri Pc.

Alte densità di dati in ambienti complessi
La parallelizzazione può riguardare sia l'esecuzione simultanea di task plurimi sia operazioni ripetute su dati grandi quantità di dati. Gli array distribuiti e il set perfezionato di strumenti per il calcolo parallelo di The MathWorks consentono agli utenti Matlab di manipolare facilmente grandi serie di dati all'interno di un cluster di computer o di un computer multicore senza dover apportare modifiche significative al codice degli algoritmi. I possibili impieghi di Parallel Computing Toolbox sono numerosi; come dimostrato da una ricerca di mercato effettuata dalla stessa The Mathworks, oltre l'85% degli utenti Matlab dispone di computer multicore, mentre accede a cluster più del 60% (di cui il 25% accede a cluster esterni alla propria organizzazione) e oltre il 15% utilizza griglie di calcolo (EGEE, Teragrid, ACENet, …)o risorse di cloud computing. Contrariamente a quanto si potrebbe pensare queste risorse non sono peculiari delle organizzazioni governative o comunque pubbliche ma sono invece ampiamente presenti presso aziende e società private; e questi stessi utenti devono affrontare applicazioni che girano per vari mesi o confrontarsi (ad esempio in ambito economico) con data set che arrivano fino a 40 Terabyte.
Con l'aumento della potenza dei sistemi hardware grazie alla parallelizzazione delle operazioni, gli utenti Matlab potranno affrontare un numero sempre maggiore di problemi con alta densità di dati che interessano serie di dati molto complesse, rimanendo sempre in ambiente Matlab, e senza dover sostenere spese ulteriori, anzi semplificando proprio flusso di lavoro e con la garanzia di risultati più immediati.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome