
Pozdrav svima. Nastavljamo vas upoznavati sa sustavom pohrane podataka Aerodisk VOSTOK, temeljenom na ruskom procesoru Elbrus 8C.
U ovom članku ćemo (kao što smo obećali) detaljno obraditi jednu od najpopularnijih i najzanimljivijih tema vezanih uz Elbruse, a to je – performanse. O performansama Elbrusa postoji dosta spekulacija, i to potpuno polarnih. Pesimisti kažu da je performansa Elbrusa trenutno "nikakva", i da će proći desetljeća da bi dostigli "najbolje" proizvođače (tj. u uvjetima sadašnje stvarnosti — nikada). S druge strane, optimisti tvrde da već sada Elbrus 8C pokazuje dobre rezultate, a u narednih par godina s izlaskom novih verzija procesora (Elbrus 16C i 32C) moći ćemo "dohvatiti i prestići" vodeće svjetske proizvođače procesora.
Mi u Aerodisku smo praktični ljudi, stoga smo krenuli najjednostavnijim i najjasnijim putem (za nas): testirati, zabilježiti rezultate i tek onda donositi zaključke. Na kraju smo proveli prilično veliki broj testova i otkrili nekoliko značajki rada Elbrusa 8C arhitekture e2k (uključujući i ugodne) i, naravno, usporedili to s sličnim sustavima pohrane temeljenim na Intel Xeon procesorima arhitekture amd64.
Usput, detaljnije o testovima, rezultatima i budućem razvoju sustava pohrane temeljenih na Elbrusima razgovarat ćemo na našem sljedećem webinaru "Oko IT-a" 15.10.2020. u 15:00. Registrirati se možete putem linka ispod.
→
Testni sto
Stvorili smo dva postava. Oba postava se sastoje od servera s Linuxom, povezanog putem 16G FC preklopnika s dva kontrolerima sustava pohrane, u kojem je instalirano 12 SAS SSD diskova od 960 GB (11,5 TB "sirove kapacitete" ili 5,7 TB "korisne" kapacitete, kada koristimo RAID-10).
Shema postava izgleda ovako.

Postav №1 e2k (Elbrus)
Konfiguracija opreme je sljedeća:
- Linux server (2xIntel Xeon E5-2603 v4 (6 cores, 1,70Ghz), 64 GB DDR4, 2xFC adapter 16G 2 porta) – 1 kom.
- FC preklopnik 16 G – 2 kom.
- Sustav pohrane Aerodisk Vostok 2-E12 (2xElbrus 8C (8 cores, 1,20Ghz), 32 GB DDR3, 2xFE FC adapter 16G 2 porta, 12xSAS SSD 960 GB) — 1 kom.
Postav №2 amd64 (Intel)
Za usporedbu s analognom konfiguracijom na e2k korištena je slična konfiguracija sustava pohrane s sličnim procesorom po karakteristikama na amd64:
- Linux server (2xIntel Xeon E5-2603 v4 (6 cores, 1,70Ghz), 64 GB DDR4, 2xFC adapter 16G 2 porta) – 1 kom.
- FC preklopnik 16 G – 2 kom.
- Sustav pohrane Aerodisk Engine N2 (2xIntel Xeon E5-2603 v4 (6 cores, 1,70Ghz), 32 GB DDR4, 2xFE FC adapter 16G 2 porta, 12xSAS SSD 960 GB) — 1 kom.
Važna napomena: korišteni procesori Elbrus 8C u testu podržavaju samo DDR3 radnu memoriju, što je, naravno, „loše, ali ne dugo“. Elbrus 8CV (zasad ga nemamo na skladištu, ali uskoro će biti) podržava DDR4.
Metodologija testiranja
Za generiranje opterećenja koristili smo popularni i vremenski provjeren program Flexible IO (FIO).
Obje SAN-ove su konfigurirane prema našim vlastitim preporukama za podešavanje, temeljenim na zahtjevima za visokom performansom na blokovnom pristupu, stoga koristimo diskovne skupine DDP (Dynamic Disk Pool). Da ne bismo iskrivili rezultate testiranja, na obje SAN-ove isključujemo kompresiju, deduplifikaciju i RAM-cache.
Stvoreno je 8 D-LUN-ova u RAID-10 po 500 GB svaki, ukupni korisni volumen iznosi 4 TB (tj. približno 70% od mogućeg korisnog kapaciteta ove konfiguracije).
Izvodit će se osnovni i popularni scenariji korištenja SAN-ova, posebno:
prva dva testa emuliraju rad transakcijske DBMS. U ovoj grupi testova zanimaju nas IOPS-i i latencija.
1) Nasumično čitanje malim blokovima 4k
a. Veličina bloka = 4k
b. Čitanje/upis = 100%/0%
c. Broj radnji = 8
d. Dubina reda = 32
e. Karakter opterećenja = Potpuno nasumično
2) Nasumično pisanje malim blokovima 4k
a. Veličina bloka = 4k
b. Čitanje/upis = 0%/100%
c. Broj radnji = 8
d. Dubina reda = 32
e. Karakter opterećenja = Potpuno nasumično
druga dva testa emuliraju rad analitičkog dijela DBMS. U ovoj grupi testova također nas zanimaju IOPS-i i latencija.
3) Sekvencijalno čitanje malim blokovima 4k
a. Veličina bloka = 4k
b. Čitanje/upis = 100%/0%
c. Broj radnji = 8
d. Dubina reda = 32
e. Karakter opterećenja = Sekvencijalno
4) Sekvencijalno pisanje malim blokovima 4k
a. Veličina bloka = 4k
b. Čitanje/upis = 0%/100%
c. Broj radnji = 8
d. Dubina reda = 32
e. Karakter opterećenja = Sekvencijalno
treća grupa testova emulira rad streaming čitanja (primjer – online prijenosi, obnova sigurnosnih kopija) i streaming pisanja (primjer – videonadzor, snimanje sigurnosnih kopija). U ovoj grupi testova zanimaju nas ne IOPS-i, već MB/s i također latencija.
5) Sekvencijalno čitanje velikim blokovima 128k
a. Veličina bloka = 128k
b. Čitanje/upis = 0%/100%
c. Broj radnji = 8
d. Dubina reda = 32
e. Karakter opterećenja = Sekvencijalno
6) Sekvencijalno pisanje velikim blokovima 128k
a. Veličina bloka = 128k
b. Čitanje/upis = 0%/100%
c. Broj radnji = 8
d. Dubina reda = 32
e. Karakter opterećenja = Sekvencijalno
Svaki test će trajati jedan sat bez uključivanja vremena pripreme niza od 7 minuta.
Rezultati testova
Rezultati testova sažeti su u dvije tablice.
Elbrus 8C (SAN Aerodisk Istok 2-E12)

