Sveiki visiem. TurpinÄm jÅ«s iepazÄ«stinÄt ar Aerodisk VOSTOK datu uzglabÄÅ”anas sistÄmu, kuras pamatÄ ir Krievijas Elbrus 8C procesors.
Å ajÄ rakstÄ mÄs (kÄ solÄ«ts) detalizÄti analizÄsim vienu no populÄrÄkajÄm un interesantÄkajÄm tÄmÄm, kas saistÄ«tas ar Elbrusu, proti, produktivitÄti. Par Elbrusa sniegumu ir diezgan daudz spekulÄciju, turklÄt absolÅ«ti polÄru. Pesimisti saka, ka Elbrusa produktivitÄte tagad ir "nekas", un bÅ«s nepiecieÅ”ami gadu desmiti, lai panÄktu "top" ražotÄjus (t.i., paÅ”reizÄjÄ realitÄtÄ nekad). SavukÄrt optimisti saka, ka Elbrus 8C jau uzrÄda labus rezultÄtus, un tuvÄko pÄris gadu laikÄ, iznÄkot jaunÄm procesoru versijÄm (Elbrus 16C un 32C), varÄsim āpanÄkt un apdzÄ«tā pasaules vadoÅ”ie procesoru ražotÄji.
MÄs Aerodisk esam praktiski cilvÄki, tÄpÄc izvÄlÄjÄmies visvienkÄrÅ”Äko un (mums) saprotamÄko ceļu: pÄrbaudi, fiksÄ rezultÄtus un tikai tad izdarÄm secinÄjumus. RezultÄtÄ mÄs veicÄm diezgan lielu skaitu testu un atklÄjÄm vairÄkas Elbrus 8C e2k arhitektÅ«ras darbÄ«bas funkcijas (tostarp patÄ«kamas) un, protams, salÄ«dzinÄjÄm to ar lÄ«dzÄ«gÄm atmiÅas sistÄmÄm Intel Xeon amd64 arhitektÅ«ras procesoros.
Starp citu, sÄ«kÄk par testiem, rezultÄtiem un Elbrus uzglabÄÅ”anas sistÄmu turpmÄko attÄ«stÄ«bu runÄsim mÅ«su nÄkamajÄ vebinÄrÄ āOkoloITā 15.10.2020. gada 15. oktobrÄ« plkst. 00:XNUMX. ReÄ£istrÄties var, izmantojot zemÄk esoÅ”o saiti.
Testa stends
Esam izveidojuÅ”i divus stendus. Abi stendi sastÄv no servera, kurÄ darbojas Linux, kas savienots ar 16G FC slÄdžiem ar diviem uzglabÄÅ”anas kontrolieriem, kuros ir uzstÄdÄ«ti 12 SAS SSD 960 GB diski (11,5 TB āneapstrÄdÄtaā vai 5,7 TB āizmantojamÄā ietilpÄ«ba, ja izmantojam RAID -10).
Shematiski stends izskatÄs Å”Ädi.
Stends Nr. 1 e2k (Elbrus)
AparatÅ«ras konfigurÄcija ir Å”Äda:
- Linux serveris (2xIntel Xeon E5-2603 v4 (6 kodoli, 1,70Ghz), 64 GB DDR4, 2xFC adapteris 16G 2 porti) ā 1 gab.
- SlÄdzis FC 16 G ā 2 gab.
- UzglabÄÅ”anas sistÄma Aerodisk Vostok 2-E12 (2xElbrus 8C (8 serdeÅi, 1,20Ghz), 32 GB DDR3, 2xFE FC-adapators 16G 2 ports, 12xSAS SSD 960 GB) - 1 gab.
Stends Nr. 2 amd64 (Intel)
SalÄ«dzinÄjumam ar lÄ«dzÄ«gu e2k konfigurÄciju mÄs izmantojÄm lÄ«dzÄ«gu krÄtuves konfigurÄciju ar procesoru, kas pÄc Ä«paŔībÄm ir lÄ«dzÄ«gs amd64:
- Linux serveris (2xIntel Xeon E5-2603 v4 (6 kodoli, 1,70Ghz), 64 GB DDR4, 2xFC adapteris 16G 2 porti) ā 1 gab.
- SlÄdzis FC 16 G ā 2 gab.
- UzglabÄÅ”anas sistÄma Aerodisk Engine N2 (2xIntel Xeon E5-2603 v4 (6 serdeÅi, 1,70Ghz), 32 GB DDR4, 2xFE FC-adapators 16G 2 ports, 12xSAS SSD 960 GB) - 1 gab.
SvarÄ«ga piezÄ«me: testÄ izmantotie Elbrus 8C procesori atbalsta tikai DDR3 RAM, tas, protams, ir āslikti, bet ne uz ilgu laikuā. Elbrus 8SV (mums tÄ vÄl nav noliktavÄ, bet drÄ«zumÄ) atbalsta DDR4.
PÄrbaudes metodika
Lai Ä£enerÄtu slodzi, mÄs izmantojÄm populÄro un laika pÄrbaudÄ«to Flexible IO (FIO) programmu.
Abas uzglabÄÅ”anas sistÄmas ir konfigurÄtas saskaÅÄ ar mÅ«su konfigurÄcijas ieteikumiem, pamatojoties uz augstas veiktspÄjas prasÄ«bÄm bloka piekļuvei, tÄpÄc mÄs izmantojam DDP (Dynamic Disk Pool) disku kopas. Lai netiktu izkropļoti testa rezultÄti, abÄs uzglabÄÅ”anas sistÄmÄs mÄs atspÄjojam saspieÅ”anu, dublÄÅ”anu un RAM keÅ”atmiÅu.
RAID-8 tika izveidoti 10 D-LUN, katrs 500 GB, ar kopÄjo izmantojamo ietilpÄ«bu 4 TB (t.i., aptuveni 70% no Ŕīs konfigurÄcijas iespÄjamÄs izmantojamÄs ietilpÄ«bas).
Tiks izpildÄ«ti pamata un populÄri uzglabÄÅ”anas sistÄmu izmantoÅ”anas scenÄriji, jo Ä«paÅ”i:
pirmie divi testi atdarina transakciju DBVS darbÄ«bu. Å ajÄ testu grupÄ mÅ«s interesÄ IOPS un latentums.
1) Izlases nolasīŔana mazos blokos 4k
a. Bloka izmÄrs = 4k
b. LasīŔana/rakstīŔana = 100%/0%
c. Darbu skaits = 8
d. Rindas dziļums = 32
e. IelÄdÄt rakstzÄ«mi = pilna nejauŔība
2) Izlases ierakstīŔana mazos blokos 4k
a. Bloka izmÄrs = 4k
b. LasīŔana/rakstīŔana = 0%/100%
c. Darbu skaits = 8
d. Rindas dziļums = 32
e. IelÄdÄt rakstzÄ«mi = pilna nejauŔība
otrie divi testi atdarina DBVS analÄ«tiskÄs daļas darbÄ«bu. Å ajÄ testu grupÄ mÅ«s interesÄ arÄ« IOPS un latentums.
3) SecÄ«gÄ nolasÄ«Å”ana mazos blokos 4k
a. Bloka izmÄrs = 4k
b. LasīŔana/rakstīŔana = 100%/0%
c. Darbu skaits = 8
d. Rindas dziļums = 32
e. IelÄdÄt rakstzÄ«mi = secÄ«gi
4) SecÄ«gÄ ierakstÄ«Å”ana mazos blokos 4k
a. Bloka izmÄrs = 4k
b. LasīŔana/rakstīŔana = 0%/100%
c. Darbu skaits = 8
d. Rindas dziļums = 32
e. IelÄdÄt rakstzÄ«mi = secÄ«gi
TreÅ”Ä testu grupa atdarina lasÄ«Å”anas straumÄÅ”anas (piemÄrs: tieÅ”saistes apraides, dublÄjumkopiju atjaunoÅ”ana) un straumÄÅ”anas ierakstÄ«Å”anas (piemÄram, videonovÄroÅ”anas, dublÄjumkopiju ierakstÄ«Å”anas) darbu. Å ajÄ testu grupÄ mÅ«s vairs neinteresÄ IOPS, bet gan MB/s un arÄ« latentums.
5) SecÄ«gÄ nolasÄ«Å”ana lielos 128k blokos
a. Bloka izmÄrs = 128k
b. LasīŔana/rakstīŔana = 0%/100%
c. Darbu skaits = 8
d. Rindas dziļums = 32
e. IelÄdÄt rakstzÄ«mi = secÄ«gi
6) SecÄ«gÄ ierakstÄ«Å”ana lielos 128k blokos
a. Bloka izmÄrs = 128k
b. LasīŔana/rakstīŔana = 0%/100%
c. Darbu skaits = 8
d. Rindas dziļums = 32
e. IelÄdÄt rakstzÄ«mi = secÄ«gi
Katrs tests ilgs vienu stundu, neskaitot masÄ«va iesildÄ«Å”anÄs laiku 7 minÅ«tes.
PÄrbaudes rezultÄti
PÄrbaudes rezultÄti ir apkopoti divÄs tabulÄs.
Elbrus 8S (SHD Aerodisk Vostok 2-E12)
Intel Xeon E5-2603 v4 (uzglabÄÅ”anas sistÄma Aerodisk Engine N2)
RezultÄti izrÄdÄ«jÄs ÄrkÄrtÄ«gi interesanti. Abos gadÄ«jumos mÄs labi izmantojÄm uzglabÄÅ”anas sistÄmas apstrÄdes jaudu (70-90% izmantoÅ”ana), un Å”ajÄ situÄcijÄ ir skaidri redzami abu procesoru plusi un mÄ«nusi.
AbÄs tabulÄs testi, kuros procesori ājÅ«tas pÄrliecinÄtiā un uzrÄda labus rezultÄtus, ir iezÄ«mÄti zaÄ¼Ä krÄsÄ, bet situÄcijas, kas procesoriem ānepatÄ«kā, ir izceltas oranÅ¾Ä krÄsÄ.
Ja mÄs runÄjam par nejauÅ”u slodzi mazos blokos, tad:
- no nejauÅ”Äs lasÄ«Å”anas viedokļa Intel noteikti ir priekÅ”Ä Elbrusam, atŔķirÄ«ba ir 2 reizes;
- no izlases ierakstÄ«Å”anas viedokļa noteikti ir neizŔķirts, abi procesori uzrÄdÄ«ja aptuveni vienÄdus un pieklÄjÄ«gus rezultÄtus.
SecÄ«gÄ slodzÄ mazos blokos attÄls ir atŔķirÄ«gs:
- gan lasot, gan rakstot Intel ievÄrojami (2 reizes) apsteidz Elbrusu. TajÄ paÅ”Ä laikÄ, ja Elbrus IOPS indikators ir zemÄks nekÄ Intel, bet tas izskatÄs pienÄcÄ«gi (200ā300 tÅ«kstoÅ”i), tad ir acÄ«mredzama problÄma ar kavÄÅ”anos (tie ir trÄ«s reizes lielÄki nekÄ Intel). SecinÄjums, paÅ”reizÄjai Elbrus 8C versijai patieÅ”Äm ānepatÄ«kā secÄ«gas slodzes mazos blokos. Skaidrs, ka ir kÄds darbs, kas jÄdara.
Bet secÄ«gÄ slodzÄ ar lieliem blokiem attÄls ir tieÅ”i pretÄjs:
- abi procesori uzrÄdÄ«ja aptuveni vienÄdus rezultÄtus MB/s, bet ir viens BET.... Elbrus latentuma veiktspÄja ir 10 (desmit, KÄrli!!!) reizes labÄka (t.i., zemÄka) nekÄ lÄ«dzÄ«gam Intel procesoram (0,4/0,5 ms pret 5,1/6,5 ms). SÄkumÄ mÄs domÄjÄm, ka tÄ ir kļūme, tÄpÄc mÄs vÄlreiz pÄrbaudÄ«jÄm rezultÄtus, veicÄm atkÄrtotu pÄrbaudi, bet atkÄrtotÄ pÄrbaude parÄdÄ«ja to paÅ”u attÄlu. TÄ ir nopietna Elbrus (un e2k arhitektÅ«ras kopumÄ) priekÅ”rocÄ«ba salÄ«dzinÄjumÄ ar Intel (un attiecÄ«gi arÄ« amd64 arhitektÅ«ru). CerÄsim, ka Å”ie panÄkumi tiks attÄ«stÄ«ti tÄlÄk.
Ir vÄl viena interesanta Elbrus iezÄ«me, kurai uzmanÄ«gs lasÄ«tÄjs var pievÄrst uzmanÄ«bu, aplÅ«kojot tabulu. Ja paskatÄs uz atŔķirÄ«bu starp Intel lasÄ«Å”anas un rakstÄ«Å”anas veiktspÄju, tad visos testos lasÄ«Å”ana apsteidz rakstÄ«Å”anu vidÄji par aptuveni 50%+. TÄ ir norma, pie kuras visi (arÄ« mÄs) ir pieraduÅ”i. Ja paskatÄs uz Elbrusu, rakstÄ«Å”anas indikatori ir daudz tuvÄk lasÄ«Å”anas indikatoriem; lasÄ«Å”ana parasti apsteidz rakstÄ«Å”anu par 10 - 30%, ne vairÄk.
Ko tas nozÄ«mÄ? Tas, ka Elbrusam āļoti patÄ«kā rakstÄ«t, un tas, savukÄrt, liek domÄt, ka Å”is procesors bÅ«s ļoti noderÄ«gs uzdevumos, kur rakstÄ«Å”ana nepÄrprotami dominÄ pÄr lasÄ«Å”anu (kurÅ” teica Jarovaja likumu?), kas arÄ« ir neapÅ”aubÄma e2k arhitektÅ«ras priekÅ”rocÄ«ba, un Ŕī priekÅ”rocÄ«ba ir jÄattÄ«sta.
SecinÄjumi un tuvÄkÄ nÄkotne
SalÄ«dzinoÅ”i Elbrus un Intel vidÄjÄs klases procesoru testi datu uzglabÄÅ”anas uzdevumiem uzrÄdÄ«ja aptuveni vienÄdus un vienlÄ«dz cienÄ«gus rezultÄtus, savukÄrt katrs procesors parÄdÄ«ja savas interesantÄs Ä«paŔības.
Intel ievÄrojami pÄrspÄja Elbrus izlases nolasÄ«Å”anÄ mazos blokos, kÄ arÄ« secÄ«gajÄ lasÄ«Å”anÄ un rakstÄ«Å”anÄ mazos blokos.
Rakstot nejauÅ”i mazos blokos, abi procesori uzrÄda vienÄdus rezultÄtus.
Latentuma ziÅÄ Elbrus izskatÄs ievÄrojami labÄk nekÄ Intel straumÄÅ”anas slodzÄ, t.i. secÄ«gÄ lasÄ«Å”anÄ un rakstÄ«Å”anÄ lielos blokos.
TurklÄt Elbrus atŔķirÄ«bÄ no Intel vienlÄ«dz labi tiek galÄ gan ar lasÄ«Å”anas, gan rakstÄ«Å”anas slodzi, savukÄrt ar Intel lasÄ«Å”ana vienmÄr ir daudz labÄka nekÄ rakstÄ«Å”ana.
Pamatojoties uz iegÅ«tajiem rezultÄtiem, varam izdarÄ«t secinÄjumu par Aerodisk Vostok datu uzglabÄÅ”anas sistÄmu pielietojamÄ«bu uz Elbrus 8C procesora Å”Ädos uzdevumos:
- informÄcijas sistÄmas ar pÄrsvaru rakstÄ«Å”anas operÄcijÄm;
- piekļuve failiem;
- TieŔsaistes raidījumi;
- VideonovÄroÅ”ana;
- dublÄjums;
- mediju saturs.
MCST komandai vÄl ir pie kÄ strÄdÄt, taÄu jau redzams viÅu darba rezultÄts, par ko, protams, nevar vien priecÄties.
Å ie testi tika veikti Linux kodolÄ e2k versijai 4.19; paÅ”laik beta testos (MCST, Basalt SPO un arÄ« Å”eit Aerodisk) ir Linux kodols 5.4-e2k, kurÄ, cita starpÄ, ir ir nopietni pÄrveidots plÄnotÄjs un daudzas optimizÄcijas ÄtrdarbÄ«giem cietvielu diskdziÅiem. TurklÄt, Ä«paÅ”i 5.x.x filiÄles kodoliem, MCST JSC izlaiž jaunu LCC kompilatoru, versiju 1.25. SaskaÅÄ ar provizoriskiem rezultÄtiem tajÄ paÅ”Ä Elbrus 8C procesorÄ jauns kodols, kas kompilÄts ar jaunu kompilatoru, kodola vide, sistÄmas utilÄ«tas un bibliotÄkas un faktiski Aerodisk VOSTOK programmatÅ«ra ļaus vÄl bÅ«tiskÄk palielinÄt veiktspÄju. Un tas notiek bez aprÄ«kojuma nomaiÅas - tajÄ paÅ”Ä procesorÄ un ar tÄm paÅ”Äm frekvencÄm.
MÄs sagaidÄm, ka gada beigÄs tiks izlaista Aerodisk VOSTOK versija, kuras pamatÄ ir kodols 5.4, un, tiklÄ«dz darbs pie jaunÄs versijas tiks pabeigts, mÄs atjauninÄsim testa rezultÄtus un arÄ« publicÄsim tos Å”eit.
Ja tagad atgriežamies pie raksta sÄkuma un atbildam uz jautÄjumu, kuram ir taisnÄ«ba: pesimistiem, kuri saka, ka Elbruss ir ānekasā un nekad nepanÄks vadoÅ”os procesoru ražotÄjus, vai optimistiem, kuri saka, ka āir jau gandrÄ«z noÄ·ÄruÅ”i uz augÅ”u un drÄ«z apdzÄ«s "? Ja mÄs izejam nevis no stereotipiem un reliÄ£iskiem aizspriedumiem, bet no reÄliem pÄrbaudÄ«jumiem, tad optimistiem noteikti ir taisnÄ«ba.
Elbrus jau uzrÄda labus rezultÄtus, salÄ«dzinot ar vidÄja lÄ«meÅa amd64 procesoriem. Elbrus 8-ke, protams, ir tÄlu no Intel vai AMD serveru procesoru augstÄkÄ lÄ«meÅa modeļiem, taÄu tas nebija paredzÄts, Å”im nolÅ«kam tiks izlaisti procesori 16C un 32C. Tad parunÄsim.
MÄs saprotam, ka pÄc Ŕī raksta bÅ«s vÄl vairÄk jautÄjumu par Elbrusu, tÄpÄc nolÄmÄm organizÄt vÄl vienu tieÅ”saistes vebinÄru āOkoloITā, lai tieÅ”raidÄ atbildÄtu uz Å”iem jautÄjumiem.
Å oreiz mÅ«su viesis bÅ«s uzÅÄmuma MCST Ä£enerÄldirektora vietnieks KonstantÄ«ns TruÅ”kins. ReÄ£istrÄties vebinÄram var, izmantojot zemÄk esoÅ”o saiti.
Paldies visiem, kÄ vienmÄr, gaidÄ«sim konstruktÄ«vu kritiku un interesantus jautÄjumus.
Avots: www.habr.com