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 -ratkaisut tehokkaseen HPC BeeGFS -tallennukseen

Summary: PowerEdge R740xd, PowerEdge R640, PowerSwitch S3048-ON, Mellanox SB7890, BeeGFS v7.1.3, HPC ja AI Innovation Lab, HPC, BeeGFS Tehokas tallennusratkaisu, IOzone, peräkkäisten luku- ja kirjoitustoimintojen suorituskyky, satunnaisen luku- ja kirjoitustoiminnan suorituskyky ...

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

Artikkelin on kirjoittanut Nirmala Sundararajan Dell EMC:n HPC and AI Innovation Labista marraskuussa 2019

Cause

Dell EMC Ready -ratkaisut tehokkaseen HPC BeeGFS -tallennukseen

Resolution

Sisällysluettelo

  1. Johdanto
  2. Ratkaisun viitearkkitehtuuri
  3. Laitteisto- ja ohjelmistokokoonpano
  4. Ratkaisun määritystiedot
  5. R740xd, 24x NVMe-asemaa, tietoja suorittimen kartoituksesta
  6. Suorituskyvyn karakterisointi
  7. Päätelmät ja tuleva työ
     

Johdanto

Dell EMC:n HPC-tiimi ylpeänä julkistaa Dell EMC Ready Solutions for HPC BeeGFS Storage -ratkaisun, joka on uusin lisäys HPC-tallennusportfolioon. Tämä ratkaisu käyttää R740xd-palvelimia, joissa kussakin on 24 x Intel P4600 1,6 Tt:n NVMe-asemaa, Mixed Use Express Flash -asema ja kaksi Mellanox ConnectX-5 InfiniBand EDR -sovitinta. Tässä 24 NVMe-asemakokoonpanossa 12 x NVMe SSD -levyä yhdistetään PCIe-kytkimeen ja kukin kytkin yhdistetään yhteen suorittimeen x16 PCIe -laajennuskortin kautta. Lisäksi jokainen IB-liitäntä on kytketty yhteen CPU: han. Tällainen tasapainotettu kokoonpano, jossa jokainen suoritin on kytketty yhteen InfiniBand-sovittimeen ja jossa käsitellään 12 NVMe SSD -asemaa, tarjoaa maksimaalisen suorituskyvyn varmistamalla, että suorittimilla on yhtä paljon aikaa käsitellä I/O-pyyntöjä NVMe-asemille ja NVMe-asemista.

Ratkaisun painopiste on suorituskykyinen I/O, ja se on suunniteltu nopeaksi raaputusratkaisuksi.  Ratkaisun ytimessä on nopeiden NVMe SSD -asemien käyttö, jotka tarjoavat erittäin suuren kaistanleveyden ja pienen viiveen poistamalla ajastimen ja jonon pullonkaulat lohkokerroksesta. BeeGFS-tiedostojärjestelmä tukee myös suurta I/O-kokonaissiirtonopeutta

Ratkaisun viitearkkitehtuuri

Kuvassa 1 on esitetty ratkaisun viitearkkitehtuuri. Hallintapalvelin on yhteydessä vain metatieto- ja tallennuspalvelimiin Ethernetin kautta. Jokaisella metatieto- ja tallennuspalvelimella on kaksi InfiniBand-linkkiä, ja ne on yhdistetty yksityisverkkoon Ethernetin kautta. Asiakkailla on yksi InfiniBand-linkki ja ne on yhdistetty yksityiseen rajapintaan Ethernetin kautta.
Dell EMC:n valmiit ratkaisut HPC BeeGFS -tallennukseen - Viitearkkitehtuuri
Kuva 1:  Dell EMC:n valmiit ratkaisut HPC BeeGFS -tallennukseen - Viitearkkitehtuuri

Laitteisto- ja ohjelmistokokoonpano

Taulukoissa 1 ja 2 kuvataan hallintapalvelimen ja metatieto-/tallennuspalvelimen laitteiston tekniset tiedot. Taulukossa 3 kuvataan ratkaisussa käytetyt ohjelmistoversiot.

 

Taulukko 1: PowerEdge R640 -kokoonpano (hallintapalvelin)
Server Dell EMC PowerEdge R640
Suoritin 2 x Intel Xeon Gold 5218, 2,3 GHz, 16 ydintä
Muisti 12 x 8 Gt:n DDR4, 2 666 MT/s:n DIMM-moduulit – 96 Gt
Paikalliset levyt 6 x 300 Gt:n, 2,5":n SAS-kiintolevyä, 15 000 RPM
RAID-ohjain Integroitu PERC H740P RAID -ohjain
Kaistan ulkopuolinen hallinta iDRAC9 Enterprise ja Lifecycle Controller
Virtalähteet Kaksi 1 100 W:n virtalähdettä
BIOS-versio 2.2.11
Käyttöjärjestelmä CentOS™ 7.6
Kernel-versio 3.10.0-957.27.2.el7.x86_64

 

Taulukko 2 PowerEdge R740xd -kokoonpano (metatiedot ja tallennuspalvelimet)
Server Dell EMC PowerEdge R740xd
Suoritin 2 x Intel Xeon Platinum 8268 -suoritin @ 2,90 GHz, 24 ydintä
Muisti 12 x 32 Gt, DDR4, 2 933 MT/s, DIMM – 384 Gt
BOSS-kortti 2 x 240 Gt:n M.2 SATA -SSD-levyä käyttöjärjestelmän RAID 1 -kokoonpanossa
Paikalliset asemat 24x Dell Express Flash NVMe P4600, 1,6 Tt, 2,5" U.2
Mellanoxin EDR-kortti 2 x Mellanox ConnectX-5 EDR -korttia (paikat 1 ja 8)
Kaistan ulkopuolinen hallinta iDRAC9 Enterprise ja Lifecycle Controller
Virtalähteet Kaksi 2 000 W:n virtalähdettä

 

Taulukko 3 Ohjelmistokokoonpano (metatiedot ja tallennuspalvelimet)
BIOS 2.2.11
CPLD 1.1.3
Käyttöjärjestelmä CentOS™ 7.6
Kernel-versio 3.10.0-957.el7.x86_64
iDRAC 3.34.34.34
Järjestelmänhallintatyökalu OpenManage Server Administrator 9.3.0-3407_A00
Mellanox, OFED 4.5-1.0.1.0
NVMe SSD -asemat QDV1DP13
*Intel-konesalityökalu ®  3.0.19
BeeGFS 7.1.3
Grafana 6.3.2
InfluxDB 1.7.7
IOzone-vertailuarvo 3.487
*Intel P4600NVMe SSD -levyjen hallintaa ja laiteohjelmistopäivitystä varten

Ratkaisun määritystiedot

BeeGFS-arkkitehtuuri koostuu neljästä pääpalvelusta:
  • Hallintapalvelu
  • Metatietopalvelu
  • Tallennustilapalvelu
  • Asiakaspalvelu
Lukuun ottamatta asiakaspalvelua, joka on ydinmoduuli, hallinta-, metatieto- ja tallennuspalvelut ovat käyttäjätilan prosesseja. Kuvassa 2 esitetään, miten Dell EMC Ready Solutions for HPC BeeGFS Storage -viitearkkitehtuuri yhdistyy BeeGFS-tiedostojärjestelmän yleiseen arkkitehtuuriin.
BeeGFS-tiedostojärjestelmä PowerEdge R740xd:ssä, jossa NVMe SSD -levyt
Kuva 2:  BeeGFS-tiedostojärjestelmä PowerEdge R740xd:ssä, jossa NVMe SSD -levyt

Hallintapalvelu

Jokaisella BeeGFS-tiedostojärjestelmällä tai nimitilalla on vain yksi hallintapalvelu. Hallintapalvelu on ensimmäinen palvelu, joka on määritettävä, koska kun määritämme kaikki muut palvelut, niiden on rekisteröidyttävä hallintapalveluun.  Hallintapalvelimena käytetään PowerEdge R640:aa. Hallintapalvelun (beegfs-mgmtd.service) isännöinnin lisäksi se isännöi myös seurantapalvelua (beegfs-mon.service), joka kerää tilastoja järjestelmästä ja toimittaa ne käyttäjälle käyttämällä aikasarjatietokantaa InfluxDB. Tietojen visualisointiin beegfs-mon tarjoaa ennalta määritettyjä Grafana-ruutuja , joita voidaan käyttää valmiina. Hallintapalvelimessa on 6 x 300 Gt:n kiintolevyä, jotka on määritetty RAID 10 -ratkaisuun käyttöjärjestelmälle ja InfluxDB:lle.

Metatietopalvelu

Metatietopalvelu on skaalautuva palvelu, mikä tarkoittaa, että BeeGFS-tiedostojärjestelmässä voi olla monia metatietopalveluita. Jokaisella metatietopalvelulla on kuitenkin tasan yksi metatietokohde metatietojen tallentamiseen.  Metatietokohteessa BeeGFS luo yhden metatietotiedoston käyttäjän luomaa tiedostoa kohden. BeeGFS-metatiedot jaetaan hakemistokohtaisesti. Metatietopalvelu tarjoaa tietojen raidoitustiedot asiakkaille eikä osallistu tietojen käyttöön tiedostojen avaamisen ja sulkemisen välillä.

PowerEdge R740xd:ssä on 24x Intel P4600 1,6 Tt:n NVMe-asemaa, ja asemia käytetään metatietojen tallentamiseen. Koska BeeGFS-metatietojen tallennuskapasiteettivaatimukset ovat hyvin pienet, erillisen metatietopalvelimen käyttämisen sijaan vain NUMA-vyöhykkeen 0 12 asemaa käytettiin isännöimään MetaData T -argetteja (MDT), kun taas loput 12 NUMA-vyöhykkeen asemaa isännöivät S-vääntömomentin Targetteja (ST).

Kuvassa 3 on metatietopalvelin. Keltaiseen suorakulmioon suljetut 12 asemaa ovat NUMA-vyöhykkeen 0 MDT:itä, kun taas vihreään suorakulmioon suljetut 12 asemaa ovat NUMA-vyöhykkeen 1 ST:itä. Tämä kokoonpano ei ainoastaan estä NUMA-ongelmia, vaan tarjoaa myös tarpeeksi metatietojen tallennustilaa kapasiteetin ja suorituskyvyn skaalaamisen helpottamiseksi tarpeen mukaan.

Metatietopalvelin

Kuva 3:  Metatietopalvelin

Kuvassa 4 näkyy metatietopalvelimen raid-määritys. Se korostaa, kuinka metatietopalvelimessa NUMA-vyöhykkeen 0 asemat isännöivät MDT: itä ja NUMA-vyöhykkeen 1 asemat isännöivät tallennustietoja, kun taas tallennuspalvelimet isännöivät ST: itä molemmilla NUMA-vyöhykkeillä.

Asemien määrittäminen metatietopalvelimessa

Kuva 4:  Asemien määrittäminen metatietopalvelimessa

Metatietojen käsittelyssä käytettävät 12 asemaa on määritetty 6x RAID 1 -levyryhmäksi, jossa on 2 asemaa, joista kukin toimii MDT:nä. Käynnissä on 6 metatietopalvelua, joista jokainen käsittelee yhtä MDT:tä. Loput 12 tallennusasemaa on määritetty 3x RAID 0 -levyryhmiksi, joissa kussakin on neljä asemaa. NUMA 1 -vyöhykkeellä on käynnissä kolme tallennuspalvelua, yksi palvelu kullekin ST: lle. Metatietoja ja tallennuskohteita isännöivällä palvelimella on 6 MDT:tä ja 3 ST:tä. Sillä on myös 6 metatietopalvelua ja kolme tallennuspalvelua. Jokainen MDT on RAID 1 -kokoonpanoon perustuva ext4-tiedostojärjestelmä. ST:t perustuvat RAID 0:ssa määritettyyn XFS-tiedostojärjestelmään.
 

Tallennustilapalvelu

