++systems
kanal++
contatti
liberatoria
versione italiana

Calcolo parallelizzato

Motivazione

Per garantire a lungo termine la funzionalità e la idoneità ecologica di una rete fognaria media o grande, è necessaria una sua modellamento esauriente e dettagliata per quanto riguarda spazio e tempo. Le frequenze, quantità ed archi di tempo delle cariche verificandosi nella rete devono essere valutati in modo affidabile secondo le esigenze formulate nelle rispettive direttive. Per raggiungere questo obbiettivo, è imprescindibile di considerare spazi di tempo vasti ed bacini idrografici intere in modo più meticoloso possibile.

Per ridurre il tempo di calcolo, si ricorre spesso a semplificazioni ingenti e si lavora con diversi metodi di calcolo non comparabili. Nella maggior parte dei casi, si mira a mantenere la funzionalità idraulica e la sicurezza consultando precipitazioni modello o se mai serie di piogge. Questi considerazioni e valutazioni si svolgono per lo più con l'aiuto di metodi di simmetria temporale. In confronto a questo, metodi asimmetrici dal punto di vista del tempo sono impiegati soprattutto in casi nei quale l'obbiettivo è di valutare le emissioni annuali da aspettarsi nelle nostre acque naturali, considerando le loro quantità, frequenze e durate, partendo dalle precedenti immissioni nella rispettiva rete fognaria. Abitualmente, questo compito è svolto attraverso simulazioni di serie di piogge naturali, ricoprendo archi di tempo più vasti possibile. Inoltre, le reti fognari considerate in questo caso, sono resi meno dettagliate per arrivare a tempi di calcolo sostenibili.

La soluzione auspicabile sarebbe però una simulazione che considera tutti dettagli, snodamenti e dinamiche reciproche e che è simmetrica dal punto di vista temporale. Solo in questa maniera si potrebbe giungere ad un'affidabilità e un realismo sufficienti. Usufruendo delle potenzialità di computer con vari processori, che sono largamente diffusi ormai, e in più sfruttando le risorse libere nella rete, il tempo di calcolo è diminuito per il fattore "1/numero di processori". Questo significa che con due processori (per esempio Intel Core 2 e Athlon X2) il tempo di calcolo è dimezzato o con 4 processori disponibili addirittura ridotto ad un quarto rispetto al tempo necessario con un processore solo.

Sistemi a processori multipli in KANAL++ e DYNA

Il programma DYNA è da sempre in grado di usufruire di tutti processori in un sistema a processori multipli per il calcolo idrodinamico di una rete fognaria, poiché questa qualità fu già un criterio di base durante il suo sviluppo. Senza l'esigenza di ulteriori specificazioni, DYNA è capace di scoprire autonomamente la quantità di processori esistenti e successivamente crea il rispettivo numero di "threads". In alternativa, l'utente può stabilire questo parametro manualmente per tenersi libero una parte del rendimento dei processori per altre applicazioni.

Persino con il calcolo già in corso e sempre possibile intervenire attraverso il Windows Task Manager per sottrarre processori al processo attivo di DYNA, o anche di riaggiungerli eventualmente.

Questo tipo di accelerazione è utilizzata da DYNA automaticamente o secondo la configurazione manuale, come descritto in precedenza, ma è comunque circoscritta dai limiti della hardware. I sistemi attuali con vari processori sono limitati a tra quattro e otto processori. Anche se con CPU moderni sarebbe possibile un ulteriore moltiplicazione di processori, questo non comporterebbe un aumento di rendimento significativo. Un'accelerazione del calcolo quasi illimitata è invece raggiungibile per mezzo dell'impiego aggiunto di risorse di calcolo libere nella rete (computer autonomi collegati).

Utilizzo di risorse di calcolo liberi da altri computer collegati

Nel passo successivo, ulteriori computer disponibili nella rete possono essere impiegati nel calcolo. Spesso, il potenziale di server molto potenti o del computer di un collaboratore non è sfruttato al massimo, soprattutto fuori degli orari lavorativi. Questo potenziale può allora essere inglobato ed impiegato nel calcolo, controllato ed amministrato da un posto di lavoro centrale di KANAL++..

In questa maniera la quantità di unità di calcolo (CPU) può essere aumentata illimitatamente.