Elbrus VS Intel. Az Aerodisk Vostok és az Engine tárolórendszerek teljesítményének összehasonlítása

Elbrus VS Intel. Az Aerodisk Vostok és az Engine tárolórendszerek teljesítményének összehasonlítása

Sziasztok. Folytatjuk az orosz Elbrus 8C processzorra épülő Aerodisk VOSTOK adattároló rendszer bemutatását.

Ebben a cikkben (ahogyan ígértük) részletesen elemezzük az Elbrusszal kapcsolatos egyik legnépszerűbb és legérdekesebb témát, nevezetesen a termelékenységet. Elég sok találgatás kering az Elbrus teljesítményével kapcsolatban, és abszolút sarkosak is. A pesszimisták szerint az Elbrus termelékenysége ma már „semmi”, és évtizedekbe fog telni, hogy utolérje a „legjobb” gyártókat (azaz a jelenlegi valóságban soha). Másrészt az optimisták szerint az Elbrus 8C már most is jó eredményeket mutat, és a következő pár évben a processzorok új verzióinak megjelenésével (Elbrus 16C és 32C) már „utolérhetjük és előzhetjük” a világ vezető processzorgyártói.

Mi az Aerodisknél gyakorlatias emberek vagyunk, ezért a (számunkra) legegyszerűbb és legérthetőbb utat választottuk: teszteljük, rögzítsük az eredményeket, és csak ezután vonjuk le a következtetéseket. Ennek eredményeként meglehetősen nagy számú tesztet végeztünk, és felfedeztük az Elbrus 8C e2k architektúra számos működési jellemzőjét (beleértve a kellemeseket is), és természetesen összehasonlítottuk ezt az Intel Xeon amd64 architektúrájú processzorok hasonló tárolórendszereivel.

A tesztekről, eredményekről és az Elbrus tárolórendszereinek jövőbeni fejlesztéséről egyébként 15.10.2020. október 15-én, 00:XNUMX-kor a következő webináriumunkon, az „OkoloIT”-en fogunk részletesebben is beszélni. Regisztrálni az alábbi linken lehet.

Regisztráció a webinarhoz

Próbapad

Két standot hoztunk létre. Mindkét stand egy Linuxot futtató szerverből áll, amely 16G FC switcheken keresztül két tárolóvezérlőhöz kapcsolódik, melybe 12 db SAS SSD 960 GB lemez került beépítésre (11,5 TB „nyers kapacitás” vagy 5,7 TB „használható” kapacitás, ha RAID-et használunk). -10).

Az állvány sematikusan így néz ki.

Elbrus VS Intel. Az Aerodisk Vostok és az Engine tárolórendszerek teljesítményének összehasonlítása

1. számú stand e2k (Elbrus)

A hardver konfigurációja a következő:

  • Linux szerver (2xIntel Xeon E5-2603 v4 (6 mag, 1,70 Ghz), 64 GB DDR4, 2xFC adapter 16G 2 port) – 1 db.
  • Kapcsoló FC 16 G – 2 db.
  • Tárolórendszer Aerodisk Vostok 2-E12 (2xElbrus 8C (8 mag, 1,20 Ghz), 32 GB DDR3, 2xFE FC-adapter 16G 2 port, 12xSAS SSD 960 GB) - 1 db.

2. számú állvány amd64 (Intel)

Az e2k hasonló konfigurációjával való összehasonlításhoz hasonló tárolási konfigurációt használtunk az amd64-hez hasonló jellemzőkkel rendelkező processzorral:

  • Linux szerver (2xIntel Xeon E5-2603 v4 (6 mag, 1,70 Ghz), 64 GB DDR4, 2xFC adapter 16G 2 port) – 1 db.
  • Kapcsoló FC 16 G – 2 db.
  • Tárolórendszer Aerodisk Engine N2 (2xIntel Xeon E5-2603 v4 (6 mag, 1,70 Ghz), 32 GB DDR4, 2xFE FC-adapter 16G 2 port, 12xSAS SSD 960 GB) - 1 db.

Fontos megjegyzés: a tesztben használt Elbrus 8C processzorok csak DDR3 RAM-ot támogatnak, ez természetesen „rossz, de nem sokáig”. Az Elbrus 8SV (még nincs raktáron, de hamarosan meglesz) támogatja a DDR4-et.

Vizsgálati módszertan

A terhelés generálásához a népszerű és jól bevált Flexible IO (FIO) programot használtuk.

Mindkét tárolórendszer a konfigurációs ajánlásaink szerint van konfigurálva, a blokkhozzáférés nagy teljesítményére vonatkozó követelmények alapján, ezért DDP (Dynamic Disk Pool) lemeztárakat használunk. Annak érdekében, hogy a teszteredmények ne torzuljanak, mindkét tárolórendszeren letiltjuk a tömörítést, a deduplikációt és a RAM-gyorsítótárat.

A RAID-8-ben 10 darab D-LUN jött létre, egyenként 500 GB-os, teljes felhasználható kapacitással 4 TB (azaz a konfiguráció lehetséges felhasználható kapacitásának körülbelül 70%-a).

A tárolórendszerek használatához alapvető és népszerű forgatókönyvek kerülnek végrehajtásra, különösen:

az első két teszt egy tranzakciós DBMS működését emulálja. Ebben a tesztcsoportban az IOPS és a késleltetés érdekel bennünket.

1) Véletlenszerű leolvasás kis blokkban 4k
a. Blokkméret = 4k
b. Olvasás/írás = 100%/0%
c. Munkák száma = 8
d. Sormélység = 32
e. Karakter betöltése = Teljes véletlenszerű

2) Véletlenszerű felvétel kis blokkban 4k
a. Blokkméret = 4k
b. Olvasás/írás = 0%/100%
c. Munkák száma = 8
d. Sormélység = 32
e. Karakter betöltése = Teljes véletlenszerű

a második két teszt a DBMS analitikai részének működését emulálja. Ebben a tesztcsoportban az IOPS és a késleltetés is érdekel bennünket.

3) Szekvenciális leolvasás kis blokkban 4k
a. Blokkméret = 4k
b. Olvasás/írás = 100%/0%
c. Munkák száma = 8
d. Sormélység = 32
e. Karakter betöltése = Szekvenciális

4) Sorozatos rögzítés kis blokkban 4k
a. Blokkméret = 4k
b. Olvasás/írás = 0%/100%
c. Munkák száma = 8
d. Sormélység = 32
e. Karakter betöltése = Szekvenciális

A tesztek harmadik csoportja a streaming olvasást (például: online adások, biztonsági mentések visszaállítása) és a streaming rögzítést (például: videó megfigyelés, biztonsági mentések rögzítése) emulálja. Ebben a tesztcsoportban már nem az IOPS érdekel minket, hanem a MB/s és a késleltetés is.

5) Szekvenciális leolvasás nagy, 128k-os blokkokban
a. Blokkméret = 128k
b. Olvasás/írás = 0%/100%
c. Munkák száma = 8
d. Sormélység = 32
e. Karakter betöltése = Szekvenciális

6) Szekvenciális rögzítés nagy, 128k-os blokkokban
a. Blokkméret = 128k
b. Olvasás/írás = 0%/100%
c. Munkák száma = 8
d. Sormélység = 32
e. Karakter betöltése = Szekvenciális

Minden teszt egy órát vesz igénybe, nem számítva a 7 perces bemelegedési időt.

Teszteredmények

A vizsgálati eredményeket két táblázatban foglaljuk össze.

Elbrus 8S (SHD Aerodisk Vostok 2-E12)

Elbrus VS Intel. Az Aerodisk Vostok és az Engine tárolórendszerek teljesítményének összehasonlítása

Intel Xeon E5-2603 v4 (tárolórendszer Aerodisk Engine N2)

Elbrus VS Intel. Az Aerodisk Vostok és az Engine tárolórendszerek teljesítményének összehasonlítása

Az eredmények rendkívül érdekesnek bizonyultak. Mindkét esetben jól kihasználtuk a tárolórendszer feldolgozási teljesítményét (70-90%-os kihasználtság), és ebben a helyzetben mindkét processzor előnyei és hátrányai egyértelműen megmutatkoznak.

Mindkét táblázatban zölddel vannak kiemelve azok a tesztek, ahol a processzorok „bizalommal érzik magukat” és jó eredményeket mutatnak, míg a processzoroknak „nem tetsző” helyzetek narancssárgával vannak kiemelve.

Ha véletlenszerű terhelésről beszélünk kis blokkban, akkor:

  • a véletlenszerű leolvasás szempontjából az Intel minden bizonnyal megelőzi az Elbrust, a különbség 2-szeres;
  • a véletlenszerű felvétel szempontjából határozottan döntetlen, mindkét processzor megközelítőleg egyenlő és tisztességes eredményt mutatott.

Kis blokkokban történő szekvenciális terhelés esetén a kép más:

  • olvasásban és írásban is az Intel jelentősen (2-szer) megelőzi Elbrust. Ugyanakkor, ha az Elbrus IOPS mutatója alacsonyabb, mint az Intel, de jól néz ki (200-300 ezer), akkor nyilvánvaló probléma van a késleltetésekkel (háromszor magasabbak, mint az Intel). Következtetés, az Elbrus 8C jelenlegi verziója nagyon „nem szereti” a kis blokkokban történő szekvenciális terheléseket. Nyilvánvalóan van még tennivaló.

De nagy blokkokban történő szekvenciális terhelés esetén a kép pontosan az ellenkezője:

  • mindkét processzor nagyjából azonos eredményt mutatott MB/s-ban, de van egy DE.... Az Elbrus késleltetési teljesítménye 10-szer (tíz, Karl!!!) jobb (azaz alacsonyabb), mint egy hasonló Intel processzoré (0,4/0,5 ms versus 5,1/6,5 ms). Először azt hittük, hogy hiba van, ezért újraellenőriztük az eredményeket, újratesztet csináltunk, de az újrateszt ugyanazt a képet mutatta. Ez komoly előnye az Elbrusnak (és általában az e2k architektúrának) az Intellel (és ennek megfelelően az amd64 architektúrával) szemben. Reméljük, hogy ezt a sikert tovább fogják fejleszteni.

Van még egy érdekessége az Elbrusnak, amelyre a figyelmes olvasó a táblázatot nézve felfigyelhet. Ha megnézzük az Intel olvasási és írási teljesítménye közötti különbséget, akkor az összes tesztben az olvasás átlagosan körülbelül 50%-kal+ megelőzi az írást. Ez az a norma, amelyhez mindenki (köztük mi is) hozzászokott. Ha megnézi az Elbrust, az írási mutatók sokkal közelebb állnak az olvasási mutatókhoz; az olvasás általában 10-30%-kal megelőzi az írást, nem több.

Mit is jelent ez? Az a tény, hogy Elbrus „nagyon szereti” az írást, és ez viszont arra utal, hogy ez a processzor nagyon hasznos lesz olyan feladatokban, ahol az írás egyértelműen felülkerekedik az olvasással szemben (ki mondta Jarovaja törvényét?), ami szintén kétségtelen előnye az e2k architektúrának, és ezt az előnyt fejleszteni kell.

Következtetések és a közeljövő

Az Elbrus és Intel középkategóriás processzorok adattárolási feladatokra vonatkozó összehasonlító tesztjei megközelítőleg azonos és egyformán méltó eredményeket mutattak, miközben mindegyik processzor megmutatta a maga érdekességeit.

Az Intel nagymértékben felülmúlta az Elbrust a kis blokkok véletlenszerű olvasásában, valamint a kis blokkokban történő szekvenciális olvasásban és írásban.

Ha véletlenszerűen, kis blokkokban írunk, mindkét processzor azonos eredményt mutat.

A késleltetést tekintve az Elbrus lényegesen jobban néz ki, mint az Intel streaming terhelésben, pl. szekvenciális olvasásban és írásban nagy blokkokban.

Ráadásul az Elbrus az Intellel ellentétben egyformán jól megbirkózik az olvasási és írási terhelésekkel, míg az Intelnél az olvasás mindig sokkal jobb, mint az írás.
A kapott eredmények alapján következtetést vonhatunk le az Aerodisk Vostok adattároló rendszerek Elbrus 8C processzoron való alkalmazhatóságáról az alábbi feladatokban:

  • információs rendszerek túlnyomórészt írási műveletekkel;
  • fájl hozzáférés;
  • Online adások;
  • videomegfigyelés;
  • biztonsági mentés;
  • médiatartalom.

Az MCST csapatának van még min dolgoznia, de már látszik a munkájuk eredménye, aminek természetesen nem lehet mást, mint örülni.

Ezeket a teszteket az e2k 4.19-es verziójú Linux kernelen végezték, jelenleg béta tesztekben (MCST-ben, Basalt SPO-ban és itt Aerodisk-ben is) van egy 5.4-e2k Linux kernel, amelyben többek között benne van komolyan újratervezték az ütemezőt és számos optimalizálást a nagy sebességű szilárdtestalapú meghajtókhoz. Ezenkívül az MCST JSC kifejezetten az 5.x.x ág rendszermagjaihoz kiad egy új LCC fordítót, az 1.25-ös verziót. Az előzetes eredmények szerint ugyanazon az Elbrus 8C processzoron egy új fordítóval lefordított új kernel, kernelkörnyezet, rendszer segédprogramok és könyvtárak, sőt, az Aerodisk VOSTOK szoftver még jelentősebb teljesítménynövekedést tesz lehetővé. És ez a berendezések cseréje nélkül történik - ugyanazon a processzoron és ugyanazokkal a frekvenciákkal.

Az Aerodisk VOSTOK 5.4-es kernelre épülő verziójának megjelenését az év vége felé várjuk, és amint befejeződik az új verzió munkálatai, frissítjük a teszteredményeket, és itt is közzétesszük.

Ha most visszatérünk a cikk elejére és válaszolunk a kérdésre, kinek van igaza: pesszimistáknak, akik azt mondják, hogy az Elbrus „semmi”, és soha nem fogja utolérni a vezető processzorgyártókat, vagy optimistáknak, akik azt mondják, hogy „már majdnem elkapták felfelé és hamarosan megelőzi "? Ha nem sztereotípiákból és vallási előítéletekből indulunk ki, hanem valódi tesztekből, akkor az optimistáknak határozottan igazuk van.

Az Elbrus már most is jó eredményeket mutat a középszintű amd64 processzorokhoz képest. Az Elbrus 8-ke természetesen távol áll az Intel vagy az AMD szerverprocesszorainak csúcsmodelljétől, de nem oda célzott, a 16C és 32C processzorok erre a célra fognak megjelenni. Akkor majd beszélünk.

Megértjük, hogy e cikk után még több kérdés lesz az Elbrusszal kapcsolatban, ezért úgy döntöttünk, hogy egy újabb online webináriumot szervezünk „OkoloIT”, hogy élőben válaszoljunk ezekre a kérdésekre.

Vendégünk ezúttal az MCST cég vezérigazgató-helyettese, Konstantin Truskin lesz. A webináriumra az alábbi linken lehet regisztrálni.

Regisztráció a webinarhoz

Köszönjük mindenkinek, mint mindig, most is várjuk az építő kritikát és az érdekes kérdéseket.

Forrás: will.com

Hozzászólás