Kuten metatietopalvelu, myös tallennuspalvelu on skaalautuva palvelu. Tallennuspalvelun esiintymiä voi olla useita BeeGFS-tiedostojärjestelmässä. Toisin kuin metatietopalvelussa, tallennuspalvelussa voi kuitenkin olla useita tallennuskohteita.  Tallennuspalvelu tallentaa lomitetun käyttäjätiedoston sisällön eli datalohkotiedostot

Kuvassa 5 on esitetty viisi PowerEdge R740xd -palvelinta, joita käytetään tallennuspalvelimina.
Dedikoidut tallennuspalvelimet
Kuva 5:  Erilliset tallennuspalvelimet

Kukin tallennuspalvelin on määritetty kuudella RAID 0 -ryhmällä, joista jokaisella on neljä asemaa, joten niissä on 6 ST:tä palvelinta kohden (3 NUMA-aluetta kohti), kuten alla olevassa kuvassa 6 esitetään:

Tallennuspalvelimien asemien määrittäminenKuva 6:  Tallennuspalvelimien asemien määrittäminen Perusviitearkkitehtuurin

kokoonpanossa on yhteensä 6 MDT:tä ja 33 ST:tä. Viiden erillisen tallennuspalvelimen raakakapasiteetti on 211 Tt ja käytettävissä oleva kapasiteetti 190 TiB. Arvioitu käytettävissä oleva kapasiteetti TiB = asemien lukumäärä x kapasiteetti asemaa kohti TB x 0,99 (tiedostojärjestelmän yleiskustannukset) x (10^12/2^40). Tämä olisi ihanteellinen keskitason raaputusratkaisu, jossa on tarpeeksi metatietojen tallennustilaa, jotta tallennuspalvelimia voidaan lisätä kapasiteettivaatimusten kasvaessa.

Seuraavien tekijöiden vuoksi RAID 10 -kokoonpanoa käyttäville tallennuskohteille valittiin RAID 0 -kokoonpano.
  1. Kirjoitustehoa mitattiin dd-komennolla luomalla 10 GiB:n tiedosto, jonka lohkokoko oli 1 MiB ja suora I/O datalle. RAID 0 -laitteiden keskiarvo oli noin 5,1 Gt/s kullekin laitteelle, kun taas RAID 10 -laitteiden keskiarvo oli 3,4 Gt/s kullekin laitteelle.
  2. StorageBench-vertailutestit osoittivat, että RAID 0 -kokoonpanon enimmäissiirtonopeus oli 5,5 Gt/s, kun se RAID 10 -kokoonpanossa on 3,4 Gt/s. Tulokset muistuttavat dd-komennoilla saatuja tuloksia.
  3. RAID 10 vähentää levyn kapasiteettia 50 % ja kirjoitussuorituskykyä vastaavasti 50 %. RAID 10:n käyttäminen on kallis tapa varmistaa tallennuksen vikasietoisuus.
  4. NVMe-asemat ovat kalliita ja tarjoavat nopeampia ominaisuuksia, joita voidaan parhaiten hyödyntää RAID 0 -kokoonpanossa
 

Asiakaspalvelu

BeeGFS-asiakasmoduuli on ladattava kaikkiin isäntiin, joiden on käytettävä BeeGFS-tiedostojärjestelmää. Kun beegfs-client on ladattu, se ottaa käyttööntiedostojärjestelmät jotka on määritetty tiedostossa /etc/beegfs/beegfs-mounts.conf tavallisen / etc/fstab-pohjaisen lähestymistavan sijaan.  Tämän lähestymistavan omaksuminen käynnistää beegfs-asiakkaan kuten minkä tahansa muun Linux-palvelun palvelun käynnistyskomentosarjan kautta. Se mahdollistaa myös BeeGFS-asiakasmoduulin automaattisen uudelleenkääntämisen järjestelmäpäivitysten jälkeen. 

Kun asiakasmoduuli on ladattu, se ottaa käyttöön tiedostojärjestelmät, jotka on määritetty tiedostossa beegfs-mounts.conf. Samaan asiakasohjelmaan voi asentaa useita beegfs-esiintymiä alla kuvatulla tavalla:

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

