Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

Funzioni di Dell EMC Ready Solutions per HPC nello storage BeeGFS (in inglese)

Summary: PowerEdge R740xd, PowerEdge R640, PowerSwitch S3048-ON, Mellanox SB7890, BeeGFS v7.1.3, HPC and AI Innovation Lab, HPC, soluzione di storage a prestazioni elevate BeeGFS, IOzone, prestazioni sequenziali di lettura e scrittura, prestazioni di lettura e scrittura casuali ...

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Symptoms

Articolo scritto da Nirmala Sundararajan del Dell EMC HPC and AI Innovation Lab a novembre 2019

Cause

Funzioni di Dell EMC Ready Solutions per HPC nello storage BeeGFS (in inglese)

Resolution

Sommario

  1. Introduzione
  2. StorageBench: per confrontare le prestazioni di diverse configurazioni RAID
  3. StorageBench: per identificare destinazioni di storage difettose o non configurate correttamente
  4. Conclusioni e lavoro futuro
     

Introduzione

Questo blog illustra le caratteristiche salienti di Dell EMC Ready Solutions for HPC BeeGFS Storage , annunciate di recente. Questo è il terzo blog della serie sulla soluzione di storage ad alte prestazioni BeeGFS.  Il primo blog ha annunciato il rilascio della soluzione. Il secondo blog ha parlato della scalabilità di Dell EMC Ready Solutions for HPC BeeGFS Storage. Ha fornito dettagli sulle configurazioni di base, le configurazioni scalabili flessibili e le prestazioni di lettura/scrittura sequenziale misurate effettive delle varie configurazioni, dimostrando che la scalabilità è lineare rispetto al numero di server nella soluzione. Il blog attuale evidenzia l'utilizzo di "StorageBench", il benchmark di destinazione dello storage integrato di BeeGFS.

BeeGFS è un file system open source che può essere scaricato da www.beegfs.io. Si tratta di un file system parallelo che distribuisce i dati tra più destinazioni di storage. Si tratta di un software-defined storage che separa il file system logico dall'hardware di storage sottostante, consentendo all'utente di definire come e dove vengono archiviati i dati. Il software del file system include funzionalità aziendali come high availability, applicazione delle quote ed elenchi di controllo dell'accesso. Le caratteristiche principali di BeeGFS sono la facilità d'uso, la scalabilità e la flessibilità.  La sua facilità d'uso deriva dal fatto che tutti i componenti lato server sono daemon di spazio utente, mentre il client è un modulo kernel che non richiede patch al kernel stesso. Tutti i componenti di BeeGFS possono essere installati e aggiornati senza riavviare il server. In questo modo possiamo aggiungere client e server al sistema esistente senza downtime. Aggiungendo server e unità, è possibile aumentare le prestazioni e la capacità del file system nel blog disponibile qui. BeeGFS supporta più distribuzioni Linux ed è progettato per funzionare con qualsiasi file system locale conforme a POSIX. BeeGFS supporta inoltre l'esecuzione di più istanze di un determinato servizio sullo stesso server.

Dell EMC Ready Solutions for HPC BeeGFS Storage sfrutta tutte le funzionalità principali del file system BeeGFS ed è progettato per prestazioni elevate. La soluzione utilizza i server PowerEdge R740xd per lo storage e l'elaborazione di metadati e dati.  Ogni server PowerEdge R740xd dispone di 24 SSD Intel P4600 NVMe da 1,6 TB considerati come il secondo grande passo avanti nella tecnologia delle unità: le SSD sono le prime.  Negli ambienti HPC, lo spazio scratch può spesso essere un fattore limitante. Può essere troppo piccola o troppo lenta.  Dell EMC Ready Solutions for HPC BeeGFS Storage è progettato per essere utilizzato come soluzione scratch e serve lo storage scratch utilizzando il file system BeeGFS.

BeeGFS include due strumenti di benchmarking integrati che possono aiutare a caratterizzare o valutare rispettivamente NetBench e StorageBench di rete o storage. Quando la modalità NetBench è abilitata, i server scaricheranno le richieste di scrittura ricevute anziché scrivere i dati. Analogamente, in caso di richieste di lettura, invece di leggere dal file system sottostante, verranno inviati ai client solo i buffer di memoria. La modalità NetBench è destinata al test del throughput di streaming di rete indipendentemente dai dischi sottostanti. D'altro canto, StorageBench ha lo scopo di misurare il throughput di streaming del file system sottostante indipendentemente dalle prestazioni di rete. StorageBench è un benchmark di destinazione dello storage che non utilizza la rete. Il comando storage-bench invia semplicemente la richiesta alle destinazioni di storage per avviare la scrittura/lettura dei dati. In questo modo, eliminiamo l'impatto della rete. L'output che otteniamo dal banco di storage è le migliori prestazioni che il sistema può ottenere se le prestazioni di rete sono ideali. Questo blog illustra come Utilizzare StorageBench per confrontare le prestazioni delle diverse destinazioni di storage e quindi identificare destinazioni difettose o non configurate correttamente.


StorageBench: per confrontare le prestazioni di diverse configurazioni RAID

StorageBench non utilizza il file system montato. Quando eseguiamo StorageBench, c'è solo una destinazione per file. Storagebench crea una directory su ogni destinazione di storage nel sistema in cui vengono creati file di test uguali al numero di thread di test. I dati vengono trasmessi direttamente a questo per mostrare il throughput a basso livello disponibile per ogni destinazione di storage. Senza alcuna comunicazione di rete, lo striping dei file non può essere simulato. Pertanto, i risultati del benchmark dello storage sono piuttosto paragonabili all'I/O del client con striping disabilitato. Quando vengono eseguiti benchmark effettivi, il file viene sottoposto a striping su 4 destinazioni di storage se viene adottato il modello di striping predefinito. 

Allo scopo di testare diverse destinazioni di storage, sono state utilizzate le configurazioni di piccole e medie dimensioni descritte nel blog sulla scalabilità della soluzione di storage BeeGFS di Dell EMC.  Entrambe le configurazioni hanno lo stesso numero di destinazioni di metadati configurate in RAID 1. Si differenziano nella configurazione RAID delle destinazioni di storage. Mentre la configurazione di piccole dimensioni include lo storage, le destinazioni configurate in RAID 0 di 6 unità, la configurazione di medie dimensioni ha le destinazioni di storage configurate in RAID 10 di 6 unità. Le destinazioni di storage configurate nella configurazione small e medium sono tabulate di seguito:

 

Tabella 1 Configurazione del banco di prova
Configurazione Medio - RAID 10 per destinazioni di storage Piccolo: RAID 0 per destinazioni di storage
Numero di destinazioni di metadati 6 6
Numero di istanze del servizio di metadati 6 6
Numero di storage server 5 2
Numero di destinazioni di storage 22 10
Numero di servizi di storage per server 4 4
Numero di servizi di storage per zona NUMA  2 2
Numero di destinazioni per istanza del servizio di storage  2 2

Nota: La configurazione di cui sopra della configurazione di medie dimensioni è solo allo scopo di testare il throughput delle destinazioni di storage configurate in configurazioni RAID diverse utilizzando lo strumento StorageBench.


Benchmark di scrittura StorageBench: sulla configurazione di piccole dimensioni con destinazioni di storage configurate in RAID 0


Il benchmark di storage viene avviato e monitorato con lo strumento beegfs-ctl. Il pacchetto beegfs-utils fornisce lo strumento della riga di comando beegfs-ctl che può essere utilizzato per eseguire il benchmark delle destinazioni di storage. Nell'esempio seguente viene avviato un benchmark di scrittura su tutte le destinazioni di tutti gli storage server BeeGFS con una dimensione del block di I/O di 512 KB, utilizzando 16 thread per destinazione, ognuno dei quali scriverà 200 Gb di dati nel proprio file.

[root@stor1 ~]# beegfs-ctl --storagebench --alltargets --write --blocksize=512K --size=200G --threads=16
È stato avviato il benchmark di scrittura dello storage.
È possibile eseguire una query sullo stato con l'argomento --status di beegfs-ctl.
Stato del benchmark del server:
In esecuzione:     10

Il messaggio "Running: L'output da 10" indica che sono presenti in totale 10 destinazioni di storage configurate nel sistema.
 
Per eseguire una query sullo stato/i risultati del benchmark di tutte le destinazioni, è possibile eseguire il comando seguente:

[root@stor1 ~]# beegfs-ctl --storagebench --alltargets --status
Server benchmark status:
Finished:    10
Risultati del benchmark di scrittura:
Throughput minimo:            4692435 KiB/s nodeID: stor1-numa0-2 [ID: 6], targetID: 50
Throughput massimo:            5368537 KiB/s nodeID: meta-stor-numa1-2 [ID: 2], targetID: 48
throughput medio:            throughput aggregato di 4907091 KiB/s
:     49070915 KiB/s

L'aggiunta dettagliata al comando precedente mostra l'elenco di tutte le destinazioni e il rispettivo throughput.

[root@meta-stor ~]# beegfs-ctl --storagebench --alltargets --status --verbose
Server benchmark status:
Finished:    10
Risultati del benchmark di scrittura:
Throughput minimo:            4692435 KiB/s nodeID: stor1-numa0-2 [ID: 6], targetID: 6
Throughput massimo:            5368537 KiB/s nodeID: meta-stor-numa1-2 [ID: 2], targetID: 2
throughput medio:            throughput aggregato di 4907091 KiB/s
:     49070915 KiB/s
Elenco di tutte le destinazioni:
1 5368477 KiB/s nodeID: meta-stor-numa1-1 [ID: 1]
2 5368537 KiB/s nodeID: meta-stor-numa1-2 [ID: 2]
3 4706368 KiB/s nodeID: stor1-numa0-1 [ID: 3]
4 4896077 KiB/s nodeID: stor1-numa1-1 [ID: 4]
5 4872876 KiB/s nodeID: stor1-numa1-2 [ID: 5]
6 4692435 KiB/s nodeID: stor1-numa0-2 [ID: 6]
7 4879054 KiB/s nodeID: stor2-numa1-2 [ID: 7]
8 4864737 KiB/s nodeID: stor2-numa1-1 [ID: 8]
9 4696152 KiB/s nodeID: stor2-numa0-1 [ID: 9]
10 4726202 KiB/s nodeID: stor2-numa0-2 [ID: 10]

Inferenza dall'output:

Il throughput medio per destinazione di storage configurato in RAID 0 è 5,02 GB/s.  


Benchmark di scrittura StorageBench: sulla configurazione media con destinazioni di storage configurate in RAID 10

Nell'esempio seguente viene avviato un benchmark di scrittura su tutte le destinazioni di tutti gli storage server BeeGFS con una dimensione del block di I/O di 512 KB, utilizzando 16 thread per destinazione, ognuno dei quali scriverà 200 Gb di dati nel proprio file.

[root@node001 ~]# beegfs-ctl --storagebench --alltargets --write --blocksize=512K --size=200G --threads=16
È stato avviato il benchmark di scrittura dello storage.
È possibile eseguire una query sullo stato con l'argomento --status di beegfs-ctl.
Stato del benchmark del server:
In esecuzione:     22

L'aggiunta dettagliata al comando precedente mostra l'elenco di tutte le destinazioni e il rispettivo throughput.

[root@node001 ~]# beegfs-ctl --storagebench --alltargets --status --verbose
Server benchmark status:
Finished:    22
Risultati del benchmark di scrittura:
Throughput minimo:            2705987 KiB/s nodeID: node006-numa0-1 [ID: 19], targetID: 1
Throughput massimo:            3364311 KiB/s nodeID: node001-numa1-1 [ID: 1], targetID: 1
throughput medio:            throughput aggregato di 3212845 KiB/s
:     70682603 KiB/s

Elenco di tutte le destinazioni:
1 3364311 KiB/s nodeID: node001-numa1-1 [ID: 1]
2 3361591 KiB/s nodeID: node001-numa1-2 [ID: 2]
3 3309530 KiB/s nodeID: node002-numa0-1 [ID: 3]
4 3312840 KiB/s nodeID: node002-numa0-2 [ID: 4]
5 3332095 KiB/s nodeID: node002-numa1-1 [ID: 5]
6 3323319 KiB/s nodeID: node002-numa1-2 [ID: 6]
7 3313000 KiB/s nodeID: node003-numa0-1 [ID: 7]
8 3321214 KiB/s nodeID: node003-numa0-2 [ID: 8]
9 3335072 KiB/s nodeID: node003-numa1-1 [ID: 9]
10 3339743 KiB/s nodeID: node003-numa1-2 [ID: 10]
11 3302175 KiB/s nodeID: node004-numa0-1 [ID: 11]
12 3309474 KiB/s nodeID: node004-numa0-2 [ID: 12]
13 3329879 KiB/s nodeID: node004-numa1-1 [ID: 13]
14 3328291 KiB/s nodeID: node004-numa1-2 [ID: 14]
15 3306132 KiB/s nodeID: node005-numa0-1 [ID: 15]
16 3307096 KiB/s nodeID: node005-numa0-2 [ID: 16]
17 3318436 KiB/s nodeID: node005-numa1-1 [ID: 17]
18 3329684 KiB/s nodeID: node005-numa1-2 [ID: 18]
19 2705987 KiB/s nodeID: node006-numa0-1 [ID: 19]
20 2716438 KiB/s nodeID: node006-numa0-2 [ID: 20]
21 2707970 KiB/s nodeID: node006-numa1-1 [ID: 21]
22 2708326 KiB/s nodeID: node006-numa1-2 [ID: 22]

Inferenza dall'output:

Il throughput medio per destinazione di storage è di 3,29 GB/s.

Dall'output dei test di benchmark StorageBench eseguiti su due configurazioni BeeGFS diverse, una con destinazioni di storage configurate in RAID 0 e un'altra con destinazioni di storage configurate in RAID 10, è evidente che le prestazioni di scrittura sono migliori con le destinazioni di storage configurate in RAID 0 anziché IN RAID 10. Quando è stato utilizzato il comando dd per scrivere un file 10G con dimensioni block di 1 M e "oflag=direct", la media era di circa 5,1 GB/s per il sistema di piccole dimensioni configurato in RAID 0, mentre il throughput medio era di circa 3,4 GB/s per il sistema medio configurato in RAID 10, il che è paragonabile ai risultati ottenuti utilizzando lo strumento storagebench. 


StorageBench: per identificare destinazioni di storage difettose o non configurate correttamente

StorageBench è stato eseguito sulla configurazione media descritta nel blog dell'annuncio per scoprire se nel sistema sono presenti destinazioni di storage non configurate correttamente o difettose.

[root@node001 ~]# beegfs-ctl --storagebench --alltargets --status --verbose
Server benchmark status:
Finished:    33
Leggi i risultati del benchmark:
Throughput minimo:            2830479 KiB/s nodeID: node003-numa1-2 [ID: 14], targetID: 14
Throughput massimo:            3025500 KiB/s nodeID: node005-numa0-1 [ID: 22], targetID: 22
throughput medio:            throughput aggregato di 2917836 KiB/s
:     96288596 KiB/s
Elenco di tutte le destinazioni:
1 2950039 KiB/s nodeID: node001-numa1-1 [ID: 1]
2 2956121 KiB/s nodeID: node001-numa1-2 [ID: 2]
3 2954473 KiB/s nodeID: node001-numa1-3 [ID: 3]
4 2957658 KiB/s nodeID: node002-numa0-1 [ID: 4]
5 2947109 KiB/s nodeID: node002-numa0-2 [ID: 5]
6 2969886 KiB/s nodeID: node002-numa0-3 [ID: 6]
7 2892578 KiB/s nodeID: node002-numa1-1 [ID: 7]
8 2886899 KiB/s nodeID: node002-numa1-2 [ID: 8]
9 2888972 KiB/s nodeID: node002-numa1-3 [ID: 9]
10 2861995 KiB/s nodeID: node003-numa0-1 [ID: 10]
11 2874314 KiB/s nodeID: node003-numa0-2 [ID: 11]
12 2879096 KiB/s nodeID: node003-numa0-3 [ID: 12]
13 2832635 KiB/s nodeID: node003-numa1-1 [ID: 13]
14 2830479 KiB/s nodeID: node003-numa1-2 [ID: 14]
15 2830971 KiB/s nodeID: node003-numa1-3 [ID: 15]
16 2986890 KiB/s nodeID: node004-numa0-1 [ID: 16]
17 2979197 KiB/s nodeID: node004-numa0-2 [ID: 17]
18 2983958 KiB/s nodeID: node004-numa0-3 [ID: 18]
19 2897974 KiB/s nodeID: node004-numa1-1 [ID: 19]
20 2900880 KiB/s nodeID: node004-numa1-2 [ID: 20]
21 2904036 KiB/s nodeID: node004-numa1-3 [ID: 21]
22 3025500 KiB/s nodeID: node005-numa0-1 [ID: 22]
23 3021558 KiB/s nodeID: node005-numa0-2 [ID: 23]
24 3017387 KiB/s nodeID: node005-numa0-3 [ID: 24]
25 2921480 KiB/s nodeID: node005-numa1-1 [ID: 25]
26 2930226 KiB/s nodeID: node005-numa1-2 [ID: 26]
27 2930548 KiB/s nodeID: node005-numa1-3 [ID: 27]
28 2900018 KiB/s nodeID: node006-numa0-1 [ID: 28]
29 2898520 KiB/s nodeID: node006-numa0-2 [ID: 29]
30 2907113 KiB/s nodeID: node006-numa0-3 [ID: 30]
31 2855079 KiB/s nodeID: node006-numa1-1 [ID: 31]
32 2853527 KiB/s nodeID: node006-numa1-2 [ID: 32]
33 2861480 KiB/s nodeID: node006-numa1-3 [ID: 33]

Dall'output precedente, è evidente che tutte le destinazioni di storage funzionano uniformemente e che non ci sono destinazioni difettose nel sistema.

 

Conclusioni e lavoro futuro

In questo blog vengono illustrate le funzionalità principali di BeeGFS e viene spiegato l'utilità del benchmark di storage bench per valutare o confrontare le prestazioni di diverse configurazioni RAID e anche per identificare se una qualsiasi delle destinazioni di storage è difettosa o non configurata correttamente.  Come parte dei passaggi successivi, pubblicheremo un white paper in seguito con le prestazioni dei metadati e le prestazioni di IOR e con ulteriori dettagli sulle considerazioni di progettazione, sull'ottimizzazione e sulla configurazione. 


Riferimenti

1) Dell EMC Ready Solutions for HPC BeeGFS Storage https://www.dell.com/support/article/sln319381/
2) Scalabilità di Dell EMC Ready Solutions for HPC BeeGFS Storage https://index?page=content&actp=search&id=sln319382
3) Documentazione beeGFS: 
https://www.beegfs.io/wiki/4) Come connettere due interfacce sulla stessa subnet: 
https://access.redhat.com/solutions/305645) Progettazione di riferimento per l'accesso alla memoria PCI Express Direct con memoria esterna: https://www.intel.com/content/www/us/en/programmable/documentation/nik1412547570040.html#nik1412547565760

 

 

Article Properties


Affected Product

PowerSwitch S3048-ON, Mellanox SB7800 Series, PowerEdge R640, PowerEdge R740XD

Last Published Date

03 Oct 2023

Version

5

Article Type

Solution