L'High Performance Computing (HPC) si riferisce generalmente all'elaborazione di calcoli complessi a velocità elevate su più server in parallelo. Questi gruppi di server sono noti come cluster e sono composti da centinaia o persino migliaia di server di elaborazione collegati mediante una rete. In un cluster HPC ogni computer è chiamato nodo.
I cluster HPC eseguono batch di elaborazioni. Il fulcro di ogni cluster HPC è lo scheduler, che tiene traccia di tutte le risorse disponibili consentendo di assegnare in modo efficiente le richieste dei processi alle varie risorse di elaborazione (CPU e GPU) tramite una rete veloce.
Una soluzione HPC tipica ha tre componenti principali:
- Elaborazione
- Rete
- Storage
Le soluzioni HPC possono essere adottate on premise, all'edge o anche nel cloud.
Trasforma la tua azienda con l'High Performance Computing
Che cos'è un supercomputer?
Un supercomputer è composto da migliaia di nodi di elaborazione che lavorano in sinergia per completare le attività.
Storicamente, i "supercomputer" erano singoli sistemi super veloci, ma oggi i computer ad alte prestazioni sono realizzati utilizzando imponenti cluster di server con una o più unità di elaborazione centrale, o CPU.
I supercomputer odierni aggregano la potenza di elaborazione e garantiscono prestazioni nettamente superiori ai singoli desktop o server. Sono utilizzati per la risoluzione di problemi complessi in ambito ingegneristico, scientifico e aziendale.
La maggiore potenza di elaborazione ottenuta con i computer HPC consente di eseguire problemi a utilizzo intensivo dei dati con dataset di maggiori dimensioni, nello stesso intervallo di tempo. Questa capacità fa sì che i problemi vengano descritti ed esaminati con una risoluzione più alta, su più larga scala o con più elementi.
Per l'esecuzione, le soluzioni HPC richiedono un sistema operativo. Secondo la classifica TOP500, che tiene traccia dei sistemi informatici più potenti a livello mondiale, Linux®è il sistema operativo più diffuso per l'High Performance Computing. Tutti i supercomputer TOP500 eseguono Linux e molti tra i primi 10 supercomputer eseguono Red Hat® Enterprise Linux.
Gli scenari di utilizzo dell'HPC
Con il crescente utilizzo di tecnologie come Internet of Things (IoT), intelligenza artificiale (AI) e machine learning (ML), le organizzazioni generano notevoli volumi di dati, che devono poter elaborare e sfruttare più rapidamente e in tempo reale.
Oggi l'HPC può essere eseguito ovunque, dal cloud all'edge, e applicato a scenari di svariata natura e in ambiti quali le scienze, la sanità e l'ingegneria, poiché in grado di risolvere problemi computazionali su larga scala in tempi ragionevoli e rispettando i budget.
L'HPC è inoltre interessato dal processo dell'High Performance Data Analysis, che applica le risorse dell'high performance computing ai big data per consentire di sfruttare algoritmi sempre più sofisticati. I supercomputer consentono inoltre al deep learning e alle reti neurali di far progredire l'intelligenza artificiale.
L'HPC trova applicazioni in altri settori e scenari di utilizzo, come la ricerca istituzionale e accademica, la grafica ad alte prestazioni, le bioscienze, la genomica, la manifattura, i servizi finanziari e bancari, le geoscienze e i media.
HPC nel cloud
Le risorse di elaborazione necessarie per analizzare i big data e risolvere problemi complessi vanno oltre i cluster di elaborazione on premise nel datacenter che sono in genere associati all'HPC, arrivando ad attingere alle risorse disponibili nei servizi di cloud pubblico.
L'adozione del cloud per HPC è fondamentale per la transizione dei workload da un approccio esclusivamente on premise a uno non vincolato a un'infrastruttura o a una posizione specifica.
Il cloud computing consente di disporre delle risorse on demand, una modalità conveniente che permette una maggiore flessibilità di esecuzione dei workload HPC.
In ambito di HPC anche l'adozione delle tecnologie basate sui container si è andata affermando. I container sono progettati per essere leggeri e promuovere la flessibilità con bassi livelli di spesa e migliorando prestazioni e costi. Soddisfano inoltre le esigenze di numerose applicazioni HPC, ad esempio scalabilità, affidabilità, automazione e sicurezza.
La capacità di contenere in pacchetti il codice applicativo, le sue dipendenze e perfino i dati utente, coniugata all'esigenza di semplificare la condivisione dei risultati e delle ricerche scientifiche con una community globale dislocata in diverse aree geografiche, oltre alla possibilità di trasferire tali applicazioni nei cloud pubblici o privati rende i container molto importanti per gli ambienti HPC.
L'impiego dei container per distribuire le app e i workload HPC nel cloud non crea alcun vincolo con un sistema o un cloud provider HPC specifico.
High Performance Computing con Red Hat
Red Hat Enterprise Linux offre una piattaforma che garantisce affidabilità, efficienza e scalabilità ai workload HPC, on premise, nel cloud o in ambienti HPC ibridi. Red Hat Enterprise Linux rende disponibili svariati strumenti per container che offrono portabilità e riproducibilità ai workload HPC.
Red Hat OpenShift è una piattaforma per l'orchestrazione di container pensata per le aziende che estende le funzionalità Kubernetes e offre operazioni coerenti, gestione del ciclo di vita delle applicazioni e scalabilità utilizzando opzioni di topologia flessibili per supportare ovunque i workload a bassa latenza.