Zu den Hauptinhalten
  • Bestellungen schnell und einfach aufgeben
  • Bestellungen anzeigen und den Versandstatus verfolgen
  • Profitieren Sie von exklusiven Prämien und Rabatten für Mitglieder
  • Erstellen Sie eine Liste Ihrer Produkte, auf die Sie jederzeit zugreifen können.
  • Verwalten Sie mit der Unternehmensverwaltung Ihre Dell EMC Seiten, Produkte und produktspezifischen Kontakte.

Dell EMC Ready oplossingen voor HPC BeeGFS High Performance Storage (in het Engels)

Zusammenfassung: PowerEdge R740xd, PowerEdge R640, PowerSwitch S3048-ON, Mellanox SB7890, BeeGFS v7.1.3, HPC en AI Innovation Lab, HPC, BeeGFS High Performance Storage Solution, IOzone, sequentiële lees- en schrijfprestaties, willekeurige lees- en schrijfprestaties ...

Dieser Artikel wurde möglicherweise automatisch übersetzt. Wenn Sie eine Rückmeldung bezüglich dessen Qualität geben möchten, teilen Sie uns diese über das Formular unten auf dieser Seite mit.

Artikelinhalt


Symptome

Artikel geschreven door Nirmala Sundararajan van het Dell EMC HPC en AI Innovation Lab in november 2019

Ursache

Dell EMC Ready oplossingen voor HPC BeeGFS High Performance Storage (in het Engels)

Lösung

Inhoudsopgave

  1. Inleiding
  2. Referentiearchitectuur voor oplossingen
  3. Hardware- en softwareconfiguratie
  4. Details configuratie oplossing
  5. R740xd, 24x NVMe-schijven, details over CPU-toewijzing
  6. Karakterisering van prestaties
  7. Conclusie en toekomstig werk
     

Inleiding

Het Dell EMC HPC-team kondigt met trots de release aan van de 'Dell EMC Ready Solutions for HPC BeeGFS Storage', de nieuwste toevoeging aan het HPC-storageportfolio. Deze oplossing maakt gebruik van R740xd-servers, elk met 24x Intel P4600 1,6TB NVMe, Mixed Use Express Flash-stations en twee Mellanox ConnectX-5 InfiniBand EDR-adapters. In deze configuratie met 24 NVMe-schijven maken 12x NVMe SSD's verbinding met een PCIe-switch en is elke switch verbonden met één CPU via een x16 PCIe-uitbreidingskaart. Bovendien is elke IB-interface verbonden met één CPU. Een dergelijke evenwichtige configuratie, waarbij elke CPU is aangesloten op één InfiniBand-adapter en 12 NVMe SSD's verwerkt, biedt maximale prestaties door ervoor te zorgen dat de processors evenveel bezig zijn met het verwerken van I/O-verzoeken van en naar de NVMe-schijven.

De focus van de oplossing ligt op hoogwaardige I/O en deze is ontworpen als een snelle krasoplossing.  De kern van de oplossing is het gebruik van snelle NVMe SSD's die een zeer hoge bandbreedte en lage latentie bieden door de knelpunten in de scheduler en wachtrij uit de bloklaag te verwijderen. Het BeeGFS-bestandssysteem ondersteunt ook een hoge totale I/O-doorvoer

Referentiearchitectuur voor oplossingen

Afbeelding 1 toont de referentiearchitectuur van de oplossing. De beheerserver is alleen via Ethernet verbonden met de metadata- en opslagservers. Elke metadata- en opslagserver heeft twee InfiniBand-koppelingen en is via Ethernet verbonden met het privénetwerk. De clients hebben één InfiniBand-koppeling en zijn via Ethernet verbonden met de privé-interface.
Dell EMC Ready oplossingen voor HPC BeeGFS Storage - referentiearchitectuur
Figuur 1:  Dell EMC Ready oplossingen voor HPC BeeGFS Storage - referentiearchitectuur

Hardware- en softwareconfiguratie

Tabel 1 en 2 beschrijven de hardwarespecificaties van respectievelijk de beheerserver en de metadata-/storageserver. Tabel 3 beschrijft de softwareversies die voor de oplossing worden gebruikt.

 

