Elbrus ja Intel: võrreldame AERODISK EAST ja Engine salvestussüsteemide jõudlust

Elbrus ja Intel: võrreldame AERODISK EAST ja Engine salvestussüsteemide jõudlust

Tere kõigile! Jätkame teid tutvustamist AERODISK EAST salvestussüsteemiga, mis on ehitatud Venemaa Elbrus 8C protsessori baasil.

Selles artiklis käsitleme (nagu lubatud) ühte populaarseimat ja huvitavamat teemat, mis on seotud Elbrustega, nimelt jõudlust. Elbruse jõudluse üle on toimunud piisavalt palju spekulatsioone, mis on absoluutselt vastandlikud. Pessimistid ütlevad, et Elbruse jõudlus on praegu "mitte midagi" ja selleks, et "tipptootjate" tasemeni jõuda, kulub aastakümneid (st praegustes tingimustes - mitte kunagi). Teiselt poolt ütlevad optimistid, et juba praegu näitab Elbrus 8C häid tulemusi, ja järgmise paariga aasta jooksul uute protsessoriversioonide (Elbrus 16C ja 32C) väljumisega suudame "jõuda ja ületada" juhtivaid maailmatootjaid.

Aerodiskis oleme praktilised inimesed, seega läksime kõige lihtsamat ja arusaadavat (meie jaoks) teed: testida, fikseerida tulemused ja alles siis teha järeldused. Lõppkokkuvõttes tegime üsna palju teste ja avastasime mitmeid eelkõige meeldivaid tunnuseid Elbrus 8C e2k arhitektuuri tööst ning võrdlesime seda loomulikult sarnaste süsteemide vastu, mis töötavad Intel Xeon amd64 arhitektuuril.

Muide, testide, tulemuste ja Elbrus süsteemide edasise arengu kohta räägime meie järgmises veebinaris "OkolIT" 15.10.2020 kell 15:00. Registreerida saab alloleva lingi kaudu.

Registreerimine veebinarile

Teststand

Oleme loonud kaks stendi. Mõlemad stendid koosnevad Linuxi serverist, mis on ühendatud 16G FC-lülititega kahe salvestussüsteemi kontrolleriga, millel on 12 SAS SSD 960 GB ketast (11,5 TB „toores maht“ või 5,7 TB „kasulik“ maht, kui kasutame RAID-10).

Diagrammil näeb stend välja järgmiselt.

Elbrus ja Intel: võrreldame AERODISK EAST ja Engine salvestussüsteemide jõudlust

Stend nr 1 e2k (Elbrus)

Seadmete konfiguratsioon on järgmine:

  • Linuxi server (2xIntel Xeon E5-2603 v4 (6 tuuma, 1,70Ghz), 64 GB DDR4, 2xFC-adapter 16G 2 porti) – 1 tk.
  • FC lüliti 16 G – 2 tk.
  • SDA Aerodisk Ida 2-E12 (2xElbrus 8C (8 tuuma, 1,20Ghz), 32 GB DDR3, 2xFE FC-adapter 16G 2 port, 12xSAS SSD 960 GB) — 1 tk

Stend №2 amd64 (Intel)

Võrdlemiseks kasutati e2k-ga sarnaseid konfiguratsioone, kus oli sarnane protsessor amd64 omadustega:

  • Linuxi server (2xIntel Xeon E5-2603 v4 (6 tuuma, 1,70Ghz), 64 GB DDR4, 2xFC-adapter 16G 2 porti) – 1 tk.
  • FC lüliti 16 G – 2 tk.
  • SDA Aerodisk Engine N2 (2xIntel Xeon E5-2603 v4 (6 tuuma, 1,70Ghz), 32 GB DDR4, 2xFE FC-adapter 16G 2 port, 12xSAS SSD 960 GB) — 1 tk

Oluline märkus: testides kasutatud Elbrus 8C protsessorid toetavad ainult DDR3 operatiivmälu, mis on küllaltki „halb, aga mitte kaua”. Elbrus 8CIV (meil ei ole seda hetkel, kuid varsti saabub) toetab DDR4.

Testimismetoodika

Kasutatud koormuse genereerimiseks on populaarne ja ajakohane programm Flexible IO (FIO).

Mõlemad SDA-d on konfigureeritud vastavalt meie soovitustele seadistamiseks, et tagada kõrge jõudlust nõudva plokkjuurdepääsu korral, seetõttu kasutame DDP (Dünaamilise Disk Pool) diskipooli. Testimise tulemuste moonutamise vältimiseks on mõlemal SDA-l välja lülitatud kokkusurumine, dedublitseerimine ja RAM-vahemälu.

Loome 8 D-LUN-i RAID-10 formaadis, igaühe suuruseks 500 GB, kogus suurus on 4 TB (st umbes 70% sellest, mis on selle konfiguratsiooni võimaliku kasuliku maht).

Teostatav on põhiliste ja populaarsete SAN-i kasutusjuhtude testimine, sealhulgas:

esimesed kaks testi simuleerivad tehingupõhise andmebaasi töötamist. Selles testigruppas huvitavad meid IOPS ja latentsus.

1) Juhuslik lugemine väikeste 4k plokkidega
a. Ploki suurus = 4k
b. Lugemine/kirjutamine = 100%/0%
c. Tööde arv = 8
d. Sügavus = 32
e. Koormuse iseloom = Täiesti juhuslik

2) Juhuslik kirjutamine väikeste 4k plokkidega
a. Ploki suurus = 4k
b. Lugemine/kirjutamine = 0%/100%
c. Tööde arv = 8
d. Sügavus = 32
e. Koormuse iseloom = Täiesti juhuslik

teised kaks testi simuleerivad analüütilise andmebaasi komponenti. Selles testigruppas huvitavad meid samuti IOPS ja latentsus.

3) Järjekordne lugemine väikeste 4k plokkidega
a. Ploki suurus = 4k
b. Lugemine/kirjutamine = 100%/0%
c. Tööde arv = 8
d. Sügavus = 32
e. Koormuse iseloom = Järjekordne

4) Järjekordne kirjutamine väikeste 4k plokkidega
a. Ploki suurus = 4k
b. Lugemine/kirjutamine = 0%/100%
c. Tööde arv = 8
d. Sügavus = 32
e. Koormuse iseloom = Järjekordne

kolmas testigrupp simuleerib vooglugemist (näiteks – veebivood, varukoopiate taastamine) ja voogkirjutamist (näiteks – videovalve, varukoopiate salvestamine). Selles testigruppas on meie huvides mitte IOPS, vaid MB/s ning samuti latentsus.

5) Järjekordne lugemine suurte 128k plokkidega
a. Ploki suurus = 128k
b. Lugemine/kirjutamine = 0%/100%
c. Tööde arv = 8
d. Sügavus = 32
e. Koormuse iseloom = Järjekordne

6) Järjekordne kirjutamine suurte 128k plokkidega
a. Ploki suurus = 128k
b. Lugemine/kirjutamine = 0%/100%
c. Tööde arv = 8
d. Sügavus = 32
e. Koormuse iseloom = Järjekordne

Iga test kestab ühe tunni, arvestamata 7-minutilist massiivi soojendusaega.

Testide tulemused

Testide tulemused on esitatud kahes tabelis.

Elbrus 8C (SXD Aerdisk Vostok 2-E12)

Elbrus ja Intel: võrreldame AERODISK EAST ja Engine salvestussüsteemide jõudlust

Intel Xeon E5-2603 v4 (SXD Aerdisk Engine N2)

Elbrus ja Intel: võrreldame AERODISK EAST ja Engine salvestussüsteemide jõudlust

Tulemused osutusid äärmiselt huvitavaks. Mõlemal juhul kasutasime hästi kaasatud protsessori võimsust SXD-s (70-90% kasutus), ning sellistes tingimustes on selgelt näha mõlema protsessori plusse ja miinuseid.

Mõlemas tabelis on roheliselt esile tõstetud testid, kus protsessorid "tunnetavad end kindlalt" ja näitavad häid tulemusi, ning oranžiga on esile tõstetud olukorrad, mida protsessorid "ei armasta".

Kui rääkida juhuslikust koormusest väikeste plokkide kaupa, siis:

  • juhusliku lugemise osas on Intel kindlasti Elbrusest ees, erinevus on kaks korda;
  • juhusliku kirjutamise osas on selge viik, mõlemad protsessorid näitasid ligikaudu võrdseid ja väärikaid tulemusi.

Jada koormuse korral väikeste plokkide kaupa on olukord teine:

  • Nii lugemisel kui ka kirjutamisel on Intel oluliselt (kahe korda) kiiremini kui Elbrus. Samas, kuigi Elbruse IOPS-i näitaja on madalam kui Inteli oma, on see siiski respekti teeniv (200-300 tuhat), kuid latentsus on tõsine probleem (kolm korda kõrgem kui Inteli oma). Tulemus: praegune Elbruse 8C versioon ei salli väikeste plokkide järjestikuseid koormusi. Selgelt on veel palju tööd teha.

Kuid suurtel plokkidel järjestikusel koormusel on olukord täpselt vastupidine:

  • mõlemad protsessorid näitasid ligikaudu sama tulemust MB/s, kuid on üks AGA... Elbruse latentsuse näitajad on kümme (kümme, Karl!) korda paremad (st madalamad) kui Inteli analooge (0,4/0,5 ms võrreldes 5,1/6,5 ms). Alguses arvasime, et see on viga, seega kontrollisime tulemusi uuesti ja tegime kordustesti, kuid kordustest näitas sama pilti. See on tõsine eelis Elbrusele (ja arhitektuurile e2k laiemalt) Inteli ees (ja vastavalt amd64 arhitektuuri ees). Loodame, et see edu saab edasist arengut.

Elbrusel on veel üks huvitav omadus, millele tähelepanelik lugeja võib tähelepanu pöörata, vaadates tabelit. Kui vaadata Intel'i lugemise ja kirjutamise näitajate vahet, siis kõigis testides on lugemine keskmiselt umbes 50% võrra kiirem kui kirjutamine. See on norm, millega kõik (ka meie) on harjunud. Kui vaadata Elbrust, siis kirjutamise näitajad on oluliselt lähemal lugemise näitajatele, lugemine on tavaliselt 10–30% võrra kiirem kui kirjutamine, mitte enam.

Mida see ütleb? Et Elbrus "armastab" kirjutamist väga, ja see omakorda viitab sellele, et see protsessor on väga kasulik ülesannetes, kus kirjutamine selgelt domineerib lugemise üle (kes ütles Jarovi seaduse?), mis on samuti vaieldamatu eelis e2k arhitektuuris, ja seda eelist tuleb arendada.

Järeldused ja lähitulevik

Keskmise taseme Elbruse ja Intel'i protsessorite võrdlevad testid andsid andmesalvestuse ülesannetes umbes võrdseid ja igati hästi hinnatud tulemusi, samas kui iga protsessor näitas oma huvitavaid omadusi.

Intel ületas Elbrusi väikeste plokkide juhuslikus lugemises ning ka järjestikuses lugemises ja kirjutamises.

Juhuslikus kirjutamises väikeste plokkide kaupa saavutavad mõlemad protsessorid võrdsed tulemused.

Viivitusnäitajate poolest paistab Elbrus Intelist oluliselt paremini silma vooluharjunud koormustes, st järjestikuses lugemises ja kirjutamises suurte plokkide kaupa.

Lisaks sellele, erinevalt Intelist, suudab Elbrus sama hästi toime tulla nii lugemise kui ka kirjutamise koormustega, samas kui Intelil on lugemine alati selgelt parem kui kirjutamine.
Saadud tulemusi arvestades võib teha järeldusi Aerdisk Vostok andmesalvestussüsteemide rakendamise kohta Elbrus 8C protsessoriga järgmistes ülesannetes:

  • andmesüsteemid, kus domineerivad kirjutamisoperatsioonid;
  • faili juurde pääs;
  • otseedastamine;
  • videovalve;
  • varundamine;
  • meedia sisu.

MCST meeskonnal on veel palju teha, kuid nende töö tulemused on juba nähtavad, mis on kindlasti rõõmustav.

Need testid viidi läbi Linuxi tuumaga versioonil e2k 4.19. Praegu on beetatestimisel (MЦCT-s, Basalt SPO-s ja ka meie, Aэpоdiskis) Linux 5.4-e2k tuum, kus on muu hulgas tõsiselt ümber kujundatud ajakava ning palju optimeerimisi kiiresti SSD-de jaoks. Spetsiaalselt 5.x.x haru tuumade jaoks vabastab АО "МЦСТ" uue LCC kompilaatori versiooni 1.25. Esialgsete tulemuste põhjal võimaldab sama protsessoriga Эльбрус 8С uue kompilaatori abil koostatud uus tuum, tuuma keskkond, süsteemiteenused ja teegid ning tegelikult Aэродisk VОСТОК-i tarkvara saavutada veelgi suuremat jõudluskasvu. Ning see toimub ilma varustuse vahetamiseta — samal protsessoril ja samade sagedustega.

Ootame Aэродisk VОСТОК versiooni väljaandmist 5.4 tuumal aasta lõpuks ning niipea kui uus versioon on valmis, uuendame testimise tulemusi ja avaldame need siin.

Kui nüüd tagasi artikli algusesse pöörduda ja vastata küsimusele, kes on õigus: pessimistid, kes ütlevad, et Elbrus on "tulemuseta" ja ei dogane kunagi juhtivate protsessorite tootjatest, või ikka optimistid, kes ütlevad, et "oleme peaaegu järele jõudnud ja varsti möödume"? Kui mitte lähtuda stereotüüpidest ja uskumustest, vaid reaalsetest testidest, siis on optimistid kindlasti õiged.

Elbrus näitab juba praegu häid tulemusi, kui võrrelda seda keskmise taseme amd64 protsessoritega. Ülemiste Intel või AMD serveri protsessorite mudelite 8-seeriaga on Elbrus, muidugi, kaugel, kuid ta ei olnudki sellele suunatud, selleks tuleb välja lasta 16C ja 32C protsessorid. Siis räägime edasi.

Me mõistame, et pärast seda artiklit küsimusi Elbruse kohta tuleb veelgi rohkem, seetõttu otsustasime korraldada veel ühe veebiseminari „OkolIT“, et otseülekandes nendele küsimustele vastata.

Seekord on meil külas MЦSTi peadirektori asetäitja Konstantin Trushkin. Veebiseminarile registreerimiseks klõpsake alloleval lingil.

Registreerimine veebinarile

Aitäh kõigile, nagu tavaliselt ootame konstruktiivset kriitikat ja huvitavaid küsimusi.

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster