PowerEdge: Scalabilità di Dell Ready Solutions for HPC BeeGFS Storage
Summary: Come scalare la soluzione di storage a prestazioni elevate Dell BeeGFS in termini di capacità, prestazioni o entrambe.
Instructions
Sommario
- Introduzione
- Configurazioni di base
- Calcolo dello spazio utilizzabile BeeGFS
- Configurazioni scalabili
- Caratterizzazione delle prestazioni
- Conclusioni e lavoro futuro
Introduzione
Questo blog illustra la scalabilità di Dell Ready Solutions for HPC BeeGFS Storage, annunciato di recente. L'architettura BeeGFS è costituita da quattro servizi principali: il servizio di gestione, il servizio di metadati, il servizio di storage e il servizio client. È possibile eseguire qualsiasi combinazione di questi quattro servizi principali, anche tutti, sullo stesso server, perché i ruoli e l'hardware non sono strettamente integrati nel caso di BeeGFS. In una soluzione iperconvergente, tutti e quattro i servizi vengono eseguiti sullo stesso server. Questa configurazione non è consigliata per ambienti in cui le prestazioni sono critiche, poiché le applicazioni client solitamente consumano risorse che potrebbero influire sulle prestazioni dei servizi di storage. La soluzione Dell utilizza server di storage dedicati e un server di metadati e storage a doppia finalità per fornire una soluzione di storage scalabile e a prestazioni elevate. È possibile scalare il sistema aggiungendo server di storage aggiuntivi a un sistema esistente. In questo blog presentiamo configurazioni con numeri diversi di server di storage e le prestazioni prevedibili con queste configurazioni.
Configurazioni di base
La soluzione di storage BeeGFS, progettata per fornire un file system temporaneo a prestazioni elevate, utilizza i seguenti componenti hardware:
- Server di gestione
- R640, due CPU Intel Xeon Gold 5218 da 2,3 GHz, 16 core, 96 GB (12 RDIMM da 8 GB a 2.666 MT/s), 6 SAS da 15.000 RPM, 300 GB, H740P
- Server di storage e metadati
- R740XD, 2 CPU Intel Xeon Platinum 8268 a 2,90 GHz, 24 core, 384 GB (12 RDIMM da 32 GB a 2.933 MT/s)
- Scheda BOSS con 2 SSD SATA M.2 da 240 GB in RAID 1 per il sistema operativo
- 24 unità Intel da 1,6 TB, NVMe, Express Flash per uso misto, unità SFF da 2,5", software RAID
Il server di gestione esegue il servizio di monitoraggio BeeGFS. Il server di metadati utilizza le 12 unità sulla zona NUMA 0 per ospitare le destinazioni dei metadati (MDT), mentre le restanti 12 unità sulla zona NUMA 1 ospitano le destinazioni di storage (STS). Non viene utilizzato un server di metadati dedicato, perché i requisiti di capacità di storage per i metadati BeeGFS sono ridotti. Le destinazioni di metadati e storage e i servizi sono isolati su nodi NUMA distinti, in modo da stabilire una notevole separazione dei carichi di lavoro. I server di storage utilizzati nella configurazione dispongono di tre servizi di storage in esecuzione per zona NUMA, sei in totale per server. Per maggiori dettagli, consultare il blog di annuncio. La Figura 1 mostra le due configurazioni di base testate e convalidate durante Dell EMC HPC and AI Innovation Lab.