Tabel 1 PowerEdge R640-configuratie (beheerserver)
Server Dell EMC PowerEdge R640
Processor 2 x Intel Xeon Gold 5218 2,3 GHz, 16 cores
Geheugen 12 x 8 GB DDR4 2666 MT/s DIMM's - 96 GB
Lokale schijven 6 x 300 GB 15.000 rpm SAS 2,5-inch HDD's
RAID-controller PERC H740P geïntegreerde RAID-controller
Out-of-band-beheer iDRAC9 Enterprise met Lifecycle Controller
Voedingen Dubbele voedingseenheden van 1100 W
BIOS-versie 2.2.11
Besturingssysteem CentOS™ 7.6
Kernel-versie 3.10.0-957.27.2.el7.x86_64

 

Tabel 2: PowerEdge R740xd-configuratie (metadata en storageservers)
Server Dell EMC PowerEdge R740xd
Processor 2 x Intel Xeon Platinum 8268 CPU @ 2,90 GHz, 24 cores
Geheugen 12 x 32 GB DDR4 2933 MT/s DIMM's - 384 GB
BOSS-kaart 2 x 240 GB M.2 SATA SSD's in RAID 1 voor besturingssysteem
Lokale schijven 24 x Dell Express Flash NVMe P4600 1,6 TB 2,5" U.2
Mellanox EDR-kaart 2x Mellanox ConnectX-5 EDR-kaart (slots 1 en 8)
Out-of-band-beheer iDRAC9 Enterprise met Lifecycle Controller
Voedingen Dubbele voedingseenheden van 2000 W

 

Tabel 3 Softwareconfiguratie (metadata- en opslagservers)
BIOS 2.2.11
CPLD 1.1.3
Besturingssysteem CentOS™ 7.6
Kernel-versie 3.10.0-957.el7.x86_64
iDRAC 3.34.34.34
Tools voor systeembeheer OpenManage Server Administrator 9.3.0-3407_A00
Mellanox OFED 4.5-1.0.1.0
NVMe SSD's QDV1DP13
*Intel ® Data Center Tool  3.0.19
BeeGFS 7.1.3
Grafana 6.3.2
InfluxDB 1.7.7
IOzone-benchmark 3.487
*Voor beheer en firmware-update van Intel P4600NVMe SSD's

Details configuratie oplossing

De BeeGFS-architectuur bestaat uit vier belangrijke diensten:
  • Beheerservice
  • Metadataservice
  • Storage-service
  • Klantenservice
Met uitzondering van de clientservice, die een kernelmodule is, zijn de beheer-, metadata- en opslagservices gebruikersruimteprocessen. Afbeelding 2 illustreert hoe de referentiearchitectuur van de Dell EMC Ready Solutions voor HPC BeeGFS Storage overeenkomt met de algemene architectuur van het BeeGFS-bestandssysteem.
BeeGFS-bestandssysteem op PowerEdge R740xd met NVMe SSD's
Figuur 2:  BeeGFS-bestandssysteem op PowerEdge R740xd met NVMe SSD's

Beheerservice

Elk BeeGFS-bestandssysteem of elke bijbehorende naamruimte heeft slechts één beheerservice. De beheerservice is de eerste service die moet worden ingesteld, omdat wanneer we alle andere services configureren, ze zich moeten registreren bij de beheerservice.  Een PowerEdge R640 wordt gebruikt als beheerserver. Naast het hosten van de beheerservice (beegfs-mgmtd.service), host het ook de monitoringservice (beegfs-mon.service) die statistieken van het systeem verzamelt en aan de gebruiker ter beschikking stelt met behulp van de tijdreeksdatabase InfluxDB. Voor de visualisatie van gegevens biedt beegfs-mon vooraf gedefinieerde Grafana-deelvensters die kant-en-klaar kunnen worden gebruikt. De beheerserver heeft 6 x 300 GB HDD's geconfigureerd in RAID 10 voor het besturingssysteem en InfluxDB.

Metadataservice

De metadataservice is een scale-outservice, wat betekent dat er veel metadataservices in een BeeGFS-bestandssysteem kunnen zijn. Elke metadataservice heeft echter precies één metadatadoel om metadata op te slaan.  Op het metadatadoel maakt BeeGFS één metadatabestand per door de gebruiker gemaakt bestand. BeeGFS-metadata worden per directory gedistribueerd. De metadataservice levert de data striping-informatie aan de clients en is niet betrokken bij de datatoegang tussen het openen en sluiten van bestanden.

