
Ahoj všichni. Pokračujeme v seznámení s datovým úložištěm AéroDisk VOSTOK, které je postaveno na ruském procesoru Elbrus 8C.
V tomto článku podrobně prozkoumáme jedno z nejpopulárnějších a nejzajímavějších témat spojených s Elbrusy, konkrétně výkon. O výkonu Elbrusu existuje dostatek spekulací, přičemž názory jsou zcela protichůdné. Pesimisté říkají, že výkon Elbrusu je nyní "žádný" a k tomu, aby dohnal "topové" výrobce, budou potřebná desetiletí (tedy v současné realitě – nikdy). Na druhou stranu optimisté tvrdí, že Elbrus 8C již nyní vykazuje dobré výsledky a v následujících pár letech s uvedením nových verzí procesorů (Elbrus 16C a 32C) můžeme "dohnat a předehnat" přední světové výrobce procesorů.
V AéroDisku jsme praktičtí lidé, a proto jsme se vydali nejjednodušší a nejjasnější cestou (pro nás): testovat, zaznamenávat výsledky a teprve poté vyvodit závěry. Nakonec jsme provedli poměrně velké množství testů a objevili řadu zvláštností v práci architektury Elbrus 8C (e2k), včetně několika příjemných, a pochopitelně jsme to porovnali s podobnými datovými úložišti na procesorech Intel Xeon architektury amd64.
Mimochodem, podrobněji o testech, výsledcích a budoucím rozvoji datových úložišť na Elbrusech budeme mluvit na našem dalším webináři "OkoIT" 15.10.2020 v 15:00. Zaregistrovat se můžete na odkazu níže.
→
Testovací stanice
Vytvořili jsme dvě testovací stanice. Obě stanice se skládají z serveru s Linuxem, připojeného přes 16G FC switche k dvěma řadičům datového úložiště, ve kterém je nainstalováno 12 disků SAS SSD o kapacitě 960 GB (11,5 TB "hrubé kapacity" nebo 5,7 TB "užitečné" kapacity, pokud použijeme RAID-10).
Schematic of the setup looks as follows.

Stanice č. 1 e2k (Elbrus)
Konfigurace zařízení je následující:
- Linux server (2xIntel Xeon E5-2603 v4 (6 jader, 1,70Ghz), 64 GB DDR4, 2xFC adaptér 16G 2 porty) – 1 ks.
- FC switch 16 G – 2 ks.
- Datové úložiště AéroDisk Vostok 2-E12 (2xElbrus 8C (8 jader, 1,20Ghz), 32 GB DDR3, 2xFE FC-adaptor 16G 2 port, 12xSAS SSD 960 GB) — 1 ks
Stanice č. 2 amd64 (Intel)
Pro porovnání byla použita podobná konfigurace datového úložiště s podobným procesorem podle charakteristik na amd64:
- Linux server (2xIntel Xeon E5-2603 v4 (6 jader, 1,70Ghz), 64 GB DDR4, 2xFC adaptér 16G 2 porty) – 1 ks.
- FC switch 16 G – 2 ks.
- Datové úložiště Aerodisk Engine N2 (2xIntel Xeon E5-2603 v4 (6 jader, 1,70Ghz), 32 GB DDR4, 2xFE FC-adaptor 16G 2 port, 12xSAS SSD 960 GB) — 1 ks
Důležité upozornění: procesory Elbrus 8C používané v testu podporují pouze operační paměť DDR3, což je sice "špatné, ale ne na dlouho". Elbrus 8CV (momentálně ho nemáme k dispozici, ale brzy bude) podporuje DDR4.
Metodika testování
Pro generování zátěže jsme použili populární a osvědčený program Flexible IO (FIO).
Obě úložné systémy byly nakonfigurovány podle našich doporučení pro nastavení s ohledem na požadavky na vysoký výkon v blokovém přístupu, takže používáme diskové pooly DDP (Dynamic Disk Pool). Abychom nezkreslovali výsledky testování, na obou úložných systémech vypínáme kompresi, deduplikaci a RAM cache.
Bylo vytvořeno 8 D-LUNů v RAID-10 po 500 GB každý, celkový užitečný objem činí 4 TB (tj. přibližně 70 % z možného užitečného objemu této konfigurace).
Budou provedeny základní a populární scénáře použití úložných systémů, konkrétně:
první dva testy simulují práci transakční databáze. V této skupině testů nás zajímají IOPS a zpoždění.
1) Náhodné čtení malými bloky 4k
a. Velikost bloku = 4k
b. Čtení/zápis = 100%/0%
c. Počet pracovních procesů = 8
d. Hloubka fronty = 32
e. Charakter zátěže = Full Random
2) Náhodný zápis malými bloky 4k
a. Velikost bloku = 4k
b. Čtení/zápis = 0%/100%
c. Počet pracovních procesů = 8
d. Hloubka fronty = 32
e. Charakter zátěže = Full Random
druhé dva testy simulují práci analytické části databáze. V této skupině testů nás také zajímají IOPS a zpoždění.
3) Sekvenční čtení malými bloky 4k
a. Velikost bloku = 4k
b. Čtení/zápis = 100%/0%
c. Počet pracovních procesů = 8
d. Hloubka fronty = 32
e. Charakter zátěže = Sekvenční
4) Sekvenční zápis malými bloky 4k
a. Velikost bloku = 4k
b. Čtení/zápis = 0%/100%
c. Počet pracovních procesů = 8
d. Hloubka fronty = 32
e. Charakter zátěže = Sekvenční
třetí skupina testů simuluje práci s proudovým čtením (příklad – online přenosy, obnova záloh) a proudovým zápisem (příklad – video sledování, zápis záloh). V této skupině testů nás již zajímají nikoli IOPS, ale MB/s a také zpoždění.
5) Sekvenční čtení velkými bloky 128k
a. Velikost bloku = 128k
b. Čtení/zápis = 0%/100%
c. Počet pracovních procesů = 8
d. Hloubka fronty = 32
e. Charakter zátěže = Sekvenční
6) Sekvenční zápis velkými bloky 128k
a. Velikost bloku = 128k
b. Čtení/zápis = 0%/100%
c. Počet pracovních procesů = 8
d. Hloubka fronty = 32
e. Charakter zátěže = Sekvenční
Každý test bude trvat jednu hodinu bez zohlednění času na zahřátí pole, který činí 7 minut.
Výsledky testů
Výsledky testů byly shrnuty do dvou tabulek.
Elbrus 8C (Úložný systém Aerodisk Vostok 2-E12)

Intel Xeon E5-2603 v4 (Úložný systém Aerodisk Engine N2)

Výsledky se ukázaly jako velmi zajímavé. V obou případech jsme dobře využili procesorové kapacity úložných systémů (70-90% využití), a při tomto uspořádání se jasně ukazují výhody a nevýhody obou procesorů.
V obou tabulkách jsou zelenou barvou zvýrazněny testy, ve kterých se procesory „cítí sebevědomě“ a vykazují dobré výsledky, zatímco oranžovou barvou jsou zvýrazněny situace, které procesory „nemají rády“.
Pokud hovoříme o náhodné zátěži malými bloky, pak:
- z hlediska náhodného čtení je Intel jednoznačně před Elbrusem, rozdíl je dvakrát;
- z hlediska náhodného zápisu je to jasná remíza, oba procesory vykázaly přibližně stejné a důstojné výsledky.
Při sekvenční zátěži malými bloky je situace jiná:
- jak při čtení, tak při zápisu Intel výrazně (dvakrát) předčí Elbrus. Přičemž, pokud jde o Elbrus, ukazatel IOPS je nižší než u Intelu, ale vypadá slušně (200-300 tisíc), tak zpoždění je jasný problém (třikrát vyšší než u Intelu). Závěr: aktuální verze Elbrusu 8C velmi „nemá ráda“ sekvenční zátěže malými bloky. Očividně je na čem pracovat.
A při sekvenční zátěži velkými bloky je situace zcela opačná:
- oba procesory vykázaly přibližně rovný výsledek v MB/s, ale je tu jedno ALE... Údaje o zpoždění u Elbrusu jsou desetkrát (desetkrát, Karl!!!) lepší (tj. nižší) než u srovnatelného procesoru od Intelu (0,4/0,5 ms proti 5,1/6,5 ms). Zpočátku jsme si mysleli, že jde o chybu, proto jsme výsledky znovu zkontrolovali, provedli opakovaný test, ale opakovaný test ukázal stejný obrázek. To je vážná výhoda Elbrusu (a architektury e2k v celé její šíři) vzhledem k Intelu (a tím pádem architektuře amd64). Doufejme, že tento úspěch bude dále rozvíjen.
Existuje ještě jedna zajímavá zvláštnost Elbrusu, na kterou si může pozorný čtenář všimnout, pokud se podívá na tabulku. Pokud se podíváme na rozdíl v ukazatelích čtení a zápisu u Intelu, ve všech testech čtení předbíhá zápis průměrně o více než 50%. To je norma, na kterou si všichni (včetně nás) zvykli. Pokud se podíváme na Elbrus, ukazatele zápisu jsou výrazně blíže ukazatelům čtení, čtení obvykle předbíhá zápis o 10 – 30%, ne více.
Co to znamená? Že procesor Elbrus "velmi rád" zapisuje, což znamená, že tento procesor bude velmi užitečný v úlohách, kde zápis jasně převládá nad čtením (kdo řekl zákon Jarovoj?), což je také nespornou výhodou architektury e2k, a tuto výhodu je třeba rozvíjet.
Závěry a blízká budoucnost
Srovnávací testy procesorů střední třídy Elbrus a Intel pro úlohy ukládání dat ukázaly přibližně rovné a stejně hodnotné výsledky, přičemž každý procesor vykázal své zajímavé rysy.
Intel výrazně překonal Elbrus v náhodném čtení malými bloky, stejně jako v sekvenčním čtení a zápisu malými bloky.
Při náhodném zápisu malými bloky vykazují oba procesory rovné výsledky.
Podle ukazatelů latence se Elbrus zdá být výrazně lepší než Intel při streamovací zátěži, tj. při sekvenčním čtení a zápisu velkými bloky.
Navíc Elbrus na rozdíl od Intelu stejně dobře zvládá jak zátěže pro čtení, tak pro zápis, zatímco u Intelu je čtení vždy výrazně lepší než zápis.
Na základě získaných výsledků lze vyvodit závěr o použitelnosti systémů ukládání dat AeroDisk Vostok na procesoru Elbrus 8C v následujících úlohách:
- informační systémy s převahou operací zápisu;
- soubory přístupu;
- on-line přenosy;
- videodohled;
- zálohování;
- mediální obsah.
Tým MCST má ještě na čem pracovat, ale výsledky jejich práce jsou již nyní viditelné, což samozřejmě nemůže než potěšit.
Tyto testy byly prováděny na jádře Linux pro e2k verze 4.19, v současnosti probíhají beta testy jádra Linux 5.4-e2k, ve kterém byla mimo jiné zásadně přepracována plánovač a mnoho optimalizací pro rychlé solid-state disky. Také speciálně pro jádra větve 5.x.x vydává AО "MЦCT" nový kompilátor LCC verze 1.25. Podle předběžných výsledků bude na stejném procesoru Elbrus 8C sestavené novým kompilátorem nové jádro, prostředí jádra, systémové nástroje a knihovny a vlastně software Aэродиск ВОСТОК poskytovat ještě výraznější nárůst výkonu. A to bez výměny hardwaru — na stejném procesoru a s těmito stejnými frekvencemi.
Očekáváme vydání verze Aэродиск ВОСТОК na základě jádra 5.4 blíže k konci roku, a jakmile bude práce na nové verzi dokončena, aktualizujeme výsledky testování a také je zde zveřejníme.
Pokud se teď vrátíme na začátek článku a odpovíme na otázku, kdo má pravdu: pesimisté, kteří říkají, že Elbrus je "nic" a nikdy nedoženou přední výrobce procesorů, nebo optimisté, kteří tvrdí, že "už skoro dohnali a brzy předhoní"? Pokud vycházíme ne ze stereotypů a náboženských předsudků, ale z reálných testů, pak jednoznačně mají pravdu optimisté.
Elbrus už nyní ukazuje dobré výsledky, pokud jej porovnáváme s procesory amd64 střední úrovně. K horní řadě serverových procesorů Intel nebo AMD 8C Elbrusu je samozřejmě daleko, ale na to ani nemířil, pro to budou vydány procesory 16C a 32C. Až tehdy si o tom promluvíme.
Chápeme, že po tomto článku vzroste počet dotazů týkajících se Elbrusu, proto jsme se rozhodli uspořádat další online webinář "OkoloIT", abychom v přímém přenosu na tyto otázky odpověděli.
Tentokrát bude naším hostem zástupce generálního ředitele společnosti MЦCT, Konstantin Trushkin. Přihlášení na webinář je možné prostřednictvím odkazu níže.
→
Všem děkujeme, jako obvykle očekáváme konstruktivní kritiku a zajímavé dotazy.
Zdroj: habr.com