Edellä olevassa esimerkissä näkyy kaksi eri tiedostojärjestelmää, jotka on liitetty samaan työasemaan. Tässä testauksessa asiakkaina käytettiin 32 x C6420-solmua.

R740xd, 24x NVMe-asemaa, tietoja suorittimen kartoituksesta


PowerEdge R740xd -palvelimen 24xNVMe-kokoonpanossa on kaksi x16 NVMe -siltauskorttia, jotka syöttävät PCIe-kytkintä taustalevyllä. Ne puhaltavat ulos ja syöttävät etuosan asemia (asemat ovat x4) alla olevan kuvan 7 mukaisesti:


R740xd, 24x NVMe Suorittimen kartoituksen tiedotKuva 7:  R740xd, 24x NVMe Tietoja suorittimen kartoituksesta

NUMA (Non-Uniform Memory Access) -järjestelmässä järjestelmämuisti on jaettu vyöhykkeisiin, joita kutsutaan solmuiksi ja jotka on varattu suorittimille tai kannoille. Paikallisen suorittimen muistin käyttö on nopeampaa kuin järjestelmän etäsuorittimiin yhdistetyn muistin. Kierteinen sovellus toimii yleensä parhaiten, kun säikeet käyttävät saman NUMA-solmun muistia. NUMA-ohjusten suorituskykyvaikutus on merkittävä, yleensä alkaen 10%: n suorituskykyosumasta tai korkeammasta. Suorituskyvyn parantamiseksi palvelut on määritetty käyttämään tiettyjä NUMA-vyöhykkeitä, jotta UPI-ristikantalinkkejä ei käytetä tarpeettomasti, mikä vähentää viivettä. Jokainen NUMA-alue käsittelee 12 asemaa ja käyttää toista palvelimien kahdesta InfiniBand EDR -liitännästä. Tämä NUMA-erottelu saavutetaan konfiguroimalla NUMA-tasapainotus manuaalisesti luomalla mukautettuja systemd-yksikkötiedostoja ja konfiguroimalla multihoming. Siksi automaattinen NUMA-tasapainotus on poistettu käytöstä, kuten alla on esitetty:

# kissa /proc/sys/ydin/numa_balancing
0

Kuvassa 8 on testialusta, jossa InfiniBand-yhteydet NUMA-vyöhykkeeseen on korostettu.  Jokaisella palvelimella on kaksi IP-linkkiä ja liikenne NUMA 0 -vyöhykkeen läpi tapahtuu rajapinnalla IB0, kun taas NUMA 1 -vyöhykkeen läpi kulkeva liikenne hoidetaan rajapinnalla IB1.
Testipenkin kokoonpano
Kuva 8:  Testipenkin kokoonpano
 

Suorituskyvyn karakterisointi

Tässä osassa esitellään suorituskyvyn arviointi, joka auttaa määrittämään Dell EMC Ready Solution for HPC BeeGFS High Performance Storage Solution -ratkaisun. Lisätietoja ja päivityksiä saat tutustumalla white paper -raporttiin, joka julkaistaan myöhemmin. Järjestelmän suorituskyky arvioitiin IOzone-vertailuarvolla. Ratkaisua testataan peräkkäisten luku- ja kirjoitussuoritusten sekä satunnaisen luku- ja kirjoitustehon IOPS:n suhteen. Taulukossa 4 kuvataan niiden C6420-palvelimien kokoonpano, joita käytettiin BeeGFS-asiakkaina tässä blogissa esitellyissä suorituskykytutkimuksissa.
 
Taulukko 4 Asiakkaan kokoonpano
Asiakkaat 32 x Dell EMC PowerEdge C6420 -laskentasolmu
BIOS 2.2.9
Suoritin 2 x Intel Xeon Gold 6148 -suoritin @ 2,40GHz, 20 ydintä suoritinta kohti
Muisti  12 x 16 Gt:n DDR4, 2 666 MT/s:n DIMM-moduulit – 192 Gt
BOSS-kortti 2 x 120 Gt:n M.2-käynnistysasemaa, RAID 1 käyttöjärjestelmälle
Käyttöjärjestelmä Red Hat Enterprise Linux Server release 7.6
Kernel-versio 3.10.0-957.el7.x86_64
Verkon liitäntä 1 x Mellanox ConnectX-4 EDR -kortti
OFED-versio 4.5-1.0.1.0

