TECHTARGET

Cosa considerare per una infrastruttura HPC nel data center

Esistono alcuni criteri per comprendere se l’HPC può essere utile ad un’azienda valutando requisiti e limitazioni di calcolo, ma anche i software e i servizi richiesti per supportarne l’infrastruttura

Pubblicato il 04 Nov 2021

data center

Il calcolo ad alte prestazioni (HPC) è nato decenni fa come metodo economicamente più accessibile e scalabile per risolvere i problemi matematici più difficili. Oggi, molte organizzazioni si rivolgono all’HPC per affrontare compiti di calcolo complessi come il financial risk modeling, il monitoraggio delle risorse governative, l’analisi dei voli spaziali e molti altri progetti “big data“.

L’HPC combina hardware, software, sistemi di gestione e data center facilities per supportare una vasta serie di computer interconnessi che lavorano in modo cooperativo per eseguire un compito condiviso troppo complesso per un solo singolo computer.

Alcune aziende optano per l’affitto o l’acquisto di un HPC, mentre altre preferiscono scegliere di costruire un’infrastruttura HPC all’interno dei propri data center. Comprendendo i principali requisiti e i fattori limitanti di un’infrastruttura HPC, è possibile valutare se un’azienda ne ha davvero bisogno e come può eventualmente implementarlo al meglio.

Che cos’è l’HPC?

In generale, l’HPC prevede l’utilizzo di computer grandi e potenti progettati per gestire in modo efficiente compiti matematici complessi. Esistono anche i “supercomputer” HPC, ma si tratta di sistemi spesso alla portata solo delle imprese più grandi, tutte la altre, per lo meno la maggior parte, implementa l’HPC costituendo un gruppo di computer o nodi relativamente economici e strettamente integrati, configurati per operare in un cluster. Per affrontare problemi di calcolo complessi, questi cluster usano un sistema software in cui l’elaborazione è distribuita – come Hadoop e MapReduce – per ripartire i compiti di calcolo sui diversi computer in rete ognuno dei quali, all’interno del cluster, lavora sulla propria parte del problema o del set di dati che poi il framework software reintegra per fornire una soluzione completa.

L’architettura HPC distribuita impone alcuni compromessi alle organizzazioni ma offre anche benefici, i più immediati includono la scalabilità e la gestione dei costi. Framework come Hadoop funzionano anche su un solo server, ma si può scalare fino a migliaia di server. Questo significa per le aziende avere l’opportunità di costruire un’infrastruttura HPC che soddisfi le loro esigenze presenti e future utilizzando computer facilmente disponibili e meno costosi. Hadoop è anche fault-tolerant e può identificare e separare i sistemi guasti dal cluster, reindirizzando i loro compiti verso altri sistemi disponibili e funzionanti.

Costruire un cluster HPC è tecnicamente semplice, ma le implementazioni possono costituire una sfida per le aziende senza contare il fatto che, anche con la capacità di gestire, scalare e aggiungere nodi nel tempo, il costo di acquisto, distribuzione, funzionamento e manutenzione di decine, centinaia o addirittura migliaia di server – insieme all’infrastruttura di rete per supportarli – può comunque diventare un investimento finanziario significativo. Molte aziende con esigenze HPC tutt’al più limitate potrebbero poi avere delle difficoltà nel mantenere sempre attivo un cluster HPC, anche perché per far sì che sia utile ogni volta, è necessario investire sia economicamente che a livello di formazione. Solo una comprensione approfondita dei casi d’uso, dell’utilizzo e delle metriche di ritorno sull’investimento permettono di sviluppare progetti HPC di successo.

Cosa serve per implementare l’HPC?

I tre requisiti principali per implementare un cluster HPC in un data center aziendale includono l’hardware di calcolo, il layer software e le strutture per ospitare il tutto. Altri requisiti, più specifici, dipendono dalla scala dell’implementazione HPC.

Requisiti di calcolo.

Costruire un cluster HPC richiede server, storage e una rete dedicata che dovrebbe essere separata dalla LAN del traffico aziendale quotidiano. In teoria, è possibile implementare un software HPC come Hadoop su un singolo server, che può aiutare il personale a imparare e fare esperienza con questo strumento e con la programmazione delle varie attività ad esso legate, ma generalmente vengono utilizzati come minimo tre server: un nodo primario, un nodo di calcolo e un nodo finale.

È possibile far scalare questo semplice modello prevedendo più nodi primari che supportano tanti nodi di calcolo corrispondenti, in questo caso l’implementazione HPC prevede più server, solitamente virtualizzati per moltiplicare il numero di server effettivi disponibili per il cluster. La rete dedicata al cluster richiede anche un’attrezzatura di rete TCP/IP ad alta larghezza di banda come Gigabit Ethernet, NIC e switch. Il numero di server e di switch dipende dalle dimensioni del cluster e dalla capacità di ogni server.

Un’azienda che si avvicina per la prima volta all’HPC spesso inizia con un’implementazione hardware limitata a pochi server rack, per poi aumentare le dimensioni del cluster in un secondo momento. Per limitare il numero di server, e anche di switch, si può investire in dispositivi di fascia alta con processori e storage più grandi che garantiscano il raggiungimento in ciascuno di essi di una maggiore capacità di calcolo.

Requisiti del software.

Gli stack maturi sono chiamati a supportare prontamente la suite di funzioni di gestione dei cluster HPC mentre gli stack software come Bright Cluster Manager e OpenHPC includono tipicamente un assortimento di tool tra cui:

  • Strumenti di provisioning
  • Strumenti di monitoraggio
  • Strumenti di gestione dei sistemi
  • Strumenti di gestione delle risorse
  • Librerie MPI
  • Librerie matematiche
  • Compilatori
  • Debugger
  • Sistemi di file

Per gestire il proprio HPC alcune organizzazioni potrebbero adottare un framework HPC come Hadoop che include componenti in grado di offrire molte delle funzioni elencate sopra. Il file system HDFS, Hadoop Common, MapReduce e YARN sono dei validi esempi.

I progetti HPC prevedono un output che può assumere diverse forme – visualizzazione, modellazione o altro software di reporting – e che è funzionale alla presentazione dei risultati di calcolo ai manager. Strumenti come Hunk, Platfora e Datameer visualizzano i dati Hadoop e lo stesso fanno quelli open source come Jaspersoft, Pentaho e BIRT mentre strumenti di business intelligence come Cognos, MicroStrategy e QlikView; e librerie di grafici, tra cui Rshiny, D3.js e Highcharts, sono in grado di visualizzare l’output per framework non-Hadoop.

Requisiti delle strutture.

Le strutture possono spesso diventare il fattore più limitante nell’HPC perché per implementarle è necessario lo spazio fisico e il supporto per il peso del rack con server aggiuntivi, la potenza per farle funzionare e un’adeguata capacità di raffreddamento per gestire eccessi di calore. Alcune aziende potrebbero semplicemente non avere né lo spazio né l’infrastruttura di raffreddamento per riuscire a supportare un numero significativo di server aggiuntivi.

I sistemi di infrastrutture iperconvergenti (HCI) possono ridurre al minimo l’ingombro fisico dei computer ma prevedono densità di potenza elevate che possono provocare delle concentrazioni di calore (hot spot) nei rack e altri problemi di raffreddamento. Un rack di calcolo completo dedicato all’implementazione HPC può includere fino a 72 server di tipo blade e cinque switch top-of-rack, che pesano in totale oltre 800 Kg e richiedono fino a 43 kW di potenza.

Le implementazioni HPC richiedono un’attenta valutazione delle strutture del data center alla luce dei requisiti di potenza e raffreddamento del sistema richiesti dalla sua capacità e, nel caso si rivelassero inadeguate, diventerebbe necessario cercare alternative all’HPC in-house.

Gestire le sfide dell’implementazione HPC

