Che cos'è l'high-performance computing (HPC)?

Per high performance computing (HPC) si intende la pratica di aggregare la capacità di elaborazione in modo da garantire una potenza molto più elevata rispetto ai computer e ai server tradizionali. L'HPC o il supercomputer è analogo all'elaborazione standard, solo più potente. È un modo per elaborare enormi volumi di dati a velocità molto elevate utilizzando più computer e dispositivi di storage come fabric coesivo. L'HPC consente di esplorare e trovare risposte ad alcuni dei maggiori problemi mondiali nel campo della scienza, dell'ingegneria e degli affari.

Oggi, l'HPC viene utilizzato per risolvere problemi complessi e a uso intensivo di prestazioni, e le organizzazioni stanno spostando sempre più i carichi di lavoro HPC sul cloud. L'HPC nel cloud sta cambiando l'economia dello sviluppo e della ricerca dei prodotti perché richiede meno prototipi, accelera i test e riduce il time-to-market.

Come funziona l'HPC?

Alcuni carichi di lavoro, come il sequenziamento del DNA, sono troppo impegnativi per un singolo computer. Gli ambienti HPC o di supercomputer affrontano queste grandi sfide complesse con singoli nodi (computer) che lavorano insieme in un cluster (gruppo connesso) per eseguire enormi quantità di elaborazione in un breve periodo di tempo. La creazione e la rimozione di questi cluster è spesso automatizzata nel cloud per ridurre i costi.

L'HPC può essere eseguito su molti tipi di carichi di lavoro, ma i due più comuni sono carichi di lavoro "embarrassingly parallel" e carichi di lavoro "tightly coupled".

Carichi di lavoro "embarrassingly parallel"

Sono problemi computazionali suddivisi in attività di piccole dimensioni, semplici e indipendenti che possono essere eseguite contemporaneamente, spesso con poca o nessuna comunicazione tra di loro. Ad esempio, un'azienda potrebbe inviare 100 milioni di record di carte di credito a singoli core del processore in un cluster di nodi. L'elaborazione di un record di carte di credito è un'attività di piccole dimensioni e quando 100 milioni di record sono distribuiti nel cluster, queste attività di piccole dimensioni possono essere eseguite contemporaneamente (in parallelo) a velocità sorprendenti. I casi d'uso comuni includono simulazioni di rischio, modellazione molecolare, ricerca contestuale e simulazioni logistiche.

Carichi di lavoro "tightly coupled"

In genere utilizzano carichi di lavoro condivisi di grandi dimensioni e li suddividono in attività più piccole che comunicano costantemente. In altre parole, i diversi nodi del cluster comunicano tra loro mentre eseguono l'elaborazione. I casi d'uso comuni includono fluidodinamica computazionale, modelli di previsioni meteorologiche, simulazioni di materiali, emulazioni di collisioni automobilistiche, simulazioni geospaziali e gestione del traffico.

Perché è importante l'HPC?

Da decenni l'HPC è una parte fondamentale della ricerca accademica e dell'innovazione industriale. L'HPC aiuta ingegneri, data scientist, progettisti e altri ricercatori a risolvere problemi grandi e complessi in molto meno tempo e a un costo inferiore rispetto all'elaborazione tradizionale.

I principali vantaggi dell'HPC sono:

  • Test fisici ridotti: l'HPC può essere utilizzato per creare simulazioni, eliminando la necessità di test fisici. Ad esempio, quando si verificano incidenti automobilistici, è molto più facile e meno costoso generare una simulazione anziché eseguire un crash test.
  • Velocità: con le più recenti CPU, unità di elaborazione grafica (GPU) e fabric di rete a bassa latenza come RDMA (Remote Direct Memory Access), abbinati a dispositivi di storage a blocchi e locali all-flash, l'HPC può eseguire enormi calcoli in pochi minuti invece che in settimane o mesi.
  • Costo: risposte più rapide significano meno spreco di tempo e denaro. Inoltre, grazie all'HPC basato su cloud, anche le piccole imprese e le startup possono permettersi di eseguire carichi di lavoro HPC, pagando solo per ciò che utilizzano e ridimensionando secondo necessità.
  • Innovazione: l'HPC guida l'innovazione in quasi tutti i settori, poiché la forza alla base di scoperte scientifiche rivoluzionarie che migliorano la qualità della vita delle persone in tutto il mondo.