A PowerEdge R740xd met 24x Intel P4600 1,6 TB NVMe, schijven worden gebruikt voor de opslag van metadata. Aangezien de vereisten voor opslagcapaciteit voor BeeGFS-metadata erg klein zijn, werden in plaats van een speciale metadataserver alleen de 12 schijven in NUMA-zone 0 gebruikt om de MetaData T-argets(MDT's) te hosten, terwijl de resterende 12 stations op de NUMA-zonehost S Torage T-argets(ST's) hosten.

Afbeelding 3 toont de metadataserver. De 12 schijven die in de gele rechthoek zijn ingesloten, zijn de MDT's in de NUMA-zone 0, terwijl de 12 schijven in de groene rechthoek de ST's in de NUMA-zone 1 zijn. Deze configuratie voorkomt niet alleen NOMA-problemen, maar biedt ook voldoende metadatastorage om de capaciteit en prestaties naar behoefte te kunnen schalen.

Metadataserver

Afbeelding 3:  Metadataserver

Afbeelding 4 toont de RAID-configuratie van de metadataserver. Het laat zien hoe in de metadataserver de stations in de NUMA-zone 0 de MDT's hosten en die in NUMA-zone 1 de opslaggegevens, terwijl de opslagservers de ST's hosten in beide NUMA-zones.

Configuratie van stations in de metadataserver

Afbeelding 4:  Configuratie van stations in de metadataserver

De 12 schijven die worden gebruikt voor metadata, zijn geconfigureerd als 6x RAID 1-schijfgroep van 2 schijven, die elk dienen als een MDT. Er worden 6 metadataservices uitgevoerd die elk één MDT verwerken. De overige 12 storageschijven zijn geconfigureerd in 3x RAID 0-schijfgroepen van elk 4 schijven. Er worden drie storageservices uitgevoerd in de NUMA 1-zone, één service voor elke ST. De server die de metadata en storagedoelen co-host, heeft dus 6 MDT's en 3 ST's. Het voert ook 6 metadataservices en drie opslagservices uit. Elke MDT is een ext4-bestandssysteem op basis van een RAID 1-configuratie. De ST's zijn gebaseerd op het XFS-bestandssysteem dat is geconfigureerd in RAID 0.
 

Storage-service

Net als de metadataservice is ook de storageservice een scale-outservice. Er kunnen veel instanties van de storageservice in een BeeGFS-bestandssysteem zijn. In tegenstelling tot de metadataservice kunnen er echter verschillende storagedoelen per storageservice zijn.  De storageservice slaat de inhoud van het striped gebruikersbestand op, ook wel databrokbestanden

genoemd Afbeelding 5 toont de 5x PowerEdge R740xd servers die worden gebruikt als storageservers.
Afzonderlijke storageservers
Figuur 5:  Toegewezen storageservers

Elke storageserver is geconfigureerd met 6 RAID 0-groepen, elk met 4 schijven, waardoor 6 ST's per server (3 per NUMA-zone) worden gehost, zoals hieronder wordt weergegeven in afbeelding 6:

Configuratie van schijven in de storageserversAfbeelding 6:  Configuratie van schijven in de storageservers

In totaal bevat de configuratie van de basisreferentiearchitectuur 6 MDT's en 33 ST's. Met vijf speciale storageservers profiteert u van een onbewerkte capaciteit van 211 TB en een bruikbare capaciteit van 190TiB. De geschatte bruikbare capaciteit in TiB = Aantal schijven x capaciteit per schijf in TB x 0,99 (overhead voor bestandssysteem) x (10^12/2^40). Dit zou ideaal zijn als mid-range scratch-oplossing met voldoende metadatastorage om het toevoegen van meer storageservers te vergemakkelijken naarmate de capaciteitsvereisten toenemen.

Op grond van de volgende factoren is gekozen voor een RAID 0-configuratie als storagedoel in plaats van een RAID 10-configuratie.
  1. Schrijfprestaties werden gemeten met behulp van de dd-opdracht door een 10 GiB-bestand te maken met een blokgrootte van 1 MiB en directe I/O voor data. Voor RAID 0-apparaten was het gemiddelde ongeveer 5,1 GB/s voor elk apparaat, terwijl voor RAID 10-apparaten het gemiddelde 3,4 GB/s voor elk apparaat was.
  2. Benchmarktests van StorageBench toonden aan dat de maximale doorvoer 5,5 GB/s was voor een RAID 0-configuratie, terwijl dit 3,4 GB/s is voor een RAID 10-configuratie. Deze resultaten zijn vergelijkbaar met wat werd verkregen met behulp van dd-opdrachten.
  3. RAID 10 biedt 50% gebruik van de schijfcapaciteit en een vergelijkbare vermindering van 50% in schrijfprestaties. Het gebruik van RAID 10 is een dure manier om storageredundantie te verkrijgen.
  4. NVMe-schijven zijn duur en bieden versnellingen die het beste kunnen worden gebruikt in een RAID 0-configuratie
 

Klantenservice

De BeeGFS-clientmodule moet worden geladen op alle hosts die toegang nodig hebben tot het BeeGFS-bestandssysteem. Wanneer de beegfs-client wordt geladen, zal deze de bestandssystemen aankoppelen die zijn gedefinieerd in hetbestand /etc/beegfs/beegfs-mounts.conf in plaats van de gebruikelijke benadering op basis van /etc/fstab.  Met deze aanpak wordt de beegfs-client net als elke andere Linux-service gestart via het opstartscript van de service. Hiermee wordt ook de BeeGFS-clientmodule automatisch opnieuw gecompileerd na systeemupdates. 

Wanneer de clientmodule wordt geladen, worden de bestandssystemen gekoppeld die zijn gedefinieerd in de beegfs-mounts.conf. Het is mogelijk om meerdere beegfs-instanties op dezelfde client te koppelen, zoals hieronder wordt weergegeven:

$ cat /etc/beegfs/beegfs-mounts.conf
/mnt/beegfs-medium /etc/beegfs/beegfs-client-medium.conf
/mnt/beegfs-small /etc/beegfs/beegfs-client-small.conf

Het bovenstaande voorbeeld toont twee verschillende bestandssystemen die op dezelfde client zijn gekoppeld. Voor deze tests werden 32x C6420 knooppunten gebruikt als clients.

R740xd, 24x NVMe-schijven, details over CPU-toewijzing


In de 24xNVMe-configuratie van de PowerEdge R740xd server zijn er twee x16 NVMe-bridgekaarten die de PCIe-switch voeden op de backplane die uitwaaiert en de schijven (schijven zijn x4) aan de voorkant voeden, zoals wordt weergegeven in afbeelding 7 hieronder:


R740xd, 24x NVMe Details over CPU-toewijzingAfbeelding 7:  R740xd, 24x NVMe Gegevens over CPU-toewijzing

Bij Non-Uniform Memory Access (NUMA) is het systeemgeheugen verdeeld in zones die knooppunten worden genoemd en die zijn toegewezen aan CPU's of sockets. Toegang tot geheugen dat zich lokaal op een CPU bevindt, is sneller dan geheugen dat is aangesloten op externe CPU's op het systeem. Een applicatie met threads presteert doorgaans het beste wanneer de threads toegang hebben tot het geheugen op hetzelfde NUMA-knooppunt. De prestatie-impact van NUMA-missers is aanzienlijk, over het algemeen beginnend bij een prestatiehit van 10% of hoger. Om de prestaties te verbeteren, zijn de services geconfigureerd voor het gebruik van specifieke NUMA-zones om onnodig gebruik van UPI-cross-socketkoppelingen te voorkomen en zo de latentie te verminderen. Elke NUMA-zone verwerkt 12 schijven en maakt gebruik van een van de twee InfiniBand EDR-interfaces op de servers. Deze NUMA-scheiding wordt bereikt door de NUMA-balancering handmatig te configureren, door aangepaste systemd-eenheidsbestanden te maken en door multihoming te configureren. Daarom is de automatische NUMA-balancering uitgeschakeld, zoals hieronder weergegeven:

# cat /proc/sys/kernel/numa_balancing
0

Afbeelding 8 toont het testbed waar de InfiniBand-verbindingen met de NUMA-zone zijn gemarkeerd.  Elke server heeft twee IP-links en het verkeer via de NUMA 0-zone wordt overgedragen door interface IB0, terwijl het verkeer via de NUMA 1-zone wordt afgehandeld door interface IB1.
Testbed-configuratie
Figuur 8:  Testbed-configuratie
 

Karakterisering van prestaties

In dit gedeelte wordt de prestatie-evaluatie beschreven die helpt bij het kenmerken van de Dell EMC Ready Solution voor HPC BeeGFS High Performance Storage Solution. Voor meer informatie en updates kunt u kijken naar een whitepaper die later zal worden gepubliceerd. De systeemprestaties werden geëvalueerd met behulp van de IOzone-benchmark. De oplossing wordt getest op sequentiële lees- en schrijfdoorvoer en willekeurige lees- en schrijf-IOPS. Tabel 4 beschrijft de configuratie van de C6420 servers die werden gebruikt als BeeGFS-clients voor de prestatiestudies die in deze blog worden gepresenteerd.
 
Tabel 4 clientconfiguratie
Clients 32x Dell EMC PowerEdge C6420 Compute Nodes
BIOS 2.2.9
Processor 2 x Intel Xeon Gold 6148 CPU bij 2,40GHz met 20 cores per processor
Geheugen  12 x 16 GB DDR4 2666 MT/s DIMM's - 192 GB
BOSS-kaart 2 x 120 GB M.2-opstartschijven in RAID 1 voor besturingssysteem
Besturingssysteem Red Hat Enterprise Linux Server release 7.6
Kernel-versie 3.10.0-957.el7.x86_64
Interconnect 1x Mellanox ConnectX-4 EDR-kaart
OFED-versie 4.5-1.0.1.0

Sequentieel schrijven en lezen N-N

Om sequentiële lees- en schrijfbewerkingen te evalueren, werd de IOzone-benchmark gebruikt in de sequentiële lees- en schrijfmodus. Deze tests werden uitgevoerd op meerdere threadtellingen, beginnend bij 1 thread en oplopend in machten van 2, tot 1024 threads. Bij elk aantal threads is een gelijk aantal bestanden gegenereerd, aangezien deze test werkt op één bestand per thread of in het geval van N-N-bestand van N-clients naar N-bestand. De processen werden op een round robin of cyclische manier verdeeld over 32 fysieke client nodes, zodat de aanvragen gelijkmatig verdeeld zijn en er sprake is van load balancing. Er is een totale bestandsgrootte van 8 TB geselecteerd, die gelijkmatig is verdeeld over het aantal threads binnen een bepaalde test. De totale bestandsgrootte is groot genoeg gekozen om de effecten van caching van zowel de servers als van BeeGFS-clients te minimaliseren. IOzone werd uitgevoerd in een gecombineerde schrijfmodus en vervolgens lezen (-i 0, -i 1) om het mogelijk te maken de grenzen tussen de bewerkingen te coördineren. Voor deze tests en resultaten hebben we voor elke run een recordgrootte van 1MiB gebruikt. De opdrachten die worden gebruikt voor sequentiële N-N-tests worden hieronder gegeven:

Sequentiële schrijf- en leesbewerkingen: iozone -i 0 -i 1 -c -e -w -r 1m -i -s $Size -t $Thread -+n -+m /path/to/threadlist

OS-caches werden ook verwijderd of opgeschoond op de clientknooppunten tussen iteraties en tussen schrijf- en leestests door de volgende opdracht uit te voeren:

# sync & echo 3 > /proc/sys/vm/drop_caches

Het standaard aantal strepen voor Beegfs is 4. De grootte van de brokken en het aantal doelen per bestand kunnen echter per map worden geconfigureerd. Voor al deze tests is de BeeGFS-stripegrootte gekozen op 2 MB en het aantal strepen op 3, omdat we drie doelen per NUMA-zone hebben, zoals hieronder weergegeven:

$ beegfs-ctl --getentryinfo --mount=/mnt/beegfs /mnt/beegfs/benchmark --verbose
EntryID: 0-5D9BA1BC-1
ParentID: root
Metadata node: node001-numa0-4 [ID: 4]
De details van het streeppatroon:
+ Type: RAID0
+ Chunksize: 2M
+ Aantal storagedoelen: gewenst:

3 okt.+ Storage Pool: 1 (Default)
Inode hash path: 7/5E/0-5D9BA1BC-1

De transparante enorme pagina's zijn uitgeschakeld en de volgende afstemmingsopties zijn aanwezig op de metadata- en opslagservers:

  • vm.dirty_background_ratio = 5 
  • vm.dirty_ratio = 20 
  • vm.min_free_kbytes = 262144 
  • vm.vfs_cache_pressure = 50
  • vm.zone_reclaim_mode = 2 
  • kernel.numa_balancing = 0

Naast het bovenstaande zijn de volgende BeeGFS-tuningopties gebruikt: 

  • De parameter tuneTargetChooser is ingesteld op "roundrobin" in het metadataconfiguratiebestand 
  • De parameter tuneNumWorkers is ingesteld op 24 voor metadata en 32 voor storage 
  • De parameter connMaxInternodeNum is ingesteld op 32 voor metagegevens en 12 voor opslag en 24 voor clients

Sequentiële IOzone 8 TB geaggregeerde bestandsgrootte
Afbeelding 9:  Sequentiële IOzone 8 TB geaggregeerde bestandsgrootte


In afbeelding 9 zien we dat de maximale leesprestaties 132 GB/s zijn bij 1024 threads en de maximale schrijfprestaties 121 GB/s bij 256 threads. Elke schijf kan 3,2 GB/s piekleesprestaties en 1,3 GB/s piekschrijfprestaties leveren, wat een theoretische piek van 422 GB/s voor leesbewerkingen en 172 GB/s voor schrijfbewerkingen mogelijk maakt. Hier is het netwerk echter de beperkende factor. We hebben in totaal 11 InfiniBand EDR-koppelingen voor de storageservers in de set-up. Elke koppeling kan een theoretische piekprestatie leveren van 12,4 GB/s, wat een theoretische piekprestatie van 136,4 GB/s mogelijk maakt. De maximale lees- en schrijfprestaties zijn respectievelijk 97% en 89% van de theoretische piekprestaties.

De schrijfprestaties van de single-thread zijn ~3 GB/s en worden gelezen met ~3 GB/s. We zien dat de schrijfprestaties lineair schaalt, piekt bij 256 threads en vervolgens begint af te nemen. Bij lagere aantallen threads zijn de lees- en schrijfprestaties hetzelfde. Omdat we tot 8 threads 8 clients hebben die 8 bestanden schrijven voor 24 doelen, wat betekent dat niet alle storagedoelen volledig worden benut. Het systeem heeft 33 storagedoelen en daarom zijn er minstens 11 threads nodig om alle servers volledig te benutten. De leesprestaties vertonen een gestage lineaire toename met de toename van het aantal gelijktijdige threads en we zien bijna vergelijkbare prestaties bij 512 en 1024 threads.

We zien ook dat de leesprestaties lager zijn dan schrijfbewerkingen voor threadtellingen van 16 tot 128 en dat de leesprestaties vervolgens beginnen te schalen. Dit komt omdat, terwijl een PCIe-leesbewerking een niet-geboekte bewerking is, die zowel een aanvraag als een voltooiing vereist, een PCIe-schrijfbewerking een fire and forget-bewerking is. Zodra het Transaction Layer Packet is overgedragen aan de Data Link Layer, is de bewerking voltooid. Een schrijfbewerking is een "Geboekte" bewerking die alleen uit een aanvraag bestaat.

De leesdoorvoer is doorgaans lager dan de schrijfdoorvoer, omdat voor leesbewerkingen twee transacties nodig zijn in plaats van één schrijfbewerking voor dezelfde hoeveelheid data. PCI Express gebruikt een gesplitst transactiemodel voor leesbewerkingen. De leestransactie omvat de volgende stappen:

  • De aanvrager verzendt een Memory Read Request (MRR).
  • De completer stuurt de bevestiging naar MRR.
  • De voltooiing retourneert een Voltooiing met gegevens.

