Una scelta condizionata da caratteristiche applicative

Soluzioni capaci di aggregare risorse per fornire elevatissime prestazioni computazionali, di storage e di banda, puntando verso il modello cloud

Avatar di Riccardo Florio

a cura di Riccardo Florio

Una scelta condizionata da caratteristiche applicative

I vantaggi offerti dagli ambienti HPC sono vanificati in assenza di applicazioni capaci di sfruttare appieno le funzionalità progettate in questi ambienti. 

Il livello di maturità dell'HPC on-premise ha consentito di ottimizzare negli anni molte applicazioni per trarre nativamente vantaggio dalle funzionalità hardware on-premise (anche bypassando il kernel del sistema operativo). 

Dato che molti ambiti di utilizzo dell'HPC come la modellazione, l'analisi dei dati e la fluidodinamica riguardano il puro calcolo numerico, spesso le corrispondenti applicazioni sono state sviluppate per sfruttare al meglio le caratteristiche di calcolo, memoria e rete dei server fisici. Inoltre, il software parallelo non è solitamente facile da migrare tra diverse piattaforme e una codifica che sfrutta una capacità intrinseca di una piattaforma può perdere questa capacità quando viene spostata su un'altra.

Storage ad alte prestazioni

La comunità open source ha rappresentato e continua a essere un importante volano per lo sviluppo di soluzioni adatte a supportare le esigenze storage dell'HPC. 

Opzioni di storage HPC sono ora disponibili per supportare soluzioni sia on-premise sia cloud-based. In particolare sono disponibili una serie di File System distribuiti di tipo open source con caratteristiche fault tolerant, alte prestazioni ed elevata scalabilità per abilitare le opzioni di storage HPC: Moose File System (MooseFS), Hadoop Distributed File System (HDFS), Lustre, CephFS e GlusterFS.

Lustre (un termine che deriva dalla contrazione tra Linux e cluster) è in grado di supportare decine di migliaia di nodi, ciascuno dei quali potenzialmente contenenti decine di Petabyte di storage e throughput aggregato che può superare 1 Terabyte al secondo. Fornisce il supporto per i file system distribuiti, scalabilità storage di tipo scale out e calcolo in cluster, spaziando dalle esigenze di cluster per workgroup a quelle di cluster multi-sito. Grazie alle sue capacità e alla licenza open General Public License, Lustre è utilizzato dalla maggioranza dei 100 computer che sono nell'elenco TOP 500 dei supercomputer del mondo (tra cui il # 2 Cray Titan e il # 3 IBM Sequoia). 

Ceph è un'altra piattaforma distribuita, ad alta disponibilità e scalabile a livello di Exabyte che, grazie all'interfaccia API RESTful consente di supportare storage sia blocchi sia a oggetti anche in ambienti cloud. 

GlusterFS prevede l'aggregazione di server storage mediante Infiniband o Ethernet e supporta HPC mettendo a disposizione un file system parallelo scalabile a livello di Petabyte.

Anche se Gluster, Lustre, e Ceph rimangono a disposizione del pubblico tramite General Public License, una serie di acquisizioni hanno spostato negli anni una parte dello sviluppo software verso Red Hat e Intel. Gluster è stata infatti acquisita da Red Hat nel 2011 e ora questa tecnologia è incorporata in Red Hat Enterprise Linux. Red Hat offre ora Red Hat Storage Server (basato su Gluster) che supporta le opzioni di cloud privati, pubblici e ibridi.

Intel ha acquistato Whamcloud (il fornitore di Lustre) nel 2012, e ora continua a sviluppare il software e fornisce un edizione software di tipo cloud-based. 

La maggior parte dello sviluppo Ceph è ora fatta internamente al Red Hat dopo l'acquisizione di Inktank Storage (sviluppatore di Ceph) avvenuta nel 2014.