Caso d'uso HPC: quali settori utilizzano l'high performance computing?

Le aziende Fortune 1000 in quasi tutti i settori impiegano l'HPC e la sua popolarità è in crescita. Secondo Hyperion Research, il mercato globale dell'HPC dovrebbe raggiungere i 44 miliardi di dollari entro il 2022.

Di seguito sono riportati alcuni dei settori che utilizzano l'HPC e i tipi di carichi di lavoro che l'HPC sta aiutando a eseguire:

  • Settore aerospaziale:creando simulazioni complesse, come il flusso d'aria sulle ali degli aerei
  • Manufacturing: eseguendo simulazioni, come per la guida autonoma, per supportare la progettazione, la produzione e il test di nuovi prodotti, con l'obiettivo di automobili più sicure, parti più leggere, processi più efficienti e innovazioni
  • Financial technology (fintech): eseguendo complesse analisi dei rischi, trading ad alta frequenza, modellazione finanziaria e rilevamento delle frodi
  • Genomica: eseguendo il sequenziamento del DNA, analizzando le interazioni farmacologiche ed eseguendo analisi delle proteine per supportare gli studi sulle ascendenze
  • Settore sanitario: ricercando farmaci, creando vaccini e sviluppando terapie innovative per malattie rare e comuni
  • Media ed intrattenimento: creando animazioni, renderizzando effetti speciali per film, eseguendo la transcodifica di file multimediali di grandi dimensioni e creando un intrattenimento coinvolgente
  • Petrolio e gas : eseguendo analisi spaziali e test di modelli di giacimento per prevedere il luoghi in cui trovare le risorse di petrolio e gas e conducendo simulazioni come il flusso di fluidi ed l'elaborazione sismica
  • Retail: analizzando enormi quantità di dati dei clienti per fornire consigli sui prodotti più mirati e un migliore customer service
Anteprima video - Quali settori utilizzano l'high performance computing

Dove viene eseguito l'HPC?

L'HPC può essere eseguito on-premise, nel cloud o in un modello ibrido.

In un'implementazione HPC on-premise, un'azienda o un istituto di ricerca crea un cluster HPC completo di server, soluzioni di storage e altre infrastrutture che gestisce e aggiorna nel tempo. In un'implementazione HPC nel cloud, un provider di servizi cloud amministra e gestisce l'infrastruttura, mentre le organizzazioni la utilizzano su un modello Pay-as-you-Go.

Alcune organizzazioni utilizzano implementazioni ibride, in particolare quelle che hanno investito in un'infrastruttura on-premise ma desiderano anche sfruttare la velocità, la flessibilità e il risparmio sui costi del cloud. Possono utilizzare il cloud per eseguire alcuni carichi di lavoro HPC su base continuativa e passare a servizi cloud su base ad hoc, ogni volta che il tempo di attesa diventa un problema on-premise.

Anteprima video - Dove viene eseguito l'HPC

Quali sono le sfide delle implementazioni HPC on-premise?

Le organizzazioni con ambienti HPC on-premise ottengono grande controllo sulle proprie operations, ma devono affrontare diverse sfide, tra cui

  • Investire capitali significativi per apparecchiature informatiche, che devono essere continuamente aggiornate
  • Pagare la gestione continua e altri costi operativi
  • Soffrire di un ritardo, o tempo di attesa, di giorni o mesi prima che gli utenti possano eseguire il loro carico di lavoro HPC, soprattutto quando la domanda aumenta
  • Posticipare gli aggiornamenti ad apparecchiature informatiche più potenti ed efficienti a causa di lunghi cicli di acquisto, che rallentano il ritmo della ricerca e del business

In parte a causa dei costi e di altre sfide degli ambienti on-premise, le implementazioni HPC basate su cloud stanno diventando più popolari, con Market Research Future che prevede una crescita del mercato del 21% dal 2017 al 2023. Quando le aziende eseguono i loro carichi di lavoro HPC nel cloud, pagano solo per ciò che utilizzano e possono aumentare o diminuire in base alle loro esigenze.