De leesdoorvoer is afhankelijk van de vertraging tussen het moment waarop de leesaanvraag wordt uitgevoerd en de tijd die de completer nodig heeft om de gegevens te retourneren. Wanneer de applicatie echter voldoende leesverzoeken geeft om deze vertraging te dekken, wordt de doorvoer gemaximaliseerd. Dat is de reden waarom, hoewel de leesprestaties minder zijn dan die van de schrijfbewerkingen van 16 threads naar 128 threads, we een verhoogde doorvoer meten wanneer het aantal aanvragen toeneemt.  Een lagere doorvoer wordt gemeten wanneer de aanvrager wacht op voltooiing voordat volgende aanvragen worden ingediend. Een hogere doorvoersnelheid wordt geregistreerd wanneer er meerdere aanvragen worden gedaan om de vertraging af te schrijven nadat de eerste data zijn geretourneerd.


Willekeurige schrijf- en leesbewerkingen N-N

Om de willekeurige IO-prestaties te evalueren, werd IOzone gebruikt in de willekeurige modus. Er werden tests uitgevoerd op het aantal threads vanaf 4 threads tot maximaal 1024 threads. De directe IO-optie (-I) werd gebruikt om IOzone uit te voeren, zodat alle bewerkingen de buffercache omzeilen en rechtstreeks naar de schijf gaan. Er werd een aantal BeeGFS-strepen van 3 en een brokgrootte van 2 MB gebruikt. Een aanvraaggrootte van 4KB wordt gebruikt op IOzone. De prestaties worden gemeten in I/O-bewerkingen per seconde (IOPS). De OS-caches werden gedropt tussen de runs op de BeeGFS-servers en BeeGFS-clients. De opdracht die wordt gebruikt voor het uitvoeren van de willekeurige schrijf- en leesbewerkingen wordt hieronder gegeven:

Willekeurige lees- en schrijfbewerkingen: iozone -i 2 -w -c -O -I -r 4K -s $Size -t $Thread -+n -+m /path/to/threadlist


Willekeurige lees- en schrijfprestaties met behulp van IOzone met een totale bestandsgrootte van 8 TB
Afbeelding 10:  Willekeurige lees- en schrijfprestaties met behulp van IOzone met een totale bestandsgrootte

van 8 TB De willekeurige schrijfbewerkingen pieken bij ~3,6 miljoen IOPS bij 512 threads en de willekeurige leesbewerkingen pieken bij ~3,5 miljoen IOPS bij 1024 threads, zoals weergegeven in afbeelding 10. Zowel de schrijf- als de leesprestaties laten hogere prestaties zien wanneer er een hoger aantal IO-aanvragen is. Dit komt omdat NVMe standaard tot 64K I/O-wachtrij en tot 64K opdrachten per wachtrij ondersteunt. Deze grote groep NVMe-wachtrijen biedt hogere niveaus van I/O-parallellisme en daarom zien we IOPS van meer dan 3 miljoen.


Conclusie en toekomstig werk

In deze blog wordt de release van de Dell EMC High Performance BeeGFS storageoplossing aangekondigd en worden de prestatiekenmerken ervan belicht. De oplossing heeft een piek sequentiële lees- en schrijfprestaties van respectievelijk ~132 GB/s en ~121 GB/s en de willekeurige schrijfbewerkingen pieken bij ~3,6 miljoen IOPS en willekeurige leesbewerkingen bij ~3,5 miljoen IOPS.

Deze blog is deel één van "BeeGFS Storage Solution" die is ontworpen met een focus op scratch space met hoge prestaties. Deel 2 van de blogserie waarin wordt beschreven hoe de oplossing kan worden geschaald door het aantal servers te verhogen om de prestaties en capaciteit te verhogen. In deel 3 van de blogserie worden extra functies van BeeGFS besproken en wordt het gebruik van StorageBench, de benchmark voor ingebouwde storagedoelen van BeeGFS, belicht.

Als onderdeel van de volgende stappen zullen we later een whitepaper publiceren met de metadataprestaties en de prestaties van de N-threads naar 1-bestand IOR-bestand en met aanvullende details over ontwerpoverwegingen, afstemming en configuratie.


Verwijzingen

[1] BeeGFS-documentatie: 
https://www.beegfs.io/wiki/[2] Hoe sluit ik twee interfaces aan op hetzelfde subnet:  https://access.redhat.com/solutions/30564

Artikeleigenschaften


Betroffenes Produkt

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

Letztes Veröffentlichungsdatum

25 März 2024

Version

7

Artikeltyp

Solution