In questo articolo, il focus sarà sulle alte prestazioni in campo computazionale. Una panoramica sul perché e sui fondamentali alla base del calcolo parallelo. Cercheremo di fare in modo che chi legga questo articolo possa sollevare il velo su concetti alla base della programmazione e delle tecnologie che si nascondono dietro questo tipo di computazione, ormai sempre più diffuso e necessario.
L’obiettivo principale è quello di dare una idea seppur generica di cosa si cela dietro l’hardware e gli algoritmi utilizzati, capaci di raggiungere le alte prestazioni su apposite macchine da calcolo.
Advertising
Una seppur minima, conoscenza pregressa di concetti quali, algoritmo o di linguaggio di programmazione di base serviranno a chiarire meglio alcuni concetti.
In caso contrario, non preoccupatevi, questi concetti non sono poi cosi inarrivabili come si potrebbe pensare ed alla fine, una volta conosciuti, riuscirete anche a spiegarli agli amici.
Iniziamo.
Introduzione
In letteratura un primo riferimento all’utilizzo di uno strumento di calcolo capace di fornire più risultati nello stesso tempo, è quello comparso nella pubblicazione della biblioteca universale di Ginevra risalente al 1842 il cui titolo era ” Sketch of the Analytical Engine Invented by Cherles Babbege ” 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, risparmiando in tal modo tempo e processi, riuscendo tale macchina a fornire più risultati contemporaneamente.
Advertising
Non sappiamo se il parallelismo fosse effettivamente implementato dalla macchina analitica , ma in ogni caso, già a quei tempi fu chiaro l’impatto dello strumento di calcolo sulla metodologia di risoluzione di un problema scientifico e non solo.
Lo Scopo del calcolo ad Alte Prestazioni
Iniziamo a fissare i primi punti ponendoci alcune domande.
In primo luogo chiediamoci: a cosa serve il calcolo ad alte prestazioni?
La risposta può sembrare banale, ma in realtà non lo è. L’obbiettivo del calcolo ad alte prestazioni e quindi di un super computer è quello di risolvere problemi.
Con il termine “super-calcolatore” ci riferiamo ad un sistema che fornisce le prestazioni più elevate in quel dato momento.
E 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 (application – dependent).
Evoluzione negli anni
Un breve excursus negli anni per avere un idea dell’evoluzione della potenza dei super-calcolatori nel tempo. Calcolo ad alte prestazioni
Anni 70-80 : 10 6 flops ( M FLOPs) Calcolatori sequenziali-scalari “CDC 7600 “, ” IBM 360 “.
Anni 80-90 : 10 9 flops( G FLOPs) Calcolatori vettoriali ” CRAY 1 “, ” CRAY X-MP “.
Anni 90-2000 : 10 12 flops( T FLOPs) Calcolatori a parallelismo massiccio ” CRAY T3D “, ” ASCI White “.
Anni 2000-2010 : 10 15 flops( P FLOPs) Calcolatori a parallelismo massiccio ” CRAY Jaguar “.
Anni 2011-2016 : 10 17 flops( 187 P FLOPs) – Summit, oak Ridge Lab
Come è possibile vedere si è passati da milioni (M) di operazioni al secondo negli anni 70-80 a milioni di miliardi di operazioni al secondo
I nostri computer, ovvero un moderno notebook di fascia media è un grado di fare all’incirca, 10 miliardi di operazioni al secondo. Confrontabile con la capacità di calcolo di un super- computer di fine anni Ottanta inizio anni Novanta. Pur non essendo un supercalcolatore, un moderno notebook avrebbe potuto essere tale se fosse esistito negli anni precedenti.
Perché è necessario il calcolo parallelo
Chiariamolo con un esempio. Le previsioni Meteorologiche, data la complessità dei calcoli e la capacità di calcolo necessaria per effettuarli, con un normale PC si potrebbe arrivare al paradosso di avere le previsioni meteo, riguardanti i successivi 2 giorni, dopo 23 giorni di calcolo, il che non è proprio entusiasmante o di qualche utilità.
Una previsione meteo dovrebbe, anzi deve, fornire informazioni in tempo reale o al più dopo mezz’ora. Ometto tutti i calcoli algebrici necessari per non complicare ulteriormente la spiegazione. Quindi, maggiori prestazioni consentono di risolvere problemi in tempo reale e risolvere problemi di grandi dimensioni, su larga scala.
La TOP500
Esiste una Top, la Top 500, che si tiene ogni anno negli Stati Uniti. In questa manifestazione tutti i produttori presentano il loro nuovo hardware e software per il calcolo delle altre prestazioni. La manifestazione “Top 500” è nata nel 1993 uno dei fondatori coinvolto sin dall’inizio è stato Jack Dongarra. Dongarra utilizzò per i benchmark una libreria scritta da Lui, “Linpack” per valutare le prestazioni dei super-calcolatori, da 25 anni questa libreria restituisce una misura standardizzata per i super-calcolatori. Dongarra è specializzato in algoritmi numerici in algebra lineare, calcolo parallelo, metodologia di programmazione e strumenti per computer paralleli e ricopre vari ruoli presso alcune Università,
La 59a edizione del TOP500 (Giugno 22), 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.
Tipi di Parallelismo
L’architettura di un calcolatore sequenziale è basato sullo schema della macchina di Von Newman dove troviamo un unica unità di elaborazione preposta all’esecuzione di un insieme di istruzioni. In particolare è presente una singola unità preposta all’esecuzione delle operazioni logico-aritmetiche cioè la ( ALU ).
Tale organizzazione può essere paragonata una squadra di tre operai intenta a costruire una casa ci troveremmo nella condizione in cui un singolo operaio espleta, da solo, l’intero lavoro. Occupandosi, sempre da solo, dei singoli compiti un passo per volta e eseguendo le diverse parti di ogni lavoro secondo un certo ordine. Questo operare è lento e faticoso, infatti molti compiti potrebbero essere svolti più rapidamente se distribuiti tra più operai e contemporaneamente all’opera. Analogamente la nostra ALU può essere divisa in segmenti, dove ciascun segmento è preposto all’esecuzione di ogni singola fase dell’operazione. Questa idea è implementata già da anni nei processori
📢 Resta aggiornatoTi è piaciuto questo articolo? Rimani sempre informato seguendoci su Google Discover (scorri in basso e clicca segui) e su 🔔 Google News. Ne stiamo anche discutendo sui nostri social: 💼 LinkedIn, 📘 Facebook e 📸 Instagram. Hai una notizia o un approfondimento da segnalarci? ✉️ Scrivici
Ha frequentato il corso di Informatica presso l’Università Federico II di Napoli, contribuendo allo sviluppo di applicazioni software in Java per il settore sanitario. Si dedica alla scrittura tecnica e alla divulgazione in ambito ICT e cybersecurity. Corrispondente per Red Hot Cyber, segue l’evoluzione dello scenario tecnologico nazionale e internazionale partecipando ai principali eventi di settore, raccontando le tendenze emergenti dell’innovazione digitale e della sicurezza informatica.
Aree di competenza:Storia dell'informatica, Awareness, Divulgazione, Inviato per Red Hot Cyber
Dopo il successo delle scorse edizioni, Red Hot Cyber è lieta di annunciare una nuova live-class del corso "Dark Web & Cyber Threat Intelligence". A differenza dei corsi e-learning pre-registrati, queste lezioni online in tempo reale, condotte dal professor Pietro Melillo, offrono un’esperienza formativa interattiva e coinvolgente, ideale per approfondire i contenuti e affrontare casi pratici.
Le Live Class sono progettate per garantire un apprendimento mirato e personalizzato, con un massimo di 14 partecipanti per sessione. Questo consente di adattare il percorso formativo alle esigenze specifiche, ma anche di mantenere alta la qualità: i posti sono limitati e nelle scorse edizioni sono andati in sold-out due settimane prima dell’inizio. Prenota subito per assicurarti il tuo posto!
Docente: Pietro Melillo, PhD presso l’Università del Sannio e docente presso IUSI University
Livello: Intermedio
Durata: 15 ore in Live Class con docente dal vivo
Prerequisiti: Navigazione Internet e conoscenze base di sicurezza informatica
Certificazione : Cyber Threat Intelligence Professional (CTIP) previo superamento dell’esame finale
Opportunità post-corso: Accesso al laboratorio operativo DarkLab per attività pratiche di intelligence
Al termine del corso, potrai accedere all’esclusivo Laboratorio di Intelligence DarkLab, un ambiente operativo dove mettere in pratica le competenze acquisite. Sarà l’occasione per sperimentare attività di investigazione nel Dark Web, analisi delle minacce e redazione di report di intelligence e ricerche approfondite.