Per conquistare e fidelizzare i clienti, i principali provider cloud mantengono tecnologie all'avanguardia progettate specificamente per i carichi di lavoro HPC. Pertanto, non vi è alcun rischio di degrado delle performance come con l'obsolescenza delle apparecchiature on-premise. I provider cloud offrono le CPU e le GPU più recenti e veloci, nonché storage flash a bassa latenza, reti RDMA velocissime e sicurezza di classe enterprise. I servizi sono disponibili tutto il giorno, tutti i giorni, con tempi di attesa ridotti o nulli.

HPC Cloud: quali sono le considerazioni chiave nella scelta di un ambiente cloud?

Non tutti i provider cloud sono uguali. Alcuni cloud non sono progettati per l'HPC e non possono fornire performance ottimali durante i periodi di picco di carichi di lavoro impegnativi. I quattro tratti da considerare nella scelta di un provider cloud sono

  • Prestazioni all'avanguardia: il tuo provider cloud dovrebbe disporre dell'ultima generazione di processori, storage e tecnologie di rete ed essere in grado di fornire l'adeguata manutenzione. Assicurati che offra un'ampia capacità e performance di fascia alta che soddisfino o superino quelle delle tipiche implementazioni on-premise.
  • Esperienza con l'HPC: il provider di servizi cloud selezionato dovrebbe avere esperienza nell'esecuzione di carichi di lavoro HPC per un'ampia varietà di clienti. Inoltre, il suo servizio cloud dovrebbe essere progettato per offrire performance ottimali anche durante i periodi di picco, come quando si eseguono più simulazioni o modelli. In molti casi, le istanze di computer bare metal offrono performance più coerenti e potenti rispetto alle macchine virtuali.
  • Flessibilità per il lift and shift: i tuoi carichi di lavoro HPC devono essere eseguito allo stesso modo sia nel cloud che on-premise. Dopo aver spostato i carichi di lavoro nel cloud "così come sono" in un'operazione di sollevamento e spostamento, la simulazione eseguita la successiva settimana deve produrre un risultato coerente con quella eseguita dieci anni fa. Ciò è estremamente importante nei settori in cui i confronti di anno in anno devono essere effettuati utilizzando gli stessi dati e gli stessi calcoli. Ad esempio, i calcoli per l'aerodinamica, le automobili e la chimica non sono cambiati e nemmeno i risultati possono cambiare.
  • Nessun costo nascosto: i servizi cloud sono in genere offerti su un modello Pay-as-you-Go, quindi assicurati di capire esattamente cosa pagherai ogni volta che utilizzi il servizio. Molti utenti rimangono spesso sorpresi dal costo dello spostamento dei dati in uscita o dell'esportazione: potresti essere a conoscenza dei costi per transazione e richieste di accesso ai dati, ma ignorare i costi di esportazione.

Ottenere i risultati previsti e desiderati

In generale, è opportuno scegliere servizi cloud bare metal che offrono più controllo e performance. In combinazione con la rete cluster RDMA, l'HPC bare metal fornisce risultati identici a quelli che si ottengono con hardware simile on-premise.

Qual è il futuro dell'HPC?

Le aziende e le istituzioni di diversi settori si affidano all'HPC per guidare la crescita, che dovrebbe continuare per molti anni a venire. Si prevede che il mercato globale dell'HPC crescerà da 31 miliardi di dollari nel 2017 a 50 miliardi di dollari nel 2023. Poiché le performance del cloud continuano a migliorare e diventano sempre più affidabili e performanti, si prevede che gran parte di questa crescita deriverà da implementazioni HPC basate su cloud, che solleveranno le aziende dalla necessità di investire milioni nell'infrastruttura del data center e nei relativi costi.

Nel prossimo futuro, vedremo Big Data e HPC convergenti, con lo stesso grande cluster di computer utilizzati per analizzare Big Data ed eseguire simulazioni e altri carichi di lavoro HPC. Man mano che queste due tendenze convergeranno, il risultato sarà maggiore potenza e capacità di elaborazione, portando a ricerca e innovazione ancora più rivoluzionarie.