Peräkkäinen kirjoitus ja lukeminen N-N

Peräkkäisten lukujen ja kirjoitusten arvioimiseksi IOzone-vertailuarvoa käytettiin peräkkäisessä luku- ja kirjoitustilassa. Nämä testit suoritettiin useilla säikeillä, jotka alkoivat 1 säikeestä ja lisäsivät tehoa 2, jopa 1024 säiettä. Jokaisella säikemäärällä luotiin yhtä monta tiedostoa, koska tämä testi toimii yhdessä tiedostossa säiettä kohti tai N asiakasta N-tiedostoon (N-N) -tapauksessa. Prosessit jaettiin 32 fyysiseen asiakassolmuun round robin- tai syklisesti siten, että pyynnöt jakautuvat tasaisesti ja kuormitus tasapainotetaan. Kokonaistiedostokooksi valittiin 8 Tt, joka jaettiin tasan säikeiden lukumäärälle kussakin testissä. Kokonaistiedostokoko valittiin riittävän suureksi minimoimaan välimuistiin tallentamisen vaikutukset palvelimilta sekä BeeGFS-asiakkailta. IOzone suoritettiin yhdistetyssä kirjoitustilassa ja luettiin sitten (-i 0, -i 1), jotta se pystyi koordinoimaan toimintojen välisiä rajoja. Tässä testauksessa ja tuloksissa käytimme 1MiB-tietuekokoa jokaiselle ajolle. Peräkkäisissä N-N-testeissä käytetyt komennot ovat alla:

Peräkkäiset kirjoitukset ja lukemat: iozone -i 0 -i 1 -c -e -w -r 1m -i -s $Size -t $Thread -+n -+m /path/to/threadlist

Käyttöjärjestelmän välimuistit myös poistettiin tai puhdistettiin asiakassolmuissa iteraatioiden välillä sekä kirjoitus- ja lukutestien välillä suorittamalla komento:

# synkronointi ja kaiku 3 > / proc / sys / vm / drop_caches

Beegfs-arvon raitojen oletusmäärä on 4. Tiedoston koko ja kohteiden määrä voidaan kuitenkin määrittää hakemistokohtaisesti. Kaikissa näissä testeissä BeeGFS-raidan kooksi valittiin 2 Mt ja raitojen määräksi 3, koska meillä on kolme kohdetta NUMA-aluetta kohden alla olevan kuvan mukaisesti:

$ beegfs-ctl --getentryinfo --mount=/mnt/beegfs /mnt/beegfs/benchmark --verbose
EntryID: 0-5D9BA1BC-1
ParentID: root
Metatietosolmu: node001-numa0-4 [ID: 4]
Raitakuvion tiedot:
+ Tyyppi: RAID0
+ Chunksize: 2M
+ Tallennuskohteiden määrä: toivottu:

3+ Tallennusvaranto: 1 (oletus)
Inode-hajautuspolku: 7/5E/0-5D9BA1BC-1

Läpinäkyvät valtavat sivut poistettiin käytöstä, ja seuraavat viritysvaihtoehdot ovat käytössä metatieto- ja tallennuspalvelimilla:

  • 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

Edellä mainittujen lisäksi käytettiin seuraavia BeeGFS-viritysvaihtoehtoja: 

  • tuneTargetChooser-parametriksi asetettiin metatietojen määritystiedostossa "roundrobin
  • tuneNumWorkers-parametriksi määritettiin 24 metatiedoille ja 32 tallennukselle 
  • connMaxInternodeNum-parametriksi asetettiin 32 metatiedoille, 12 tallennukselle ja 24 asiakkaille

Peräkkäinen IOzone 8TB -koontitiedostokoko
Kuva 9:  Peräkkäinen IOzone 8TB -koontitiedostokoko


