Algoritmi paralleli per la DNS della turbolenza di parete

Giovanni Longari Image longari

In questo lavoro abbiamo analizzato alcuni algoritmi per la simulazione numerica diretta (DNS) mediante calcolo parallelo distribuito di una corrente turbolenta che scorre in un canale piano indefinito.

Caratteristica di questi algoritmi è quella di poter essere impiegati con efficienza per calcoli DNS paralleli su un sistema di calcolo dedicato, costruito a partire da unità di calcolo economiche e facilmente reperibili: normali Personal Computer connessi fra loro secondo una particolare topologia mediante comuni schede Ethernet. Un sistema del genere, denominato Personal Supercomputer, è stato recentemente proposto in letteratura da Luchini e Quadrio, JCP 2006, come possibile alternativa ai costosi Supercomputer tipicamente disponibili solo in Centri di Calcolo: a froonte di una potenza di picco solo lievemente minore, esso presenta svariati vantaggi, fra i quali il più importante è il basso costo e quindi la disponibilità esclusiva al proprietario. Presso il Dipartimento di Ingegneria Aerospaziale sono attivi due esemplari di Personal Supercomputer, mentre un sistema di terza generazione, mostrato qui sotto in figura 1 e composto da 128 CPU Opteron, è installato presso l'Università di Salerno.

Figura: Sistema di calcolo a 128 CPU con topologia di connessione ad anello, in funzione a Salerno.
Image salerno

Le prestazioni di alcuni algoritmi di calcolo parallelo sono state accuratamente analizzate, per individuare i più adatti all'esecuzione sul Personal Supercomputer, e guidare future ottimizzazioni. Il risultato fondamentale di questo lavoro è che anche il più efficiente fra gli algoritmi esaminati offre ancora ampi margini di miglioramento. La figura [*] mostra infatti che il metodo, nonostante le ottime prestazioni globali, presenta ancora una parte in cui lo speedup parallelo non cresce con l'aumentare del numero di CPU che partecipano al calcolo. Il metodo numerico in esame si basa su una distribuzione non convenzionale dei dati fra le varie macchine, e riduce a livelli minimi la comunicazione necessaria, confinandola inoltre in una parte del ciclo di calcolo che risulta di durata quasi trascurabile nel caso di esecuzione seriale. Nelle macchine di calcolo moderne, però, la crescita della velocità di elaborazione è ormai tale che il tempo di calcolo necessario per eseguire questa piccola parte, per quanto ridotto, non si riduce al crescere del numero di macchine e diventa quindi un fattore limitante quando le macchine sono in numero elevato.

Figura: Diminuzione del tempo di calcolo (speedup) al crescere del numero $p$ di macchine. Le prestazioni complessive risultano somma di una parte (rilevante) che scala molto bene e di una piccola parte (linea blu) il cui tempo di esecuzione non diminuisce al crescere di $p$.
\includegraphics[height=7cm]{speedup.ps}

Concludiamo quindi che i metodi analizzati presentano ancora dei margini di miglioramento. Un'attenta ottimizzazione dell'implementazione degli algoritmi potrebbe quindi modificare in modo significativo gli scenari con cui si prevede oggi lo sviluppo della potenza di calcolo disponibile ai ricercatori impegnati nel problema della turbolenza e della sua simulazione numerica.



mq 2006-03-02