Artikkelin ovat kirjoittaneet Nirmala Sundararajan, HPC ja AI Innovation Lab, huhtikuu 2020
Dell EMC Ready Solutions for HPC BeeGFS High Capacity Storage on täysin tuettu, suurikapasiteettinen rinnakkaistiedostojärjestelmän tallennusratkaisu. Tässä blogissa käsitellään ratkaisuarkkitehtuuria, miten se on viritetty HPC:n suorituskykyä varten, ja esitellään I/O-suorituskykyä käyttämällä sekä IOZone-järjestys- että satunnaisia vertailuarvoja. NVMe-laitteille rakennettua BeeGFS-suorituskykyistä tallennusratkaisua kuvattiin tässä marraskuussa 2019 julkaistussa blogissa. Arkkitehtuuri korosti suorituskykyä, ja tässä kuvattu ratkaisu on suuren kapasiteetin tallennusratkaisu. Nämä kaksi BeeGFS-ratkaisua ovat erilaisia suunnittelutavoitteidensa ja käyttötapausten suhteen. Suorituskykyinen ratkaisu on suunniteltu naarmuuntumisratkaisuksi, joka on pysähdyspaikka ohimeneviä tietoaineistoja varten, joita ei yleensä säilytetä työn käyttöiän jälkeen. Suurikapasiteettinen ratkaisu käyttää 4x Dell EMC PowerVault ME4084 -matriiseja, joissa on yhteensä 336 asemaa, ja sen raakakapasiteetti on 4PB, jos se on varustettu 12 TB SAS-asemalla.
Dell EMC Ready Solution for HPC BeeGFS High Capacity Storage koostuu hallintapalvelimesta, metatietopalvelimista, tallennuspalvelimista ja niihin liittyvistä tallennusmatriiseista. Ratkaisu tarjoaa tallennustilan, joka käyttää yhtä nimitilaa, jota klusterin laskentasolmut helposti käyttävät. Seuraavassa kuvassa on ratkaisun viitearkkitehtuuri näiden ensisijaisten komponenttien kanssa:
Kuvassa 1 esitetään liuoksen viitearkkitehtuuri.
Kuva 1: Dell EMC Valmis ratkaisu HPC BeeGFS -tallennustilaan
Kuvassa 1 BeeGFS-valvontadimonia käyttävä hallintapalvelin on PowerEdge R640. Kaksi METAData Serveriä (MDS) ovat PowerEdge R740 -palvelimia, joiden käytettävyys on aktiivinen. MDS-pari on yhdistetty 2U, PowerVault ME4024 -taulukkoon 12 Gt/s SAS-linkeillä . ME4024-tallennustaulukko isännöi METAData-kohteita (MDT). Tallennuspalvelimiksi (SS) käytetään toista PowerEdge R740 -palvelinparia, joka on myös aktiivisessa korkean käytettävyyden kokoonpanossa. Tämä SS-pari on yhdistetty neljään täyteen täytettyyn PowerVault ME4084 -tallennusjärjestelmään 12 Gt/s SAS-linkkien avulla. ME4084-matriisit tukevat 4 Tb:n, 8 Tb:n, 10 Tt:n tai 12 Tl:n NL SAS 7.2 K RPM -kiintolevyasemaa (HDD ja isännöivät BeeGFS-tiedostojärjestelmän tallennuskohteita). Tämä ratkaisu käyttää Mellanox InfiniBand HDR100 tietoverkossa. Asiakkaat ja palvelimet on yhdistetty 1U Mellanox Quantum HDR Edge Switch QM8790 -kytkimeen, joka tukee jopa 80 HDR100-porttia HDR-jakajakaapeleilla.
Seuraavissa taulukoissa kuvataan ratkaisulle vahvistetut laitteistoerifikaatiot ja ohjelmistoversiot.
Hallintapalvelin | 1 x Dell EMC PowerEdge R640 |
---|---|
Metatietopalvelimet (MDS) | 2 x Dell EMC PowerEdge R740 |
Tallennuspalvelimet (SS) | 2 x Dell EMC PowerEdge R740 |
suoritin | Hallintapalvelin: 2 x Intel Xeon Gold 5218 @ 2.3GHz, 16 ydintä MDS ja SS: 2 x Intel Xeon Gold 6230 @ 2,10 GHz, 20 ydintä suoritinta kohti |
Muisti | Hallintapalvelin: 12 x 8 Gt DDR4 2666MT/s DIMMejä - 96 Gt MDS ja SS: 12x 32 Gt DDR4 2933MT/s DIMMit - 384 Gt |
InfiniBand HCA (paikka 8) | 1x Mellanox ConnectX-6 yksiporttinen HDR100-sovitin MDS: ää ja SS: ää kohti |
Ulkoisen tallennustilan ohjaimet | 2x Dell 12Gbps SAS HBAs (kullakin MDS: llä) 4x Dell 12Gbps SAS HBAs (kussakin SS: ssä) |
Tietojen tallennustila | 4x Dell EMC PowerVault ME4084 -kotelot täytetään täyteen yhteensä 336 asemalla 2,69 PB raakavarastointikapasiteetilla, jos ne on varustettu 8 Tt:n SAS-taajuusmilla 4x ME4084:ssä |
Metatietojen tallennustila | 1x Dell EMC PowerVault ME4024 -kotelo, jossa on 24 asemaa |
RAID-ohjaimet | Kaksipuoliset RAID-ohjaimet ME4084- ja ME4024-koteloissa |
Kiintolevyasemat | 84 - 8 TtB 7200 RPM NL SAS3 -asemat ME4084-koteloa kohti 24 - 960 Gt SAS3 SSD-taajuusmuksia ME4024-koteloa kohden |
Käyttöjärjestelmä | CentOS Linux julkaisu 8.1.1911 (Ydin) |
Kernel-versio | 4.18.0-147.5.1.el8_1.x86_64 |
Mellanox OFED -versio | 4.7-3.2.9.0 |
Grafana | 6.6.2-1 |
Tulva-ATE | 1.7.10-1 |
BeeGFS FILE SYSTEM | 7,2 beetaversiota2 |
Taulukko 1: Testipenkin kokoonpano
Huomautus: Suorituskyvyn luonnehdinnassa on käytetty BeeGFS-versiota 7.2 beeta2.
BeeGFS-arkkitehtuuri koostuu neljästä pääpalvelusta:
Tarjolla on myös valinnainen BeeGFS-valvontapalvelu.
Ydinmoduulina olevaa asiakaspalvelua lukuun ottamatta hallinta-, metatieto- ja tallennuspalvelut ovat käyttäjätilaprosesseja. BeeGFS-palveluiden (asiakas- ja palvelinkomponenttien) yhdistelmiä on mahdollista suorittaa yhdessä samoissa koneissa. Samassa koneessa on myös mahdollista suorittaa useita BeeGFS-palvelun esiintymiä. BeeGFS:n Dell EMC -suuren kapasiteetin kokoonpanossa valvontapalvelu suoritetaan hallintapalvelimessa, metatietopalvelimilla suoritetaan useita metatietopalvelun esiintymiä ja tallennuspalvelimilla suoritetaan yksi tallennuspalvelun esiintymä. Hallintapalvelu asennetaan metatietopalvelimiin.
BeeGFS-seurantapalvelu (beegfs-mon.service) kerää BeeGFS-tilastoja ja toimittaa ne käyttäjälle aikasarjatietokannan InfluxDB avulla. Tietojen visualisointiin beegfs-mon-grafana tarjoaa ennalta määritetyt Grafana-koontinäytöt, joita voidaan käyttää laatikosta. Kaaviossa 2 on yleiskuva BeeGFS-klusterista, josta käy ilmi tallennuspalvelujen ja metatietopalvelujen määrä asennuksessa (joita kutsutaan koontinäytön solmuiksi). Siinä luetellaan myös muut käytettävissä olevat koontinäytön näkymät ja annetaan yleiskuva tallennustavoitteista.
Kuva 2 Grafanan koontinäyttö - BeeGFS-yleiskatsaus
Metatietojen tallennustilaan käytettävä ME4024-tallennusjärjestelmä on täynnä 24x 960 Gt:n SSD-yte:tä. Nämä asemat on määritetty 12x Lineaarinen RAID1 -levyryhmiin, joissa kussakin on kaksi asemaa kuvan 3 mukaisesti. Jokainen RAID1-ryhmä on MetaData-kohde.
Kuva 3 Täysin täytetty ME4024-taulukko, jossa on 12 MDT:tä
BeeGFS:ssä jokainen metatietopalvelu käsittelee vain yhden MDT:n. Koska MDT-esiintymiä on 12, metatietopalvelussa on oltava 12 esiintymää. Kumpikin metatietopalvelimista suorittaa kuusi metatietopalvelun esiintymää. Metatietokohteet on muotoiltu ext4-tiedostojärjestelmällä (ext4-tiedostojärjestelmät toimivat hyvin pienillä tiedostoilla ja pienillä tiedostotoiminnoilla). Lisäksi BeeGFS tallentaa tietoja laajennettuihin määritteeseen ja suoraan tiedostojärjestelmän inodeihin suorituskyvyn optimoimiseksi, jotka molemmat toimivat hyvin ext4-tiedostojärjestelmän kanssa.
Takaisin huipulle
Beegfs-mgmtd-palvelu on määritetty molemmissa metatietopalvelimissa. Beegfs mgmtd -myymälä alustetaan metatietotavoitteen 1 hakemistossa mgmtd alla esitetyllä tavalla:
/opt/beegfs/sbin/beegfs-setup-mgmtd -p /beegfs/metaA-numa0-1/mgmtd -S beegfs-mgmt
Hallintapalvelu käyntiin metaA-palvelimessa.
Tässä suuren kapasiteetin BeeGFS-ratkaisussa tietojen tallennustila on neljässä PowerVault ME4084 Storage -matriisissa. Lineaariset RAID-6-levyryhmät, jotka ovat 10 asemaa (8+2), luodaan kussakin matriisissa. Jokaiselle levyryhmälle luodaan yksi asema, joka käyttää kaiken tilan. Tämä johtaa kahdeksaan levyryhmään/asemaan matriisia kohden. Kussakin matriisissa on 84 asemaa, ja 8 x RAID-6-levyryhmien luominen jättää 4 asemaa, jotka voidaan määrittää matriisien maailmanlaajuisena kuumana varajärjestelmänä.
Edellä kuvatun asettelun mukaan kuvassa 1 esitetyssä peruskokoonpanossa on yhteensä 32 x RAID-6-asemia 4 x ME4084:ssä. Jokainen näistä RAID-6-asemista on määritetty BeeGFS-tiedostojärjestelmän tallennuskohteeksi (ST), jolloin tiedostojärjestelmässä on yhteensä 32 ST:tä.
Jokaisessa ME4084-matriisissa on 84 asemaa, joiden ylimmässä laatikossa on taajuusmajat numero 0-41 ja alalaatikossa numerot 42-84. Kuvassa 5 jokainen 10 aseman joukko, joka on merkitty 1–8, edustaa 8xRAID6-ryhmää. Jokaisesta RAID6-ryhmästä luodaan yksi asema. Asemat, joissa on merkintä "S", edustavat maailmanlaajuisia varaosia. Kuvassa 5 esitetään matriisin etunäkymä 8 tilavuusosan ja 4 maailmanlaajuisen varaosan kokoonpanon jälkeen.
Kuva 4 RAID 6 (8+2) -levyryhmän asettelu yhdessä ME4084:ssä
BeeGFS-asiakasmoduuli ladataan kaikkiin isäntiin, jotka vaativat pääsyn BeeGFS-tiedostojärjestelmään. Kun BeeGFS-moduuli ladataan ja beegfs-asiakaspalvelu käyntiin, palvelu ottaa käyttöön /etc / beegfs / beegfs/beegfs-mounts.conf -tiedostossa määritellyt tiedostojärjestelmät tavanomaisen lähestymistavansijasta, joka perustuu / etc / fstab . Tällä lähestymistavalla beegfs-asiakasohjelma alkaa kuten mikä tahansa muu Linux-palvelu palvelun käynnistyskomentosarjan kautta ja mahdollistaa BeeGFS-asiakasmoduulin automaattisen uudelleentäydennyksen järjestelmäpäivitysten jälkeen.
Tässä osassa esitellään Dell EMC Ready Solutions for HPC BeeGFS High Capacity Storage Solution -ratkaisun suorituskykyominaisuudet IOtsonin peräkkäisiä ja satunnaisia vertailuarvoja käyttäen. Jos etsit lisää suorituskyvyn luonnehdintaa IOR: n ja MDtestin avulla ja tietoja korkean käytettävyyden kokoonpanosta, etsi valkoinen kirja, joka julkaistaan myöhemmin.
Tallennusteho arvioitiin IOzone-vertailuarvolla (v3.487). Järjestysluku- ja kirjoitusnopeus sekä satunnaisluku- ja kirjoitus-IOPS mitattiin. Taulukossa 2 kuvataan BeeGFS-asiakkaina näissä suorituskykytutkimuksissa käytettävien PowerEdge R840 -palvelimien kokoonpano.
Asiakkaat | 8 x Dell EMC PowerEdge R840 |
---|---|
suoritin | 4 x Intel(R) Xeon(R) Platinum 8260 -suoritin @ 2,40 GHz, 24 ydintä |
Muisti | 24 x 16 Gt DDR4 2933MT/s DIMMejä - 384 Gt |
Käyttöjärjestelmä | Red Hat Enterprise Linux Server release 7.4 (Maipo) |
Kernel-versio | 3.10.0-957.el7.x86_64 |
Verkon liitäntä | 1x Mellanox ConnectX-6 yksiporttinen HDR100-sovitin |
OFED-versio | 4.7-3.2.9.0 |
Taulukko 2 Asiakkaan kokoonpano
Palvelimet ja asiakkaat on yhdistetty HDR100-verkkoon ja alla olevassa taulukossa 3 esitetyt verkkotiedot:
InfiniBand-valitsin | QM8790 Mellanox Quantum HDR Edge Switch - IU 80x HDR 100 100Gb/s -porteilla (käyttämällä jakajakaapeleita) |
---|---|
Hallinnan valitsin | Dell Networking S3048-ON ToR -kytkin -1U 48x 1GbE, 4x SFP+ 10GbE portit |
Taulukko 3: Verkostoituminen
Peräkkäiset lukemat ja kirjoitukset mitattiin IOzonen peräkkäisellä luku- ja kirjoitustilalla. Testit suoritettiin useilla eri säiemäärillä alkaen yhdestä säikeestä ja nousten toiseen potenssiin aina 64:ään säikeeseen saakka. Jokaisella säiemäärällä luotiin vastaava määrä tiedostoja, koska testi toimii yhdellä tiedostolla säiettä kohti (N–N). Prosessit jaettiin 8 fyysiselle asiakass solmulle pyöreästi niin, että pyynnöt jakautuivat tasan kuormituksen tasaamisen kanssa.
Säiemäärissä 16 ja sitä suurempi kokonaistiedostokoko 8 Tt valittiin minimoimaan välimuistiin tunkeutumisen vaikutukset palvelimilta sekä BeeGFS-asiakkailta. Jos säikeiden määrä on alle 16, tiedoston koko on 768 Gigatavua säiettä kohti (eli 1,5 Tt 2 säikeessä, 3 Tt 4 säikeessä ja 6 Tt 8 säikeessä). Missä tahansa testissä käytetyn tiedoston koostekoko jaettiin tasan säikeiden määrän kesken. Kaikissa juoksuissa käytettiin ennätyskokoa 1MiB. N-N-vaihetesteissä käytettävä komento on seuraava:
Peräkkäiset kirjoitukset ja lukemat: iozone -i $test -c -e -w -r -r 1m -s $Size -t $Thread -+n -+m /path/to/threadlist
Käyttöjärjestelmän välimuistit pudotettiin myös palvelimiin iteraatioiden välillä sekä kirjoitus- ja lukutestien välillä komennon avulla:
# synkronointi ja kaiku 3 > /proc/sys/vm/drop_caches
Tiedostojärjestelmä irrotettiin käytöstä ja se kiinnitettiin uudelleen asiakkaisiin iteraatioiden välillä sekä kirjoitus- ja lukutestien välillä välimuistin tyhjentämiseksi.
Kuva 5: Peräkkäisten lukukertojen teho - N-N
Kuvassa 5 huippunopeus 23,70 Gt/s saavutetaan 256 langalla ja huippunyksityittäin 22,07 Gt/s 512 kierteellä. Yhden säikeen kirjoitusteho on 623 Mt/s ja luku on 717 Mt/s. Suorituskyky skaalataan lähes lineaarisesti jopa 32 lankaan asti. Tämän jälkeen näemme, että se lukee ja kirjoittaa kylläisesti skaalautuessamme. Tämä saa meidät ymmärtämään, että tämän kokoonpanon yleinen kestävä suorituskyky lukemien ≈ 23 Gt / s ja että kirjoitukset ovat ≈ 22 Gt / s edellä mainituilla huipuilla. Lukemat ovat hyvin lähellä tai hieman korkeampia kuin kirjoitukset, riippumaton käytettyjen säikeiden määrästä.
IOzonea käytettiin satunnaistilassa satunnaisen IO-suorituskyvyn arviointiin. Testit tehtiin 16–512 langan langalla. Direct IO -vaihtoehtoa (-I) käytettiin IOzonen suoritamiseen niin, että kaikki toiminnot ohittavat puskurivälimuistin ja menevät suoraan levylle. BeeGFS-raitamäärä oli 1 ja lohkon koko 1MB. Pyynnön kooksi asetettiin 4KiB. Suorituskyky mitattiin I/O-toiminnoissa sekunnissa (IOPS). Käyttöjärjestelmän välimuistit pudotettiin BeeGFS-palvelimien juoksujen väliin. Tiedostojärjestelmä irrotettiin ja kiinnitettiin uudelleen asiakkaisiin testin iteraatioiden välillä. Satunnaisissa luku- ja kirjoituskokeissa käytettävä komento on seuraava:
iozone -i 2 -w -c -O -I -r 4K -s $Size -t $Thread -+n -+m /path/to/threadlist
Kuva 6N-N Satunnainen suorituskyky
Kuvasta 6 käy ilmi, että kirjoitusteho on noin 31 000 IOPS ja pysyy vakaana 32 langasta 512 säikeeseen. Sen sijaan lukuteho kasvaa, kun IO-pyyntöjen määrä kasvaa, ja niiden suurin suorituskyky on noin 47 000 IOPS 512 säikeessä, mikä on ratkaisulle testattujen säikeiden enimmäismäärä. ME4 vaatii korkeamman jonosyvyyden maksimaalisen lukutehokkuusasteen saavuttamiseksi, ja kaavio osoittaa, että voimme saada korkeamman suorituskyvyn, jos suoritamme 1024-samanaikaiset säikeet. Koska testit tehtiin kuitenkin vain 8 asiakkaan kanssa, meillä ei ollut tarpeeksi ytimä vuoden 1024 säiemäärän ajamiseen.
Takaisin huipulle
Seuraavat viritysparametrit olivat käytössä liuoksen suorituskyvyn luonnehdinnan aikana.
BeeGFS:n oletusraitamäärä on 4. Lohkon koko ja kohteiden määrä tiedostoa kohden (stipe-määrä) voidaan kuitenkin määrittää hakemisto- tai tiedostokohtaisesti. Kaikissa näissä testeissä BeeGFS-raitakoko asetettiin 1MB: hen ja raitojen määräksi asetettiin 1 alla esitetyllä tavalla:
$beegfs-ctl --getentryinfo --mount=/mnt/beegfs/ /mnt/beegfs/benchmark/ --verbose
Merkinnän tyyppi:
hakemiston EntryID: 1-5E72FAD3-1
ParentID:
päämetatietosolmu: metaA-numa0-1 [TUNNUS: 1]
Raitakuvion tiedot:
+ Tyyppi: RAID0
+ Lohkon koko: 1M(1M)
+ Varastointikohteiden määrä: haluttu: 1 1 1
+ Säilytysallas: 1 (Oletus)
Inode-hash-polku: 61/4C/1-5E72FAD3-1
Läpinäkyvät valtavat sivut poistettiin käytöstä, ja seuraavat metatieto- ja tallennuspalvelimiin määritetyt näennäismuistiasetukset:
Seuraavia viritysasetuksia käytettiin tallennuspalvelimien tallennuslohkolaitteissa.
Edellä mainittujen lisäksi käytettiin seuraavia BeeGFS-erityisviritysvaihtoehtoja:
beegfs-meta.conf -sivusto
connMaxInternodeNum = 64
tuneNumWorkers = 12
tuneUsePerUserMsgQueues = true #
Valinnainen sävelTargetChooser = roundrobin (benchmarking)
beegfs-storage.conf -sivusto
connMaxInternodeNum = 64
tuneNumWorkers = 12
tuneUsePerTargetWorkers = true
tuneUsePerUserMsgQueues = true # Valinnainen
sävelBindToNumaZone = 0
tuneFileReadAheadSize = 2m
beegfs-client.conf -sivusto
connMaxInternodeNum = 24
connBufSize = 720896
Tämä blogi ilmoittaa Dell EMC BeeGFS High Capacity Storage Solutionin julkaisusta ja korostaa sen suorituskykyominaisuuksia. Tämän ratkaisun huippusuorituskyky on 23,7 Gt/s lukemien osalta ja 22,1 Gt/s IOzone-vertailuarvoja käyttäville kirjoitukselle. Näemme myös satunnaisten kirjoittamiden huipun 31.3K IOPS: ssä ja satunnaiset lukemat 47.5K IOPS: ssä.
Osana seuraavia vaiheita arvioimme metatietojen suorituskyvyn ja N-säikeet yhteen tiedostoon (N-1) tämän ratkaisun IOR-suorituskykyyn. Tämän suuren kapasiteetin ratkaisun, jolla on suuri käytettävyys, suunnittelunäkökohdista on tarkoitus julkaista lisätietoja ratkaisun metatiedoista ja IOR-suorituskyvystä, kun validointi- ja arviointiprosessi on valmis.