Kuvassa 9 nähdään, että huippulukusuorituskyky on 132 Gt/s 1024 säikeessä ja huippukirjoitus 121 Gt/s 256 säikeessä. Kumpikin asema voi tarjota 3,2 Gt/s:n huippulukusuorituskyvyn ja 1,3 Gt/s:n huippukirjoitussuorituskyvyn, mikä mahdollistaa teoreettisen huipputason 422 Gt/s lukutoiminnoissa ja 172 Gt/s kirjoituksissa. Tässä verkko on kuitenkin rajoittava tekijä. Meillä on yhteensä 11 InfiniBand EDR -linkkiä kokoonpanon tallennuspalvelimille. Kunkin linkin teoreettinen huippusuorituskyky voi olla 12,4 Gt/s, jolloin teoreettinen huippusuorituskyky on 136,4 Gt/s. Saavutettu huippuluku- ja kirjoitussuorituskyky on vastaavasti 97 % ja 89 % teoreettisesta huippusuorituskyvystä.

Yksittäisen säikeen kirjoitustehon havaitaan olevan ~ 3 Gt/s ja lukunopeus ~ 3 Gt/s. Havaitsemme, että kirjoitussuorituskyky skaalautuu lineaarisesti, saavuttaa huippunsa 256 säikeessä ja alkaa sitten laskea. Pienemmillä säikeiden määrillä luku- ja kirjoitussuorituskyky on sama. Koska 8 säiettä asti meillä on 8 asiakasta, jotka kirjoittavat 8 tiedostoa 24 kohteeseen, mikä tarkoittaa, että kaikkia tallennuskohteita ei hyödynnetä täysimääräisesti. Meillä on järjestelmässä 33 tallennuskohdetta, joten kaikkien palvelimien täysimääräiseen hyödyntämiseen tarvitaan vähintään 11 säiettä. Lukusuorituskyky rekisteröi tasaisen lineaarisen kasvun samanaikaisten säikeiden määrän kasvaessa, ja havaitsemme lähes samanlaisen suorituskyvyn 512 ja 1024 säikeessä.

Huomaamme myös, että lukusuorituskyky on alhaisempi kuin säikeiden määrän kirjoitusmäärät 16: sta 128: een, ja sitten lukusuorituskyky alkaa skaalautua. Tämä johtuu siitä, että vaikka PCIe-lukutoiminto on kirjaamaton toiminto, joka edellyttää sekä pyyntöä että valmistumista, PCIe-kirjoitustoiminto on tulipalo ja unohdus -toiminto. Kun tapahtumakerroksen paketti on luovutettu tiedonsiirtokerrokselle, toiminto on valmis. Kirjoitustoiminto on kirjattu toiminto, joka koostuu vain pyynnöstä.

Lukunopeus on yleensä pienempi kuin kirjoitusnopeus, koska lukemiseen tarvitaan kaksi tapahtumaa yhden kirjoituksen sijaan samalle tietomäärälle. PCI Express käyttää lukemiseen jaettua tapahtumamallia. Luettu tapahtuma sisältää seuraavat vaiheet:

  • Pyytäjä lähettää muistin lukupyynnön (MRR).
  • Täydentäjä lähettää kuittauksen MRR:lle.
  • Täydentäjä palauttaa Valmistuminen tiedoilla -merkinnän.

Lukunopeus riippuu viiveestä lukupyynnön lähettämisen ja tietojen palauttamisen välillä. Kun sovellus kuitenkin lähettää riittävän määrän lukupyyntöjä tämän viiveen kattamiseksi, siirtonopeus maksimoidaan. Tästä syystä, vaikka lukusuorituskyky on pienempi kuin kirjoitusten 16 säikeestä 128 säikeeseen, mittaamme lisääntynyttä läpäisykykyä, kun pyyntöjen määrä kasvaa.  Pienempi määrä mitataan, kun pyytäjä odottaa valmistumista ennen seuraavien pyyntöjen lähettämistä. Suurempi suorituskyky rekisteröidään, kun lähetetään useita pyyntöjä viiveen poistamiseksi ensimmäisten tietojen palautusten jälkeen.


