Che cos’è il parallel computing? In letteratura un primo riferimento all’utilizzo di uno strumento di calcolo ad alte prestazioni capace di fornire più risultati nello stesso tempo si pensa sia quello comparso nella pubblicazione della biblioteca universale di Ginevra risalente al 1842 il cui titolo era “Sketch of the Analytical Engine Invented by Cherles Babbage“, ad opera di J.F. Menabrea.
Il suddetto articolo discuteva della necessità di avere una macchina di calcolo da poter impiegare nel caso in cui si dovessero eseguire una lunga serie di calcolo identici, come ad esempio un insieme di moltiplicazioni di due numeri costituiti ognuno da venti cifre. In questo modo si risparmiavano tempo e processi, e si riusciva a fornire più risultati contemporaneamente.
Non sappiamo se il parallelismo fosse effettivamente implementato dalla macchina analitica, ma in ogni caso già a quei tempi era chiaro l’impatto dello strumento di calcolo sulla metodologia di risoluzione di un problema scientifico.
A cosa serve il calcolo ad alte prestazioni? La risposta può sembrare banale, ma in realtà non lo è. Obbiettivo del calcolo ad alte prestazioni e quindi di un super computer è quello di risolvere problemi complessi. Con il termine “super-calcolatore” ci riferiamo ad un sistema che fornisce le prestazioni più elevate in quel dato momento. Come si misurano le prestazioni di un super-calcolatore? La prestazione di un super-calcolatore viene misurata dal tempo necessario per risolvere una particolare applicazione.
Ecco un breve excursus negli anni per avere un idea dell’evoluzione della potenza dei super-calcolatori nel tempo:
Come è possibile vedere si è passati da milioni (M) di operazioni al secondo negli anni 70-80 a milioni di miliardi di operazioni al secondo (P).
I nostri computer, ad esempio un moderno notebook di fascia media, sono in grado di eseguire all’incirca 10 miliardi di operazioni al secondo, circa la capacità di calcolo di un super-computer di fine anni Ottanta – inizio anni Novanta.
Per capire quanto sia importante il calcolo parallelo, prendiamo l’esempio delle previsioni metereologiche. Vista la complessità dei calcoli e la potenza di calcolo necessaria per effettuarli, con un comune PC si potrebbe arrivare al paradosso di avere le previsioni meteo dopo 23 giorni di calcolo. Una previsione meteo dovrebbe fornire informazioni in tempo reale o al più dopo mezz’ora. Maggiori prestazioni consentono di risolvere problemi in tempo reale e risolvere problemi di grandi dimensioni, su larga scala.
Esiste una Top 500 dei migliori calcolatori al mondo: ogni anno negli Stati Uniti si tiene un evento di enorme portata durante il quale viene stilata la lista dei migliori super-computer. Durante questa manifestazione tutti i produttori presentano il loro nuovo hardware e software per il calcolo delle alte prestazioni. Le prestazioni vengono valutate da “Linpack”, una libreria ormai standardizzata per queste misurazioni.
L’ultimo edizione della Top 500, la 59°, si è tenuta a giugno scorso. Il primo posto è ora detenuto dal sistema Frontier presso l’Oak Ridge National Laboratory (ORNL) negli Stati Uniti. Basato sulla più recente architettura HPE Cray EX235a e dotato di processori AMD EPYC 64C a 2GHz, il sistema ha 8.730.112 core totali, un’efficienza energetica di 52,23 gigaflops/watt e si basa su Gigabit Ethernet per il trasferimento dei dati.