Figura 1. Configurazioni di base
La configurazione di piccole dimensioni è costituita da 3 server R740xd. Include 15 destinazioni di storage. La configurazione di medie dimensioni è costituita da 6 server R740xd e 33 destinazioni di storage. L'utente può iniziare con una configurazione di piccole o medie dimensioni e aggiungere server di storage o metadati in base alle esigenze per aumentare lo spazio di storage e migliorare le prestazioni complessive oppure il numero di file e prestazioni dei metadati, rispettivamente. La Tabella 1 mostra i dati sulle prestazioni per le configurazioni di base che sono state ampiamente testate e convalidate durante Dell HPC and AI Innovation Lab.
| Configurazione di base | Small | Medio | |
|---|---|---|---|
| U totali (MDS+SS) | 6U | 12U | |
| N. di server di storage dedicati | 2 | 5 | |
| N. di unità NVMe per lo storage dei dati | 60 | 132 | |
| Spazio utilizzabile stimato | 1,6 TB | 86 TiB | 190 TiB |
| 3,2 TB | 173 TiB | 380 TiB | |
| 6,4 TB | 346 TiB | 761 TiB | |
| Lettura sequenziale di picco | 60,1 GB/s | 132,4 GB/s | |
| Scrittura sequenziale di picco | 57,7 GB/s | 120,7 GB/s | |
| Lettura casuale | 1,80 milioni di IOPS | 3,54 milioni di IOPS | |
| Scrittura casuale | 1,84 milioni di IOPS | 3,59 milioni di IOPS | |
Tabella 1. Dettagli sulla capacità e sulle prestazioni delle configurazioni di base
Calcolo dello spazio utilizzabile BeeGFS
Lo spazio utilizzabile stimato viene calcolato in TiB (poiché la maggior parte degli strumenti mostra lo spazio utilizzabile in unità binarie) con la seguente formula:
BeeGFS Usable Space in TiB= (0.99* # of Drives* size in TB * (10^12/2^40)
Nella formula precedente, 0,99 è il fattore ottenuto assumendo in modo conservativo un overhead dell'1% dovuto al file system. Per calcolare il numero di unità disco per lo storage, vengono incluse anche 12 unità provenienti dall'MDS. Questo perché, nell'MDS, le 12 unità nella zona NUMA 0 vengono utilizzate per i metadati, mentre le 12 unità nella zona NUMA 1 vengono utilizzate per lo storage. L'ultimo fattore nella formula 10^12/2^40 serve a convertire lo spazio utilizzabile da TB a TiB.
Configurazioni scalabili
La soluzione di storage a prestazioni elevate BeeGFS è progettata per essere flessibile e permette di scalare facilmente e senza interruzioni le prestazioni e/o la capacità aggiungendo ulteriori server, come mostrato di seguito
Figura 2. Esempi di configurazioni scalate
La porzione di metadati dello stack rimane la stessa per tutte le configurazioni sopra descritte in questo blog. Questo perché i requisiti di capacità di storage per i metadati di BeeGFS sono generalmente dallo 0,5% all'1% della capacità totale di storage. Tuttavia, dipende effettivamente dal numero di directory e file presenti nel file system. Come regola generale, l'utente può aggiungere un server di metadati in più quando la percentuale di capacità dedicata ai metadati rispetto allo storage scende sotto l'1%. La Tabella 2 mostra i dati sulle prestazioni per le diverse configurazioni flessibili della soluzione di storage BeeGFS.
| Configuration | Small | Piccole dimensioni +1 | Piccole dimensioni +2 | Medio | Medie dimensioni +1 | |
|---|---|---|---|---|---|---|
| U totali (MDS+SS) | 6U | 8U | 10U | 12U | 14U | |
| N. di server di storage dedicati | 2 | 3 | 4 | 5 | 6 | |
| N. di unità NVMe per lo storage dei dati | 60 | 84 | 108 | 132 | 156 | |
| Spazio utilizzabile stimato | 1,6 TB | 86 TiB | 121 TiB | 156 TiB | 190 TiB | 225 TiB |
| 3,2 TB | 173 TiB | 242 TiB | 311 TiB | 380 TiB | 449 TiB | |
| 6,4 TB | 346 TiB | 484 TiB | 622 TiB | 761 TiB | 898 TiB | |
| Lettura sequenziale di picco | 60,1 GB/s | 83,3 GB/s | 105,2 GB/s | 132,4 GB/s | 152,9 GB/s | |
| Scrittura sequenziale di picco | 57,7 GB/s | 80,3 GB/s | 99,8 GB/s | 120,7 GB/s | 139,9 GB/s | |
Tabella 2. Dettagli sulla capacità e sulle prestazioni delle configurazioni di base
Caratterizzazione delle prestazioni
Le prestazioni delle varie configurazioni sono state testate creando pool di storage. La configurazione di piccole dimensioni include 15 destinazioni di storage e ogni server di storage in più aggiunge altre 6 destinazioni di storage. Pertanto, allo scopo di testare le prestazioni delle varie configurazioni, sono stati creati pool di storage da 15 a 39 destinazioni di storage (incrementi di 6 per le configurazioni di piccole dimensioni, piccole dimensioni+1, piccole dimensioni+2, medie dimensioni, medie dimensioni+1). Per ciascuno di questi pool, sono state eseguite tre iterazioni del benchmark IOzone, ciascuna con un numero di thread da 1 a 1.024 (con incrementi in potenze di due). La metodologia di test adottata è la stessa descritta nel blog di annuncio. Le Figure 3 e 4 mostrano rispettivamente le prestazioni di scrittura e lettura delle configurazioni scalabili, con le prestazioni di picco di ciascuna configurazione evidenziate come riferimento immediato:

Figura 3. Prestazioni di scrittura delle configurazioni scalabili.
Figura 4. Prestazioni di lettura delle configurazioni scalabili.
Nota:
Il pool di storage menzionato è stato creato esclusivamente per caratterizzare le prestazioni delle diverse configurazioni. Durante la valutazione delle prestazioni della configurazione di medie dimensioni descritta nel blog di annuncio, tutte le 33 destinazioni si trovavano nel solo "Default Pool". L'output del comando beegfs-ctl --liststoragepools fornito di seguito mostra l'assegnazione delle destinazioni di storage:
# beegfs-ctl --liststoragepools Pool ID Pool Description Targets Buddy Groups ======= ================== ============================ ============================ 1 Default 1,2,3,4,5,6,7,8,9,10,11,12, 13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30, 31,32,33
Conclusioni e lavoro futuro
Questo blog ha discusso la scalabilità di Dell Ready Solutions for HPC BeeGFS Storage ed ha evidenziato le prestazioni in termini di throughput di lettura e scrittura sequenziale per varie configurazioni. La parte 3 di questa serie di blog illustrerà funzionalità aggiuntive di BeeGFS e metterà in evidenza l'uso di "StorageBench", il benchmark integrato per le destinazioni di storage di BeeGFS. Come prossimi passi, pubblicheremo un white paper con i risultati delle prestazioni dei metadati, la valutazione delle prestazioni IOR N-1 e ulteriori dettagli su considerazioni di progettazione, ottimizzazione e configurazione.
Riferimenti
[1] Dell Ready Solutions for HPC BeeGFS Storage: https://www.dell.com/support/article/sln319381/
[2] Documentazione di BeeGFS: https://www.beegfs.io/wiki/
[3] How to connect two interfaces on the same subnet: https://access.redhat.com/solutions/30564
[4] PCI Express Direct Memory Access Reference Design using External Memory: https://www.intel.com/content/www/us/en/programmable/documentation/nik1412547570040.html#nik1412547565760