Satunnainen kirjoittaa ja lukee N-N

Satunnaisen IO-suorituskyvyn arvioimiseksi IOzonea käytettiin satunnaistilassa. Kierremääriä testattiin alkaen 4 säikeestä jopa 1024 säikeeseen. Suoraa IO-vaihtoehtoa (-I) käytettiin IOzonen suorittamiseen niin, että kaikki toiminnot ohittavat puskurivälimuistin ja siirtyvät suoraan levylle. BeeGFS-raitojen lukumääräksi käytettiin 3 ja palan kokoa 2 Mt. IOzonessa käytetään 4 KiB: n pyyntökokoa. Suorituskykyä mitataan I/O-operaatioina sekunnissa (IOPS). Käyttöjärjestelmän välimuistit pudotettiin ajojen välillä sekä BeeGFS-palvelimilla että BeeGFS-asiakkailla. Satunnaisten kirjoitusten ja lukujen suorittamiseen käytetty komento on alla:

Satunnainen lukee ja kirjoittaa: iozone -i 2 -w -c -O -I -r 4K -s $Size -t $Thread -+n -+m /polku/to/threadlist


Satunnainen luku- ja kirjoitussuorituskyky käyttämällä IOzonea, jossa 8 Tt:n koottu tiedostokoko
Kuva 10:  Satunnainen luku- ja kirjoitussuorituskyky käyttämällä IOzonea ja 8 Tt:n kokonaistiedostokokoa

Satunnaiskirjoitushuippu ~3,6 miljoonaa IOPS:ää 512 säikeessä ja satunnaislukuhuippu ~3,5 miljoonaa IOPS:ää 1024 säikeessä, kuten kuvassa 10 esitetään. Sekä kirjoitus- että lukusuorituskyky on parempi, kun IO-pyyntöjä on enemmän. Tämä johtuu siitä, että NVMe-standardi tukee jopa 64 Kt:n I/O-jonoa ja jopa 64 Kt:n komentoja jonoa kohden. Tämä suuri NVMe-jonojen joukko tarjoaa korkeamman I/O-rinnakkaisuuden tason, ja siksi havaitsemme IOPS: n ylittävän 3 miljoonaa.


Päätelmät ja tuleva työ

Tässä blogissa ilmoitetaan Dell EMC High Performance BeeGFS -tallennusratkaisun julkaisusta ja korostetaan sen suorituskykyominaisuuksia. Ratkaisun peräkkäisten luku- ja kirjoitustehojen huippu on ~132 Gt/s ja ~121 Gt/s, ja satunnaiskirjoitusten huippu on ~3,6 miljoonaa IOPS:ää ja satunnaislukujen huippu ~3,5 miljoonaa IOPS:ää.

Tämä blogi on ensimmäinen osa "BeeGFS Storage Solution" -ratkaisua, joka on suunniteltu keskittyen korkean suorituskyvyn raaputustilaan. Pysy kuulolla blogisarjan osasta 2, jossa kuvataan, miten ratkaisua voidaan skaalata lisäämällä palvelimien määrää suorituskyvyn ja kapasiteetin lisäämiseksi. Blogisarjan osassa 3 käsitellään BeeGFS:n lisäominaisuuksia ja korostetaan "StorageBenchin", BeeGFS:n sisäänrakennetun tallennustavoitteiden vertailuarvon, käyttöä.

Osana seuraavia vaiheita julkaisemme myöhemmin white paper -raportin, joka sisältää metatietojen suorituskyvyn ja N threads to 1 file IOR -suorituskyvyn sekä lisätietoja suunnittelunäkökohdista, hienosäädöstä ja kokoonpanosta.


Viitteet

[1] BeeGFS-dokumentaatio: 
https://www.beegfs.io/wiki/[2] Kahden liitännän liittäminen samaan aliverkkoon:  https://access.redhat.com/solutions/30564

Article Properties


Affected Product

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

Last Published Date

25 Mar 2024

Version

7

Article Type

Solution