
Mindenki üdvözöl! Folytatjuk az AERODISK VOSZTOK adatrendszer bemutatását, amely az orosz Elbrus 8C processzor alapjaira épül.
Ebben a cikkben (ahogy ígértük) részletesen megvizsgáljuk az Elbrusokkal kapcsolatos egyik legnépszerűbb és legérdekesebb témát, nevezetesen a teljesítményt. Az Elbrus teljesítményével kapcsolatban számos spekuláció létezik, amelyek teljesen ellentétesek. A pesszimisták azt mondják, hogy az Elbrus teljesítménye mostani „semmilyen”, és hogy a „vezető” gyártók szintjére való felzárkózáshoz évtizedek kellenek (tehát a jelenlegi valóságban – soha). Másrészt az optimisták azt állítják, hogy az Elbrus 8C már most is jó eredményeket mutat, és a következő pár évben, az új processzorverziók (Elbrus 16C és 32C) bevezetésével képesek leszünk „megelőzni és túlszárnyalni” a világ vezető processzorgyártóit.
Mi az AERODISK-nél praktikus emberek vagyunk, ezért a legkézenfekvőbb és legegyszerűbb (számunkra) utat választottuk: tesztelni, rögzíteni az eredményeket, és csak ezután levonni a következtetéseket. Végül meglehetősen sok tesztet végeztünk, és számos, az e2k architektúrájú Elbrus 8C működésével kapcsolatos sajátosságot fedeztünk fel (beleértve néhány kellemeset is), és természetesen összehasonlítottuk ezt az Intel Xeon amd64 architektúrájú processzorain alapuló hasonló tárolókkal.
Tudja, részletesebben a tesztekről, az eredményekről és az Elbrus alapú tárolók jövőbeli fejlesztéséről a következő "OколоИТ" webináriumon beszélünk, amely 2020.10.15-én 15:00-kor kerül megrendezésre. Az alábbi linken regisztrálhat.
→
Tesztkörnyezet
Két tesztkörnyezetet alakítottunk ki. Mindkét környezet egy Linux-szal működő szerverből áll, amely 16G FC switcheken keresztül csatlakozik két tárolóvezérlőhöz, amelyekben 12 SAS SSD 960 GB lemez található (11,5 TB „nyers kapacitás” vagy 5,7 TB „hasznos” kapacitás RAID-10 használatakor).
Sémásan a tesztkörnyezet a következők szerint néz ki.

1. tesztkörnyezet e2k (Elbrus)
A hardver konfiguráció a következő:
- Linux server (2xIntel Xeon E5-2603 v4 (6 mag, 1,70Ghz), 64 GB DDR4, 2xFC adapter 16G 2 port) – 1 db.
- FC Switch 16 G – 2 db.
- AERODISK VOSTOK 2-E12 tároló (2xElbrus 8C (8 mag, 1,20Ghz), 32 GB DDR3, 2xFE FC-adapter 16G 2 port, 12xSAS SSD 960 GB) — 1 db.
2. tesztkörnyezet amd64 (Intel)
Az e2k-ra vonatkozó hasonló konfiguráció összehasonlításához hasonló architektúrájú, hasonló teljesítményű tárolókon futott:
- Linux server (2xIntel Xeon E5-2603 v4 (6 mag, 1,70Ghz), 64 GB DDR4, 2xFC adapter 16G 2 port) – 1 db.
- FC Switch 16 G – 2 db.
- Aerodisk Engine N2 (2xIntel Xeon E5-2603 v4 (6 mag, 1,70Ghz), 32 GB DDR4, 2xFE FC-adapter 16G 2 port, 12xSAS SSD 960 GB) — 1 db.
Fontos megjegyzés: a teszt során alkalmazott Elbrusz 8C processzorok kizárólag DDR3 memória támogatásával rendelkeznek, ami természetesen "rossz, de nem tart sokáig". Az Elbrusz 8SV (jelenleg nem elérhető nálunk, de hamarosan lesz) támogatja a DDR4-et.
A teszt módszertana
A terhelés generálásához népszerű és bevált Flexible IO (FIO) programot használtunk.
Mindkét tárolórendszer konfigurálva van a saját ajánlásaink szerint, a blokkalapú hozzáférés magas teljesítménye érdekében, ezért DDP (Dynamic Disk Pool) diszkpoolokat használunk. Az tesztelési eredmények torzítása érdekében mindkét tárolórendszeren letiltjuk a tömörítést, deduplikálást és a RAM-cache-t.
Öt 500 GB-os, RAID-10-es D-LUN-t hoztunk létre, összesen 4 TB hasznos kapacitással (azaz kb. 70%-os kihasználtsággal a konfiguráció hasznos kapacitásának tekintetében).
Alapvető és népszerű tárolórendszer használati forgatókönyveket fogunk végrehajtani, különösen:
Az első két teszt egy tranzakcionális DBMS működését modellezi. Ebben a tesztcsoportban az IOPS és a késleltetés érdekel minket.
1) Véletlenszerű olvasás kis blokkokban 4k
a. Blokkméret = 4k
b. Olvasás/Írás = 100%/0%
c. Műveletek száma = 8
d. Sor mélysége = 32
e. Terhelési jelleg = Teljesen véletlenszerű
2) Véletlenszerű írás kis blokkokban 4k
a. Blokkméret = 4k
b. Olvasás/Írás = 0%/100%
c. Műveletek száma = 8
d. Sor mélysége = 32
e. Terhelési jelleg = Teljesen véletlenszerű
A következő két teszt az analitikai DBMS működését modellezi. Ebben a tesztcsoportban szintén az IOPS és a késleltetés érdekel minket.
3) Soros olvasás kis blokkokban 4k
a. Blokkméret = 4k
b. Olvasás/Írás = 100%/0%
c. Műveletek száma = 8
d. Sor mélysége = 32
e. Terhelési jelleg = Soros
4) Soros írás kis blokkokban 4k
a. Blokkméret = 4k
b. Olvasás/Írás = 0%/100%
c. Műveletek száma = 8
d. Sor mélysége = 32
e. Terhelési jelleg = Soros
A harmadik tesztcsoport a folyamatos olvasás (például online közvetítések, biztonsági mentések helyreállítása) és folyamatos írás (például videomegfigyelés, biztonsági mentések készítése) működését modellezi. Ebben a tesztcsoportban már nem az IOPS, hanem a MB/s és a késleltetés érdekel minket.
5) Soros olvasás nagy blokkokban 128k
a. Blokkméret = 128k
b. Olvasás/Írás = 0%/100%
c. Műveletek száma = 8
d. Sor mélysége = 32
e. Terhelési jelleg = Soros
6) Soros írás nagy blokkokban 128k
a. Blokkméret = 128k
b. Olvasás/Írás = 0%/100%
c. Műveletek száma = 8
d. Sor mélysége = 32
e. Terhelési jelleg = Soros
Minden teszt egy órán keresztül tart, a tömb 7 perces felmelegítési idejétől függetlenül.
A teszteredmények
A teszteredmények két táblázatba kerültek összegezésre.
Elbrusz 8C (A Aerodisk East 2-E12 tárolórendszer)

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

A teszteredmények rendkívül érdekesek lettek. Mindkét esetben jól kihasználtuk a tárolórendszerek processzor teljesítményét (70-90%-os kihasználtság), és ebben a helyzetben nyilvánvalóan feltűnnek a két processzor előnyei és hátrányai.
Mindkét táblázatban zöld színnel vannak kiemelve azok a tesztek, ahol a processzorok "magabiztosan" teljesítenek és jó eredményeket mutatnak, míg narancssárgával a processzorok által "nem kedvelt" helyzetek vannak megjelölve.
Ha a kis blokkokkal végzett véletlenszerű terhelésről beszélünk:
- a véletlenszerű olvasás szempontjából az Intel egyértelműen megelőzi az Elbrus-t, a különbség 2-szeres;
- a véletlenszerű írás tekintetében pedig egyértelmű döntetlennel zárult, mindkét processzor körülbelül azonos és méltó eredményeket mutatott.
Kis blokkokkal végzett sorozatos terhelésnél más a helyzet:
- olvasás és írás esetén az Intel lényegesen (2-szer) megelőzi az Elbrus-t. Míg az Elbrus IOPS értéke alacsonyabb az Intel-énél, de megjelenése tisztességes (200-300 ezer), a késleltetések egyértelmű problémákat mutatnak (háromszor magasabbak, mint az Intel-énél). Következtetés: az Elbrus 8C jelenlegi verziója nagyon "nem kedveli" a kis blokkokkal végzett sorozatos terheléseket. Világosan van min dolgozni.
A nagy blokkokkal végzett sorozatos terhelésnél viszont az ellenkező kép bontakozik ki:
- mindkét processzor körülbelül azonos eredményt mutatott MB/s-ban, de van egy nagy KÉRDÉS.... Az Elbrus késleltetési mutatói 10 (tíz, Karl!!!) alkalommal jobbak (azaz alacsonyabbak), mint az Intel hasonló processzoráé (0,4/0,5 ms a 5,1/6,5 ms-hoz képest). Eleinte azt hittük, hogy ez hibás eredmény, ezért újraellenőriztük az eredményeket, megismételtük a tesztet, de az újbóli teszt ugyanazt az eredményt hozta. Ez komoly előny az Elbrus (és az e2k architektúra) számára az Intel-hez (és így az amd64 architektúrához) képest. Reméljük, hogy ez a siker további fejlődést eredményez.
Van még egy érdekes sajátosság az Elbrusszal kapcsolatban, amelyet a figyelmes olvasó észrevehet, ha megnézi a táblázatot. Ha megnézzük az Intel olvasási és írási értékeinek különbségét, akkor az összes teszt során az olvasás átlagosan körülbelül 50%-kal megelőzi az írást. Ez a norma, amelyhez mindenki (így mi is) hozzászokott. Az Elbrus esetén azonban az írási értékek lényegesen közelebb állnak az olvasási értékekhez, az olvasás jellemzően 10-30%-kal megelőzi az írást, nem többel.
Mit mit mond ez? Azt, hogy az Elbrusz "nagyon szereti" a felírást, ami viszont azt jelenti, hogy ez a processzor nagyon hasznos lesz olyan feladatoknál, ahol a felírás egyértelműen dominál az olvasással szemben (ki mondta a Jarov törvényt?), ami szintén kétségtelen előnye az e2k architektúrának, és ezt az előnyt ki kell fejleszteni.
Következtetések és legközelebbi jövő
Az Elbrusz és az Intel közepes szintű processzorainak összehasonlító tesztjei az adatmegőrzési feladatokban körülbelül egyenlő és egyaránt dicséretes eredményeket mutattak, mindkét processzor érdekes jellemzőit felmutatva.
Az Intel jelentősen felülmúlta az Elbruszt a kis blokkok véletlenszerű olvasásában, valamint a kis blokkok szekvenciális olvasásában és írásában.
Kis blokkok véletlenszerű írása során mindkét processzor egyenlő eredményeket mutat.
A késleltetési mutatók alapján az Elbrusz jelentősen jobban teljesít, mint az Intel a folyamatos terhelés során, azaz a nagy blokkok szekvenciális olvasásában és írásában.
Továbbá az Elbrusz, ellentétben az Intellel, egyaránt jól teljesít az olvasási és írási terhelésekben, míg az Intel esetében az olvasás mindig jelentősen jobb, mint az írás.
A kapott eredmények alapján arra a következtetésre juthatunk, hogy az Aerodisk Vostok tárolórendszerek alkalmazhatók az Elbrusz 8C processzorral az alábbi feladatokban:
- információs rendszerek, ahol az írási műveletek dominálnak;
- fájlhozzáférés;
- online közvetítések;
- videomegfigyelés;
- tartalék másolat készítése;
- médiatartalom.
A MCST csapatának még van mit javítania, de a munkájuk eredménye már most is látható, ami természetesen nem lehet más, mint örvendetes.
A teszteléseket a 4.19-es verziójú Linux magon hajtották végre e2k számára. Jelenleg a Linux 5.4-e2k mag bétatesztelés alatt áll a MCSZT-nél, a Basalt SPU-nál, valamint nálunk, az Aéródisknél. Számos optimalizálást tartalmaz a tervező és a sebességfokozó SSD-k számára. Az AO „MCSZT” új LCC 1.25-ös fordítót ad ki az 5.x.x ág számára. Előzetes eredmények szerint az új fordítóval készült új mag, a mag környezete, a rendszereszközök és könyvtárak, valamint az Aéródisk VOSTOK szoftver jelentős teljesítménynövekedést eredményezhet ugyanazzal az Elbrus 8C processzorral, anélkül, hogy hardvercserére lenne szükség – ugyanazzal a processzorral és azonos frekvenciákon.
A várakozások szerint az Aéródisk VOSTOK 5.4-es magra alapozva a év végén fog megjelenni, és amint befejezzük az új verzió kidolgozását, frissítjük a tesztelési eredményeket, és közzétesszük azokat itt.
Ha most visszatérünk a cikk elejére, és megválaszoljuk a kérdést, hogy ki is van igazán: a pesszimisták, akik azt mondják, hogy az Elbrus „nem sok”, és soha nem fogja utolérni a vezető processzorgyártókat, vagy inkább az optimisták, akik azt mondják, hogy „már majdnem utolértük, és hamarosan megelőzzük”? Ha nem a sztereotípiákból és vallási előítéletekből indúlunk, hanem a valós tesztekből, akkor határozottan az optimisták álláspontja a helyes.
Az Elbrus már most is jó eredményeket mutat, ha középkategóriás amd64-es processzorokkal összehasonlítjuk. Az Intel vagy AMD 8-as kategóriájú szerverprocesszorokhoz képest persze még messze van, de ez nem is volt a célja, hiszen ennek érdekében 16C és 32C processzorok fognak megjelenni. Akkor majd beszélhetünk róla.
Tisztában vagyunk azzal, hogy ez a cikk után még több kérdés merül fel az Elbrus-szal kapcsolatban, ezért döntöttünk úgy, hogy egy új online 'OkolIT' webináriumot szervezünk, hogy a kérdésekre élő adásban válaszolhassunk.
Ezúttal vendégünk lesz a MCSZT vezérigazgató-helyettese, Konstantin Trushkin. A webináriumra az alábbi linken lehet jelentkezni.
→
Köszönjük mindenkinek, mint mindig várjuk a konstruktív kritikát és az érdekes kérdéseket.
Forrás: habr.com
