Artikkelin on kirjoittanut Mario Gallegos HPC:stä ja AI Innovation Labista lokakuussa 2019
Asiakassolmujen määrä |
16 |
Asiakassolmu |
C6320 |
Suorittimet asiakassolmua kohden |
2 x Intel(R) Xeon(R) Gold E5-2697v4, 18 ydintä @ 2,30 GHz |
Muistia asiakassolmua kohden |
12 x 16 GiB 2 400 MT/s RDIMM |
BIOS |
2.8.0 |
Käyttöjärjestelmän ydin |
3.10.0-957.10.1 |
GPFS-versio |
5.0.3 |
./iozone -i0 -c -e -w -r 8M -s 128G -t $Threads -+n -+m ./threadlist
./iozone -i1 -c -e -w -r 8M -s 128G -t $Threads -+n -+m ./threadlist
mpirun --allow-run-as-root -np $Threads --hostfile my_hosts.$Threads --mca btl_openib_allow_ib 1 --mca pml ^ucx --oversubscribe --etuliite /mmfs1/perftest/ompi /mmfs1/perftest/lanl_ior/bin/ior -a POSIX -v -i 1 -d 3 -e -k -o /mmfs1/perftest/tst.file -w -s 1 -t 8m -b 128G
mpirun --allow-run-as-root -np $Threads --hostfile my_hosts.$Threads --mca btl_openib_allow_ib 1 --mca pml ^ucx --oversubscribe --etuliite /mmfs1/perftest/ompi /mmfs1/perftest/lanl_ior/bin/ior -a POSIX -v -i 1 -d 3 -e -k -o /mmfs1/perftest/tst.file -r -s 1 -t 8m -b 128G
./iozone -i2 -c -O -w -r 4K -s 32G -t $Threads -+n -+m ./threadlist
mpirun --allow-run-as-root -np $Threads --hostfile my_hosts.$Threads --etuliite /mmfs1/perftest/ompi --mca btl_openib_allow_ib 1 /mmfs1/perftest/lanl_ior/bin/mdtest -v -d /mmfs1/perftest/ -i 1 -b $Directories -z 1 -L -I 1024 -y -u -t -F
Säikeiden määrä |
Hakemistojen määrä säiettä kohden |
Tiedostojen kokonaismäärä |
1 |
2048 |
2,097,152 |
2 |
1024 |
2,097,152 |
4 |
512 |
2,097,152 |
8 |
256 |
2,097,152 |
16 |
128 |
2,097,152 |
32 |
64 |
2,097,152 |
64 |
32 |
2,097,152 |
128 |
16 |
2,097,152 |
256 |
8 |
2,097,152 |
512 |
4 |
2,097,152 |
1024 |
2 |
2,097,152 |
mpirun --allow-run-as-root -np $Threads --hostfile my_hosts.$Threads --etuliite /mmfs1/perftest/ompi --mca btl_openib_allow_ib 1 /mmfs1/perftest/lanl_ior/bin/mdtest -v -d /mmfs1/perftest/ -i 1 -b $Directories -z 1 -L -I 1024 -y -u -t -F -w 4K -e 4K
Kuva 6: Metatietojen suorituskyky – pienet tiedostot (4K)
Järjestelmä saa erittäin hyviä tuloksia tilasto- ja poistotoiminnoissa, saavuttaen huippuarvonsa 128 säikeellä 7,7 miljoonalla operaatiolla / s ja 1 miljoonalla op / s: llä. Poistotoiminnot saavuttivat maksimiarvon 37,3K op/s ja luontitoiminnot saavuttivat huippunsa 55,5K op/s:llä, molemmat 512 säikeellä. Tilasto- ja poistotoiminnoissa on enemmän vaihtelua, mutta kun ne saavuttavat huippuarvonsa, suorituskyky ei laske alle 4 miljoonaan toiminto/s tilastoihin ja 200 000 toimintoon poistossa. Luominen ja lukeminen vaihtelevat vähemmän, ja ne kasvavat jatkuvasti säikeiden määrän kasvaessa.
Koska nämä luvut koskevat metatietomoduulia, jossa on yksi ME4024, suorituskyky kasvaa jokaisen uuden ME4024-ryhmän kohdalla, mutta emme voi vain olettaa lineaarista kasvua jokaiselle toiminnolle. Ellei koko tiedosto mahdu tällaisen tiedoston inodin sisään, ME4084s:n datakohteita käytetään 4K-tiedostojen tallentamiseen, mikä rajoittaa suorituskykyä jossain määrin. Koska inodikoko on 4KiB ja sen on vielä tallennettava metatietoja, vain noin 3 KiB: n tiedostot mahtuvat sisälle ja kaikki sitä suuremmat tiedostot käyttävät datakohteita.
Tämä testi on lähes täsmälleen identtinen edellisten kanssa, paitsi että käytettiin pieniä 3KiB-tiedostoja. Suurin ero on, että nämä tiedostot sopivat kokonaan inoden sisään. Siksi tallennussolmuja ja niiden ME4084-laitteita ei käytetä, mikä parantaa kokonaisnopeutta käyttämällä vain SSD-levyä tallennukseen ja vähemmän verkkoyhteyksiä.
Vertailuarvon suorittamiseen käytettiin seuraavaa komentoa, jossa säikeet olivat muuttuja käytettyjen säikeiden lukumäärällä (1 - 512 kahden potenssin lisäyksellä) ja my_hosts.$Threads on vastaava tiedosto, joka allokoi jokaisen säikeen eri solmuun käyttämällä pyöreää punarintaa levittämään ne homogeenisesti 16 laskentasolmuun.
mpirun --allow-run-as-root -np $Threads --hostfile my_hosts.$Threads --etuliite /mmfs1/perftest/ompi --mca btl_openib_allow_ib 1 /mmfs1/perftest/lanl_ior/bin/mdtest -v -d /mmfs1/perftest/ -i 1 -b $Directories -z 1 -L -I 1024 -y -u -t -F -w 3K -e 3K
Kuva 7: Metatietojen suorituskyky - pienet tiedostot (3K)
Järjestelmä saa erittäin hyviä tuloksia tilasto- ja lukutoiminnoille, saavuttaen huippuarvonsa 256 säikeessä 8,29 miljoonalla op/s ja 5,06 miljoonalla op/s:lla. Poistotoiminnot saavuttivat maksimiarvon 609K op/s 128 säikeellä ja luontitoiminnot saavuttivat huippunsa 78K op/s 512 säikeellä. Tilasto- ja lukutoiminnoissa on enemmän vaihtelua kuin luonti- ja poistotoiminnoissa. Poistolla on pieni suorituskyvyn lasku kahden korkeamman säikeen pisteessä, mikä viittaa siihen, että jatkuva suorituskyky 128 säikeen jälkeen on hieman yli 400K op/s. Luo kasvaa jatkuvasti jopa 512 säiettä, mutta näyttää saavuttavan tasangon, joten suurin suorituskyky voi silti olla alle 100K op/s.
Koska tällaiset pienet tiedostot tallennetaan kokonaan SSD-pohjaiseen metatietomoduuliin, sovellukset, jotka vaativat erinomaista pienten tiedostojen suorituskykyä, voivat käyttää yhtä tai useampaa valinnaista suuren kysynnän metatietomoduulia pienten tiedostojen suorituskyvyn parantamiseksi. Inodiin sopivat tiedostot ovat kuitenkin pieniä nykyisten standardien mukaan. Koska metatietokohteissa käytetään RAID1-järjestelmiä, joissa SSD-asemat ovat suhteellisen pieniä (enimmäiskoko on 19,2 Tt), kapasiteetti on rajallinen tallennussolmuihin verrattuna. Siksi on varottava metatietokohteiden täyttämistä, mikä voi aiheuttaa tarpeettomia vikoja ja muita ongelmia.
PixStor-ominaisuuksien joukossa tiedostojärjestelmän seuranta edistyneen analytiikan avulla voi olla välttämätöntä hallinnan yksinkertaistamiseksi huomattavasti, mikä auttaa löytämään ongelmia tai mahdollisia ongelmia ennakoivasti tai reaktiivisesti. Seuraavaksi tarkastelemme lyhyesti joitakin näistä ominaisuuksista.
Kuvassa 8 on hyödyllisiä tietoja tiedostojärjestelmän kapasiteetin perusteella. Vasemmalla puolella tiedostojärjestelmän kokonaistila ja kymmenen yleisintä käyttäjää käytetyn tiedostojärjestelmän kapasiteetin perusteella. Oikealla puolella historiallinen näkymä, jossa kapasiteettia on käytetty useiden vuosien ajan, sitten kymmenen tärkeintä käytettyä tiedostotyyppiä ja kymmenen parasta tiedostojoukkoa, jotka molemmat perustuvat käytettyyn kapasiteettiin, paretokaavioiden kaltaisessa muodossa (ilman kumulatiivisten summien rivejä). Näiden tietojen avulla voi olla helppo löytää käyttäjiä, jotka saavat enemmän kuin kohtuullisen osuutensa tiedostojärjestelmästä, kapasiteetin käytön suuntauksia, jotka auttavat tekemään päätöksiä kapasiteetin tulevasta kasvusta, mitkä tiedostot käyttävät suurimman osan tilasta tai mitkä projektit vievät suurimman osan kapasiteetista.
Kuva 8: PixStor-analytiikka – kapasiteettinäkymä
Kuvassa 9 on tiedostojen laskentanäkymä, jossa on kaksi erittäin hyödyllistä tapaa etsiä ongelmia. Näytön ensimmäisellä puoliskolla on ympyräkaavion kymmenen parasta käyttäjää ja kymmenen parasta tiedostotyyppiä ja kymmenen parasta tiedostojoukkoa (ajattele projekteja) paretokaavioiden kaltaisessa muodossa (ilman kumulatiivisten summien rivejä), kaikki tiedostojen määrän perusteella. Näitä tietoja voidaan käyttää vastaamaan joihinkin tärkeisiin kysymyksiin. Esimerkiksi mitkä käyttäjät, jotka monopolisoivat tiedostojärjestelmää luomalla liian monta tiedostoa, minkä tyyppinen tiedosto luo metatietojen painajaisen tai mitkä projektit käyttävät suurimman osan resursseista.
Alaosassa on histogrammi, jossa on tiedostojen määrä (taajuus) tiedostokokoja varten käyttäen 5 luokkaa eri tiedostokokoille. Tätä voidaan käyttää saamaan käsitys tiedostojärjestelmässä käytetyistä tiedostokokoista, joita voidaan käyttää tiedostotyyppien kanssa koordinoituna päättämään, onko pakkaamisesta hyötyä.
Kuva 9: PixStor Analytics – tiedostomääränäkymä
Nykyinen ratkaisu pystyi tuottamaan melko hyvän suorituskyvyn, jonka odotetaan olevan vakaa käytetystä tilasta riippumatta (koska järjestelmä alustettiin hajallaan), kuten taulukosta 4 voidaan nähdä. Lisäksi ratkaisun kapasiteetti ja suorituskyky skaalautuvat lineaarisesti, kun tallennussolmumoduuleja lisätään, ja valinnaiselta suuren kysynnän metatietomoduulilta voidaan odottaa samanlaista suorituskyvyn paranemista. Tämä ratkaisu tarjoaa HPC-asiakkaille erittäin luotettavan rinnakkaisen tiedostojärjestelmän, jota monet Top 500 -HPC-klusterit käyttävät. Lisäksi se tarjoaa poikkeukselliset hakuominaisuudet, edistyneen valvonnan ja hallinnan, ja valinnaisten yhdyskäytävien lisääminen mahdollistaa tiedostojen jakamisen kaikkialla läsnä olevien vakioprotokollien, kuten NFS: n, SMB: n ja muiden, kautta niin monelle asiakkaalle kuin tarvitaan.
Taulukko 4 Huippusuoritus ja kestävä suorituskyky
|
Huippusuorituskyky |
Jatkuva suorituskyky |
||
Kirjoittaa |
Read |
Kirjoittaa |
Read |
|
Suuri peräkkäinen N-asiakas N-tiedostoon |
16,7 Gt/s |
23 Gt/s |
16,5 Gt/s |
20,5 Gt/s |
Suuret peräkkäiset N-asiakkaat yhteen jaettuun tiedostoon |
16,5 Gt/s |
23,8 Gt/s |
16,2 Gt/s |
20,5 Gt/s |
Satunnainen pieni lohko N asiakasta N tiedostoon |
15.8KIOps |
20.4KIOps |
15.7KIOps |
20.4KIOps |
Metatiedot Tyhjien tiedostojen luominen |
169,4K IOps |
127,2 tuhatta IO:ta sekunnissa |
||
Metatietojen tilasto: tyhjät tiedostot |
11,2 miljoonan IOps |
3,3 miljoonan IOps |
||
Metatiedot Tyhjien tiedostojen lukeminen |
4,8 miljoonan IOps |
2,4 miljoonan IOps |
||
Metatiedot Poista tyhjät tiedostot |
194,2 tuhatta IO:ta sekunnissa |
144,8 tuhatta IOps:ää |
||
Metatiedot 4KiB-tiedostojen luominen |
55,4K IOps |
55,4K IOps |
||
Metadata Stat 4KiB-tiedostot |
6,4 miljoonan IOps |
4 kk:n IOps |
||
Metatiedot Lue 4KiB-tiedostoja |
37,3 tuhatta IOps:ää |
37,3 tuhatta IOps:ää |
||
Metatiedot Poista 4KiB-tiedostot |
1 kk:n IOps |
219,5 tuhatta IO:ta sekunnissa |
Koska ratkaisu on tarkoitus julkaista Cascade Lake -suorittimilla ja nopeammalla RAM-muistilla, kun järjestelmä on saanut lopullisen kokoonpanon, tehdään joitain suorituskyvyn pistokokeita. Testaa myös valinnaista suuren kysynnän metatietomoduulia, jossa on vähintään 2 x ME4024s- ja 4KiB-tiedostoa, jotta voidaan dokumentoida paremmin, miten metatietojen suorituskyky skaalautuu, kun tietokohteita on mukana. Lisäksi yhdyskäytäväsolmujen suorituskykyä mitataan ja siitä raportoidaan yhdessä pistokokeiden asiaankuuluvien tulosten kanssa uudessa blogissa tai raportissa. Lisäksi suunnitteilla on uusia testattavia ja julkaistavia ratkaisukomponentteja, jotta saadaan entistä enemmän ominaisuuksia.