Intel Xeon E5-2603 v4 (SAN Aerodisk Engine N2)

Rezultati su vrlo zanimljivi. U oba slučaja dobro smo iskoristili procesorske resurse SAN-ova (70-90% iskorištenosti), a u tom smislu očito se ističu prednosti i nedostaci oba procesora.
U obje tablice testovi gdje procesori "dobro funkcioniraju" označeni su zelenom bojom, dok su situacije koje procesori "ne vole" označene narančastom bojom.
Ako govorimo o nasumičnom opterećenju malim blokovima, onda:
- s obzirom na nasumično čitanje, Intel je bez sumnje ispred Elbrusa, s razlikom od 2 puta;
- s obzirom na nasumično pisanje, definitivno je izjednačeno, oba procesora su pokazala otprilike jednake i dostojne rezultate.
U sekvencijalnom opterećenju malim blokovima slika je drugačija:
- i pri čitanju i pri pisanju Intel znatno (2 puta) nadmašuje Elbrus. Dok je IOPS kod Elbrusa ispod onog kod Intela, ali izgleda dostojno (200-300 tisuća), s latencijama doista postoji problem (one su tri puta veće nego kod Intela). Zaključak je da trenutna verzija Elbrusa 8S ne voli sekvencijalna opterećenja malim blokovima. Očigledno je da ima prostora za poboljšanje.
Međutim, u sekvencijalnom opterećenju velikim blokovima slika je potpuno suprotna:
- oba procesora su pokazala otprilike jednake rezultate u MB/s, ali postoji jedno ALI.... Pokazatelji kašnjenja kod Elbrusa su 10 (deset, Karl!!!) puta bolji (tj. niži) nego kod sličnog procesora od Intela (0,4/0,5 ms naspram 5,1/6,5 ms). U početku smo pomislili da je to greška, pa smo ponovo provjerili rezultate, napravili ponovni test, ali ponovni test je pokazao istu sliku. To je ozbiljna prednost Elbrusa (i e2k arhitekture općenito) u odnosu na Intel (i, sukladno tome, amd64 arhitekturu). Nadamo se da će ovaj uspjeh dobiti daljnji razvoj.
Postoji još jedna zanimljiva karakteristika Elbrusa koju bi pažljivi čitatelj mogao primijetiti gledajući tablicu. Ako pogledate razliku u pokazateljima čitanja i pisanja kod Intela, vidjet ćete da u svim testovima čitanje nadmašuje pisanje u prosjeku za otprilike 50%+. To je norma na koju su se svi (uključujući i nas) navikli. Kada pogledate Elbrus, pokazatelji pisanja su znatno bliži pokazateljima čitanja, čitanje obično nadmašuje pisanje za 10 – 30%, ne više.
Što to znači? To znači da Elbrus "značajno voli" zapisivanje, a to, opet, ukazuje na to da će ovaj procesor biti vrlo koristan u zadacima gdje zapisivanje prevladava nad čitanjem (tko je rekao Yarovoi zakon?), što je također nesporno prednost arhitekture e2k, i tu prednost treba razvijati.
Zaključci i bliža budućnost
Usporedni testovi procesora srednje klase Elbrus i Intel za zadatke pohrane podataka pokazali su približno jednake i podjednako dostojne rezultate, pri čemu je svaki procesor pokazao svoje zanimljive karakteristike.
Intel je znatno nadmašio Elbrus u slučajnom čitanju malih blokova, kao i u sekvencijalnom čitanju i pisanju malih blokova.
U slučaju slučajnog pisanja malih blokova oba procesora pokazuju jednake rezultate.
Na temelju pokazatelja kašnjenja, Elbrus izgleda značajno bolje od Intela pod opterećenjem, tj. u sekvencijalnom čitanju i pisanju velikih blokova.
Osim toga, za razliku od Intela, Elbrus jednako dobro podnosi opterećenja čitanja i pisanja, dok Intel uvijek znatno bolje čita nego što piše.
Na temelju dobivenih rezultata može se donijeti zaključak o primjenjivosti sustava za pohranu podataka Aerodisk Vostok na procesoru Elbrus 8C u sljedećim zadacima:
- informacijski sustavi s prevlastima operacija zapisivanja;
- datotečni pristup;
- online prijenosi;
- videonadzor;
- rezervno kopiranje;
- medijski sadržaj.
Tim MCS-a ima još posla, ali rezultati njihovog rada već su vidljivi, što, naravno, ne može a da ne raduje.
Ovi testovi su provedeni na Linux jezgru za e2k verziju 4.19, a trenutno su u beta testiranju (u MCST-u, u Bazalt SPU, kao i kod nas u Aerodisku) Linux jezgro 5.4-e2k, u kojem je, između ostalog, značajno revidiran scheduler i optimizacije za brze čvrste diskove. Također, posebno za jezgre grane 5.x.x, AО „MCST“ izdaje novi LCC kompajler verzije 1.25. Preliminarni rezultati pokazuju da će na istom procesoru Elbrus 8S, novo jezgro sastavljeno novim kompajlerom, okruženje jezgra, sistemske alate i biblioteke, kao i Aerodisk VOSTOK softver omogućiti još značajniji porast performansi. I to bez promjene opreme — na istom procesoru i s istim frekvencijama.
Očekujemo izlazak verzije Aerodisk VOSTOK zasnovane na jezgru 5.4 bliže kraju godine, i čim rad na novoj verziji bude završen, ažurirat ćemo rezultate testiranja i objaviti ih ovdje.
Ako se sada vratimo na početak članka i odgovorimo na pitanje ko je u pravu: pesimisti koji tvrde da je Elbrus „nikakav“ i nikada neće sustići vodeće proizvođače procesora, ili optimisti koji kažu da su „već skoro sustigli i uskoro će preteći“? Ako se oslonimo na stvarne testove umjesto na stereotipe i religiozne predrasude, optimisti su bez sumnje u pravu.
Elbrus već sada pokazuje dobre rezultate kada ga uporedimo sa srednje snažnim amd64 procesorima. Do vrhunskih modela serverskih procesora Intel ili AMD 8-serije, Elbrusu je, naravno, daleko, ali to mu nije ni cilj; za to će biti izdani procesori 16S i 32S. Onda ćemo razgovarati.
Razumijemo da će nakon ovog članka biti još više pitanja o Elbrusu, stoga smo odlučili organizirati još jedan online webinar „OkoIT“, kako bismo uživo odgovorili na ta pitanja.
Ovog puta u našem gostu bit će zamjenik generalnog direktora kompanije MCST, Konstantin Trushkin. Prijavite se na webinar putem donje veze.
→
Hvala svima, kao i obično, očekujemo konstruktivnu kritiku i zanimljiva pitanja.
Izvor: habr.com