Sfide di calcolo. Anche se l’hardware HPC è conosciuto e facilmente accessibile, è possibile affrontare le limitazioni di calcolo con server modulari ad alta densità che, grazie a questo loro design componibile, diventano facili sia da espandere che da sostituire. È possibile ottenere le migliori performance utilizzando server dedicati e ad alte prestazioni con una LAN dedicata e ad alta velocità. Questa combinazione consente l’aggiornamento dei programmi HPC nel tempo attraverso cicli regolari di revisione della tecnologia e investimenti aggiuntivi.

Sfide software. Le principali sfide relative al software HPC riguardano la gestione delle diverse versioni dei componenti software e l’interoperabilità: è necessario assicurarsi che la patch o l’aggiornamento di un componente non abbia un impatto negativo sulla stabilità o sulle prestazioni di altre parti del software. Serve quindi che il test e la convalida diventino una parte centrale del tuo processo di aggiornamento del software HPC.

Sfide di struttura. Lo spazio fisico disponibile del data center, l’energia e il raffreddamento necessari per gestire rack aggiuntivi pieni di server e apparecchiature di rete limitano molte organizzazioni che desiderano implementare l’HPC. Gli aggiornamenti dei server possono migliorare la situazione e, se se ne distribuiscono di più grandi e di più capaci di supportare VM aggiuntive, diventa possibile aggiungere efficacemente più “nodi” HPC senza bisogno di altri server fisici. Inoltre, raggruppare le VM all’interno dello stesso server fisico può ovviare a possibili problemi di rete perché riuscirebbero a comunicare al suo interno senza far passare il traffico attraverso la LAN.

Per lo spazio aggiuntivo, è possibile prendere in considerazione anche opzioni di terze parti come la colocation che permette ad un’azienda di affittare spazio nei data center di un fornitore e di usare la sua energia e il suo sistema di raffreddamento. Questo tipo di soluzione però spesso prevede un costoso obbligo contrattuale a lungo termine che può perfino durare anni.

Anche il consumo di energia influisce sui costi a lungo termine di un’implementazione HPC, meglio quindi valutare la disponibilità e il costo dell’energia locale prendendo in considerazione un’infrastruttura di distribuzione elettrica trifase bilanciata e un’attrezzatura avanzata di distribuzione dell’energia – come le PDU intelligenti e le PDU commutate – per aumentare l’efficienza energetica. Per minimizzare la perdita di dati, invece, possono essere utili gli Uninterruptible Power Supply (UPS) che supportano lo spegnimento ordinato dei server dei cluster HPC.

L’aggiunta di rack di server ad alta densità può far aumentare notevolmente il carico di raffreddamento del sistema di trattamento dell’aria di un data center e, quando non ci sono le condizioni per supportarlo, è opportuno valutare altre opzioni di colocation o di cloud, o considerare tecnologie di raffreddamento avanzate per i rack HPC, come il raffreddamento a immersione.

Usare il cloud per l’HPC?

Diversi fornitori di cloud pubblico, tra cui AWS, Google Cloud Platform e Microsoft Azure, offrono servizi HPC per le aziende in difficoltà di fronte possibili criticità che la costruzione e il funzionamento dell’HPC comportano. Per le singole aziende i cloud pubblici possono essere una soluzione ideale perché superano le sfide di scala e di costo e possono fornire:

  • una scalabilità quasi illimitata grazie ai data center disponibili a livello globale;
  • una varietà di CPU dedicate, GPU, field-programmable gate array e capacità hardware di interconnessione veloce per ottimizzare le prestazioni del lavoro per compiti come l’apprendimento automatico, la visualizzazione e il rendering;
  • servizi HPC maturi e velocemente disponibili come Azure CycleCloud e Apache Hadoop su Amazon EMR, che riducono la curva di apprendimento e l’onere del supporto per il personale IT
  • modelli di costo pay-as-you-go che permettono a un’azienda di pagare l’HPC solo quando si utilizzano effettivamente i servizi e risorse cloud dedicati

Le aziende che utilizzano l’HPC con frequenza ma per attività semplici, possono scegliere di costruire e mantenere un cluster HPC per progetti locali di elaborazione dei dati, per comodità e anche per sicurezza, rivolgendosi invece al cloud pubblico per progetti HPC occasionali e più impegnativi che non sarebbero in grado di supportare internamente.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati