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.

Dell EMC Ready Solutions for HPC BeeGFS High Capacity Storage (in inglese)

Summary: Le soluzioni Dell EMC Ready per HPC BeeGFS High Capacity storage sono una soluzione di storage di file System parallela completamente supportata e con throughput elevato. Questa architettura ha enfatizzato le prestazioni e la soluzione descritta è una soluzione di storage ad alta capacità. Queste due soluzioni per BeeGFS sono diverse in termini di obiettivi di progettazione e use case. La soluzione con prestazioni elevate è progettata come una soluzione di Scratch storage, un punto di sosta per i DataSet transienti che generalmente non vengono conservati oltre la durata del processo. La soluzione con capacità elevata utilizza 4x Dell EMC PowerVault array ME4084 completamente popolati con un totale di 336 unità e fornisce una capacità raw di 4PB se dotata di 12 unità SAS TB. ...

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

Questo articolo è stato scritto da Nirmala Paolo, HPC e AI-Innovation Lab, 2020 aprile

Cause


Sommario:

  1. Introduzione
  2. Architettura di riferimento della soluzione
  3. Configurazione hardware e software
  4. Dettagli di configurazione della soluzione
  5. Valutazione delle prestazioni
  6. Conclusione e lavoro futuro

 

Introduzione

Le soluzioni Dell EMC Ready per HPC BeeGFS High Capacity storage sono una soluzione di storage di file System parallela completamente supportata e con throughput elevato. Questo Blog discute l'architettura della soluzione, in che modo è ottimizzata per le prestazioni di HPC e presenta le prestazioni di I/O utilizzando sia IOZone Sequential che Random benchmark. Una soluzione di storage BeeGFS a prestazioni elevate basata su Device NVMe è stata descritta in questo Blog pubblicato nel novembre 2019. Questa architettura ha enfatizzato le prestazioni e la soluzione descritta è una soluzione di storage ad alta capacità.  Queste due soluzioni per BeeGFS sono diverse in termini di obiettivi di progettazione e use case.  La soluzione con prestazioni elevate è progettata come una soluzione di Scratch storage, un punto di sosta per i DataSet transienti che generalmente non vengono conservati oltre la durata del processo. La soluzione con capacità elevata utilizza 4x Dell EMC PowerVault array ME4084 completamente popolati con un totale di 336 unità e fornisce una capacità raw di 4PB se dotata di 12 unità SAS TB. 


Torna all'inizio


Resolution

Architettura di riferimento della soluzione

La soluzione Dell EMC Ready per lo storage con capacità elevata HPC BeeGFS è costituita da un Management Server, una coppia di server di metadati, una coppia di storage server e gli storage array associati. La soluzione fornisce lo storage che utilizza un singolo namespace a cui è possibile accedere facilmente dai nodi di elaborazione del cluster. La figura seguente mostra l'architettura di riferimento della soluzione con questi componenti principali:

  • Management Server
  • Coppia di server di metadati con PowerVault ME4024 come back-end storage
  • Coppia di storage server con PowerVault ME4084 come back-end storage

La figura 1 Mostra l'architettura di riferimento della soluzione.

SLN320833_en_US__1image001

Figura 1. Soluzione Dell EMC pronta per lo Storage

HPC BeeGFS Nella figura 1, il Management Server in cui è in corso il daemon di monitoraggio BeeGFS è un PowerEdge r640.   I due server di metadati (MDS) sono PowerEdge Server R740 in una configurazione High Availability Active-Active.  La coppia di MDS è collegata all'array 2U, PowerVault ME4024 di 12 GB/s SAS link. Lo storage array ME4024 ospita le destinazioni di metadati (MDTs). Un altro paio di PowerEdge Server R740, anche in configurazione High Availability Active-Active, vengono utilizzati come Storage Server (SS).  Questa coppia di SS è collegata a quattro storage array ME4084 completamente popolati con PowerVault con 12 GB/s SAS link. Gli array ME4084 supportano una scelta di unità disco rigido da 4 TB, 8 TB, 10 TB o 12 TB NL SAS 7,2 K RPM (HDD e ospitano le destinazioni di storage (STs) per il file System BeeGFS. Questa soluzione utilizza Mellanox InfiniBand HDR100 per la rete di dati. I client e i server sono connessi a 1U Mellanox Quantum HDR Edge Switch QM8790, che supporta fino a 80 porte di HDR100 utilizzando cavi Splitter HDR.


Torna all'inizio


 

Configurazione hardware e software

 

Le tabelle seguenti descrivono l'hardware speficiations e le versioni software Validate per la soluzione.

Management Server 1 Dell EMC PowerEdge R640
Server di metadati (MDS) 2 Dell EMC PowerEdge R740
Storage Server (SS) 2 Dell EMC PowerEdge R740
Processore Management Server: 2 x Intel Xeon Gold 5218 @ 2,3 GHz, 16 core
MDS e SS: 2 Intel Xeon Gold 6230 a 2,10 GHz, 20 core per processore
Memoria Management Server: 12 x 8GB DDR4 2666MT/s DIMM-96GB
MDS e SS: DIMM DDR4 2933MT/s da 12 GB/s-384GB
HCA InfiniBand (slot 8) 1x Mellanox ConnectX-6 Single Port HDR100 Adapter per MDS e SS
Controller di storage esterno 2x Dell 12Gbps SAS HBA (su ogni MDS)
4x dell 12Gbps SAS HBA (su ogni SS)
Enclosure di data storage 4x Dell EMC PowerVault enclosure ME4084 completamente popolati con un totale di 336 unità
2,69 PB di capacità di storage raw se dotati di 8 tb SAS Drive in 4x ME4084
Enclosure di storage di metadati 1x Dell EMC PowerVault enclosure ME4024 completamente popolato con 24 unità
Controller RAID Controller RAID duplex nelle enclosure ME4084 e ME4024
Unità disco rigido 84-8 TB 7200 RPM unità NL SAS3 per ME4084 enclosure
24-960 GB SAS3 SSD per enclosure ME4024
Sistema operativo CentOS di release di Linux 8.1.1911 (Core)
Versione del kernel 4.18.0-147.5.1. EL8 _1. x86_64
Versione di Mellanox OFED 4.7-3.2.9.0
Grafana 6.6.2-1
InfluxDB 1.7.10-1
BeeGFS FILE SYSTEM (FILE SYSTEM NTFS) 7,2 beta2

Tabella 1. Configurazione del banco di prova

Nota: Per la caratterizzazione delle prestazioni, è stata utilizzata la versione 7,2 beta2 di BeeGFS.


Torna all'inizio


 

Dettagli di configurazione della soluzione

 

L' architettura BeeGFS è costituita da quattro servizi principali:

  1. Servizio di gestione
  2. Servizio metadati
  3. Servizio di storage
  4. Servizio client

È disponibile anche un servizio di monitoraggio BeeGFS opzionale.

Fatta eccezione per il servizio client che è un modulo del kernel, i servizi di gestione, metadati e storage sono processi di spazio utente. È possibile eseguire una qualsiasi combinazione di servizi BeeGFS (componenti client e server) insieme negli stessi computer. È anche possibile eseguire più istanze di qualsiasi servizio BeeGFS sulla stessa macchina. Nella Dell EMC configurazione ad alta capacità di BeeGFS, il servizio di monitoraggio viene eseguito sul server di gestione, più istanze del servizio metadati vengono eseguite sui server di metadati e una singola istanza di servizio di storage viene eseguita sugli storage server. Il servizio di gestione è installato sui server di metadati.  

Servizio di monitoraggio

Il servizio di monitoraggio di BeeGFS (BeeGFS-Mon. Service) raccoglie le statistiche di BeeGFS e le fornisce all'utente, utilizzando il database della serie temporale InfluxDB.   Per la visualizzazione dei dati, beegfs-lun-grafana fornisce dashboard grafana predefiniti che possono essere utilizzati fuori dal campo. La figura 2 fornisce una panoramica generale del cluster BeeGFS che mostra il numero di servizi di storage e i servizi di metadati nella configurazione (chiamati nodi nel dashboard). Elenca inoltre le altre visualizzazioni dashboard disponibili e fornisce una panoramica delle destinazioni di storage.

SLN320833_en_US__2image002 (1)

Figura 2 dashboard Grafana-Panoramica di BeeGFS


Torna all'inizio


 

Servizio metadati

Lo storage array ME4024 utilizzato per lo storage dei metadati è completamente popolato con SSD 960 GB 24x. Queste unità sono configurate in gruppi di dischi RAID1 lineari 12x di due unità, come mostrato nella figura 3. Ogni gruppo RAID1 è una destinazione di metadati.

SLN320833_en_US__3image003

Figura 3 Array ME4024 completamente popolato con 12 MDTs

In BeeGFS, ciascun servizio di metadati gestisce solo un singolo MDT. Poiché esistono 12 MDTs, devono essere presenti 12 istanze del servizio metadati. Ciascuno dei due server di metadati esegue sei istanze del servizio metadati. Le destinazioni di metadati vengono formattate con un file system ext4 (i file system ext4 vengono eseguiti bene con file di piccole dimensioni e operazioni di file di piccole dimensioni). Inoltre, BeeGFS archivia le informazioni in attributi estesi e direttamente sugli inode del file System per ottimizzare le prestazioni, che funzionano bene con il file system ext4.

Torna in alto


 

Servizio di gestione

Il servizio beegfs-mgmtd è configurato su entrambi i server di metadati. L'beegfs mgmtd Store viene inizializzato nella directory mgmtd sulla destinazione dei metadati 1, come mostrato di seguito:

/opt/beegfs/sbin/beegfs-Setup-mgmtd-p/beegfs/metaA-numa0-1/mgmtd-S beegfs-Mgmt

Il servizio di gestione viene avviato sul server MetaA.
 

Torna all'inizio


 

Servizio di storage

In questa soluzione BeeGFS ad alta capacità, lo storage dei dati si trova su quattro storage array di ME4084 PowerVault. Su ogni array vengono creati gruppi di dischi RAID-6 lineari di 10 unità (8 + 2). Per ogni gruppo di dischi viene creato un singolo volume che utilizza tutto lo spazio. Ciò comporterà 8 gruppi di dischi/volumi per array. Ogni array ha 84 unità e la creazione di 8 dischi RAID-6 è costituita da 4 unità, che possono essere configurate come Hot Spare globali tra i volumi degli array.

Con il layout descritto in precedenza, vi sono un totale di 32 x RAID-6 volumi su 4 x ME4084 in una configurazione di base mostrata nella figura 1. Ciascuno di questi volumi RAID-6 è configurato come destinazione di storage (ST) per il file System BeeGFS, con un risultato di un totale di 32 m/s sul file System.

Ogni array ME4084 ha 84 unità, con unità numerate 0-41 nel cassetto superiore e quelle numerate 42-84 nel cassetto inferiore.  Nella figura 5, ogni set di 10 unità contrassegnate da 1 a 8 rappresenta il gruppo 8xRAID6. Un volume viene creato per ogni gruppo di RAID6. Le unità contrassegnate con "S" rappresentano le parti di ricambio globali. La figura 5 Mostra la vista anteriore dell'array dopo la configurazione di 8 volumi e 4 Ricambi globali.

SLN320833_en_US__4image004

Figura 4 layout del gruppo di dischi RAID 6 (8 + 2) su un ME4084 


Torna all'inizio


 

Servizio client

Il modulo client BeeGFS viene caricato su tutti gli host che richiedono l'accesso al file System BeeGFS. Quando il modulo BeeGFS viene caricato e il servizio BeeGFS client viene avviato, il servizio esegue il Mount dei file System definiti nel file/etc/BeeGFS/beegfs-Mounts. conf invece dell'approccio consueto basato su /etc/fstab.  Con questo approccio, il client beegfs si avvia come qualsiasi altro servizio di Linux tramite lo script di avvio del servizio e consente la ricompilazione automatica del modulo client beegfs dopo gli aggiornamenti del sistema.


Torna all'inizio


 

Valutazione delle prestazioni

 

Questa sezione presenta le caratteristiche delle prestazioni delle soluzioni Dell EMC Ready per HPC soluzione di storage ad alta capacità BeeGFS utilizzando i benchmark sequenziali e casuali IOzone.  Per una maggiore caratterizzazione delle prestazioni con IOR e MDtest e dettagli sulla configurazione della High Availability, consultare il white paper che verrà pubblicato in seguito.

Le prestazioni di storage sono state valutate utilizzando il benchmark IOzone (v 3.487). La velocità di lettura e scrittura sequenziali e il IOPS di lettura e scrittura casuali sono stati misurati. La tabella 2 descrive la configurazione dei PowerEdge Server R840 utilizzati come client BeeGFS per questi studi sulle prestazioni.

Clienti 8 Dell EMC PowerEdge R840
Processore 4 x Intel (R) Xeon (R) Platinum 8260 CPU @ 2.40 GHz, 24 core
Memoria 24 x 16GB DDR4 2933MT/s DIMM-384GB
Sistema operativo Red Hat Enterprise Linux Server versione 7,6 (Maipo)
Versione del kernel 3.10.0-957.el7.x86_64
Interconnessione 1x Mellanox ConnectX-6 Single Port HDR100 adapter
Versione di OFED 4.7-3.2.9.0

Configurazione del client della tabella 2

I server e i client sono connessi tramite una rete HDR100 e i dettagli di rete riportati nella tabella 3 riportata di seguito:  

Switch InfiniBand QM8790 Mellanox Quantum HDR Edge Switch-IU con porte 80x HDR 100 100 GB/s (con cavi Splitter)
Switch di gestione Dell Networking Switch S3048-ON ToR-1U con porte 48x 1GbE, 4x SFP + 10 GbE

Tabella 3. Rete
 

Torna all'inizio

 


 

Letture e scritture sequenziali N-N

Le letture e le Scritture sequenziali vengono misurate utilizzando la modalità di lettura e scrittura sequenziale di IOzone. Questi test sono stati condotti su un numero di thread a partire da 1 in potenza di 2, fino a 512 thread. In ciascun thread è stato generato un numero uguale di file, poiché questo test funziona su un file per thread o su un caso N-N. I processi sono stati distribuiti su 8 nodi client fisici in modo Round Robin, in modo che le richieste siano equamente distribuite con il bilanciamento del carico.

Per i conteggi dei thread 16 e sopra una dimensione di file aggregata di 8 TB è stato scelto per ridurre al minimo gli effetti della memorizzazione nella cache dai server e dai client BeeGFS. Per i conteggi dei thread inferiori a 16, la dimensione del file è 768 GB per thread (cioè 1,5 TB per 2 thread, 3TB per 4 thread e 6 TB per 8 thread). All'interno di un determinato test, le dimensioni dei file aggregate utilizzate erano equamente suddivise tra il numero di thread. Una dimensione record di 1MiB è stata utilizzata per tutte le esecuzioni. Il comando utilizzato per i test sequenziali N-N è riportato di seguito:

Scritture e letture sequenziali: IOzone-i $test-c-e-w-r 1m-s $Size-t $Thread-+ n-+ m/Path/to/threadlist


Anche le cache del sistema operativo sono state eliminate sui server tra le iterazioni, nonché tra i test di scrittura e lettura eseguendo il comando:

# Sync & & Echo 3 >/proc/sys/VM/drop_caches


Il file System è stato smontato e rimontato sui client tra le iterazioni e tra i test di scrittura e lettura per cancellare la cache.

 

SLN320833_en_US__5image005

Figura 5: prestazioni di lettura sequenziale N-N

Nella figura 5, il throughput di picco di 23,70 GB/s è raggiunto in 256 thread e la scrittura di picco di 22,07 GB/s raggiunto in 512 thread. Le prestazioni di scrittura a singolo thread sono 623 MB/s e la lettura è di 717 MB/s. Le prestazioni scalano quasi linearmente fino a 32 thread. Dopo di ciò, vediamo che le letture e le Scritture si saturano Man Rescale. Questo ci porta a comprendere che le prestazioni complessive sostenute di questa configurazione per le letture sono ≈ 23GB/s e che per le Scritture è ≈ 22GB/s con i picchi come menzionato in precedenza. Le letture sono molto vicine o leggermente superiori rispetto a quelle di scrittura, indipendentemente dal numero di thread utilizzati.


Torna all'inizio


 

Letture e scritture casuali N-N

IOzone è stato utilizzato in modalità Random per valutare le prestazioni di i/o casuali.  I test sono stati condotti sui conteggi dei thread da 16 a 512 thread.  L'opzione di i/o diretta (-I) è stata utilizzata per eseguire IOzone in modo che tutte le operazioni ignorino la cache buffer e vadano direttamente sul disco. È stato utilizzato il numero di stripe BeeGFS di 1 e dimensione del chunk di 1MB. Le dimensioni della richiesta sono state impostate su 4KiB. Le prestazioni sono state misurate in operazioni di I/O al secondo (IOPS). Le cache del sistema operativo sono state eliminate tra le esecuzioni sui server BeeGFS. Il file System è stato smontato e rimontato sui client tra le iterazioni del test. Il comando utilizzato per i test di lettura e scrittura casuali è il seguente:

IOzone-i 2-w-c-O-I-r 4K-s $Size-t $Thread-+ n-+ m/Path/to/threadlist

SLN320833_en_US__6image006

Figura 6n-n performance casuale

La figura 6 Mostra che le prestazioni di scrittura raggiungono 31K IOPS e rimangono stabili da 32 thread a 512 thread. Al contrario, le prestazioni di lettura aumentano con l'aumento del numero di richieste di i/o con una performance massima di circa 47K IOPS a 512 thread, che è il numero massimo di thread testati per la soluzione. ME4 richiede una profondità di coda più elevata per raggiungere le massime prestazioni di lettura e il grafico indica che è possibile ottenere prestazioni più elevate se si eseguono i thread simultanei 1024. Tuttavia, poiché le prove sono state eseguite solo con 8 client, non abbiamo i core sufficienti per eseguire il numero di thread 1024.


Torna in alto


 

Parametri di sintonizzazione utilizzati

I seguenti parametri di ottimizzazione sono stati effettuati durante l'esecuzione della caratterizzazione delle prestazioni della soluzione.

Il numero di stripe predefinito per BeeGFS è 4. Tuttavia, le dimensioni del chunk e il numero di destinazioni per file (numero di Stipe) possono essere configurate in base a una o più file. Per tutti questi test, BeeGFS Stripe Size è stato impostato su 1MB e lo stripe count è stato impostato su 1 come mostrato di seguito:

$beegfs-CTL--getentryinfo--mount =/mnt/beegfs//mnt/beegfs/benchmark/--verbose
Tipo di voce: directory
EntryID: 1-5E72FAD3-1
parentID:
nodo metadati root: MetaA-numa0-1 [ID: 1]
pattern Stripe Dettagli:
+ tipo: RAID0
+ ChunkSize: 1m
+ Numero di destinazioni di storage: desiderato: 1
+ Storage pool: 1 (impostazione predefinita)
percorso hash inode: 61/4C/1-5E72FAD3-1

Le pagine trasparenti enormi sono state disattivate e le seguenti impostazioni di memoria virtuale configurate nei server di metadati e storage:

  • vm.dirty_background_ratio = 5
  • vm.dirty_ratio = 20
  • vm.min_free_kbytes = 262144
  • vm.vfs_cache_pressure = 50

Sono state utilizzate le seguenti opzioni di ottimizzazione per i device Block di storage sui server di storage.

  • Scadenza dell'utilità di pianificazione IO: scadenza
  • Numero di richieste di pianificazione: 2048:
  • Quantità massima di dati di lettura anticipata: 4096

In aggiunta al precedente, sono state utilizzate le seguenti opzioni di ottimizzazione BeeGFS:
 
beegfs-meta. conf

connMaxInternodeNum = 64
tuneNumWorkers = 12

tuneUsePerUserMsgQueues = True # facoltativo
tuneTargetChooser = RoundRobin (benchmarking)

beegfs-storage. conf

connMaxInternodeNum = 64
tuneNumWorkers = 12
tuneUsePerTargetWorkers = true
tuneUsePerUserMsgQueues = True # facoltativo
tuneBindToNumaZone = 0
tuneFileReadAheadSize = 2m

beegfs-client. conf

connMaxInternodeNum = 24
connBufSize = 720896


Torna all'inizio


 

Conclusione e lavoro futuro

 

Questo Blog annuncia la release di Dell EMC soluzione di storage ad alta capacità BeeGFS e ne evidenzia le caratteristiche di prestazioni. Questa soluzione offre una performance di picco di 23,7 GB/s per le letture e 22,1 GB/s per le Scritture utilizzando benchmark sequenziali IOzone. Vediamo anche il picco delle scritture casuali a 31.3 K IOPS e letture casuali su 47,5 K IOPS.

Come parte dei passaggi successivi, valuteremo le prestazioni dei metadati e i thread N a un singolo file (N-1) per le prestazioni IOR di questa soluzione. Un libro bianco che descrive i metadati e le prestazioni IOR della soluzione con dettagli aggiuntivi riguardanti le considerazioni di progettazione per questa soluzione ad alta capacità con High Availability dovrebbe essere pubblicato dopo il completamento del processo di convalida e valutazione.


Torna all'inizio


Article Properties


Affected Product

High Performance Computing Solution Resources

Last Published Date

27 Apr 2021

Version

5

Article Type

Solution