Elbrus VS Intel. Paghahambing ng pagganap ng Aerodisk Vostok at Engine storage system

Elbrus VS Intel. Paghahambing ng pagganap ng Aerodisk Vostok at Engine storage system

Kamusta kayong lahat. Patuloy naming ipinakikilala sa iyo ang Aerodisk VOSTOK data storage system, batay sa Russian Elbrus 8C processor.

Sa artikulong ito, susuriin namin (tulad ng ipinangako) nang detalyado ang isa sa mga pinakasikat at kawili-wiling paksa na may kaugnayan sa Elbrus, lalo na ang pagiging produktibo. Mayroong maraming mga haka-haka sa pagganap ng Elbrus, at ganap na polar. Sinasabi ng mga pesimista na ang pagiging produktibo ni Elbrus ay "wala" na ngayon, at aabutin ng mga dekada upang maabutan ang mga "nangungunang" producer (i.e., sa kasalukuyang katotohanan, hindi kailanman). Sa kabilang banda, sinasabi ng mga optimist na ang Elbrus 8C ay nagpapakita na ng magagandang resulta, at sa susunod na dalawang taon, sa paglabas ng mga bagong bersyon ng mga processor (Elbrus 16C at 32C), magagawa nating "mahuli at maabutan" nangungunang tagagawa ng processor sa mundo.

Kami sa Aerodisk ay mga praktikal na tao, kaya kinuha namin ang pinakasimpleng at pinaka-naiintindihan (para sa amin) na ruta: subukan, i-record ang mga resulta at pagkatapos ay gumawa ng mga konklusyon. Bilang resulta, nagsagawa kami ng isang malaking bilang ng mga pagsubok at natuklasan ang isang bilang ng mga operating feature ng Elbrus 8C e2k architecture (kabilang ang mga kaaya-aya) at, siyempre, inihambing ito sa mga katulad na storage system sa Intel Xeon amd64 architecture processors.

Sa pamamagitan ng paraan, pag-uusapan natin nang mas detalyado ang tungkol sa mga pagsubok, mga resulta at ang hinaharap na pag-unlad ng mga sistema ng imbakan sa Elbrus sa aming susunod na webinar na "OkoloIT" sa Oktubre 15.10.2020, 15 sa 00:XNUMX. Maaari kang magparehistro gamit ang link sa ibaba.

β†’ Pagrehistro para sa webinar

Test stand

Gumawa kami ng dalawang stand. Ang parehong stand ay binubuo ng isang server na nagpapatakbo ng Linux, na konektado sa pamamagitan ng 16G FC switch sa dalawang storage controller, kung saan naka-install ang 12 SAS SSD 960 GB disks (11,5 TB ng β€œraw capacity” o 5,7 TB ng β€œusable” capacity, kung gagamit kami ng RAID -10).

Schematically ang stand ay ganito ang hitsura.

Elbrus VS Intel. Paghahambing ng pagganap ng Aerodisk Vostok at Engine storage system

Stand No. 1 e2k (Elbrus)

Ang configuration ng hardware ay ang mga sumusunod:

  • Linux server (2xIntel Xeon E5-2603 v4 (6 core, 1,70Ghz), 64 GB DDR4, 2xFC adapter 16G 2 port) – 1 pc.
  • Lumipat ng FC 16 G – 2 mga PC.
  • Storage system Aerodisk Vostok 2-E12 (2xElbrus 8C (8 core, 1,20Ghz), 32 GB DDR3, 2xFE FC-adaptor 16G 2 port, 12xSAS SSD 960 GB) - 1 pc.

Stand No. 2 amd64 (Intel)

Para sa paghahambing sa isang katulad na configuration sa e2k, gumamit kami ng katulad na configuration ng storage na may processor na katulad ng mga katangian sa amd64:

  • Linux server (2xIntel Xeon E5-2603 v4 (6 core, 1,70Ghz), 64 GB DDR4, 2xFC adapter 16G 2 port) – 1 pc.
  • Lumipat ng FC 16 G – 2 mga PC.
  • Storage system Aerodisk Engine N2 (2xIntel Xeon E5-2603 v4 (6 core, 1,70Ghz), 32 GB DDR4, 2xFE FC-adaptor 16G 2 port, 12xSAS SSD 960 GB) - 1 pc.

Mahalagang tala: ang mga processor ng Elbrus 8C na ginamit sa pagsubok ay sumusuporta lamang sa DDR3 RAM, ito ay siyempre "masama, ngunit hindi para sa matagal." Sinusuportahan ng Elbrus 8SV (wala pa kaming stock nito, ngunit magkakaroon nito sa lalong madaling panahon) ay sumusuporta sa DDR4.

Pamamaraan ng Pagsubok

Para makabuo ng load, ginamit namin ang sikat at nasubok sa oras na Flexible IO (FIO) program.

Ang parehong storage system ay na-configure ayon sa aming mga rekomendasyon sa configuration, batay sa mga kinakailangan para sa mataas na performance sa block access, kaya gumagamit kami ng DDP (Dynamic Disk Pool) na mga disk pool. Upang hindi masira ang mga resulta ng pagsubok, hindi namin pinapagana ang compression, deduplication at RAM cache sa parehong storage system.

8 D-LUN ang ginawa sa RAID-10, 500 GB bawat isa, na may kabuuang magagamit na kapasidad na 4 TB (ibig sabihin, humigit-kumulang 70% ng posibleng magagamit na kapasidad ng configuration na ito).

Isasagawa ang mga basic at sikat na senaryo para sa paggamit ng mga storage system, sa partikular:

ang unang dalawang pagsubok ay tumulad sa pagpapatakbo ng isang transactional DBMS. Sa pangkat ng mga pagsubok na ito, interesado kami sa IOPS at latency.

1) Random na pagbabasa sa maliliit na bloke 4k
a. Laki ng block = 4k
b. Basahin/Isulat = 100%/0%
c. Bilang ng mga gawa = 8
d. Lalim ng pila = 32
e. Mag-load ng character = Full Random

2) Random na pag-record sa maliliit na bloke 4k
a. Laki ng block = 4k
b. Basahin/Isulat = 0%/100%
c. Bilang ng mga gawa = 8
d. Lalim ng pila = 32
e. Mag-load ng character = Full Random

ang pangalawang dalawang pagsubok ay ginagaya ang operasyon ng analytical na bahagi ng DBMS. Sa pangkat na ito ng mga pagsubok, interesado rin kami sa IOPS at latency.

3) Sequential reading sa maliliit na bloke 4k
a. Laki ng block = 4k
b. Basahin/Isulat = 100%/0%
c. Bilang ng mga gawa = 8
d. Lalim ng pila = 32
e. Mag-load ng character = Sequential

4) Sequential recording sa maliliit na bloke 4k
a. Laki ng block = 4k
b. Basahin/Isulat = 0%/100%
c. Bilang ng mga gawa = 8
d. Lalim ng pila = 32
e. Mag-load ng character = Sequential

Ang ikatlong pangkat ng mga pagsubok ay tinutulad ang gawain ng pagbabasa ng streaming (halimbawa: mga online na broadcast, pagpapanumbalik ng mga backup) at pag-record ng streaming (halimbawa: pagsubaybay sa video, pag-record ng mga backup). Sa pangkat ng mga pagsubok na ito, hindi na kami interesado sa IOPS, ngunit sa MB/s at pati na rin sa latency.

5) Sequential reading sa malalaking bloke ng 128k
a. Laki ng block = 128k
b. Basahin/Isulat = 0%/100%
c. Bilang ng mga gawa = 8
d. Lalim ng pila = 32
e. Mag-load ng character = Sequential

6) Sequential recording sa malalaking bloke ng 128k
a. Laki ng block = 128k
b. Basahin/Isulat = 0%/100%
c. Bilang ng mga gawa = 8
d. Lalim ng pila = 32
e. Mag-load ng character = Sequential

Ang bawat pagsubok ay tatagal ng isang oras, hindi kasama ang array warm-up time na 7 minuto.

Mga resulta ng pagsubok

Ang mga resulta ng pagsusulit ay buod sa dalawang talahanayan.

Elbrus 8S (SHD Aerodisk Vostok 2-E12)

Elbrus VS Intel. Paghahambing ng pagganap ng Aerodisk Vostok at Engine storage system

Intel Xeon E5-2603 v4 (Storage system Aerodisk Engine N2)

Elbrus VS Intel. Paghahambing ng pagganap ng Aerodisk Vostok at Engine storage system

Ang mga resulta ay naging lubhang kawili-wili. Sa parehong mga kaso, ginamit namin nang husto ang kapangyarihan ng pagproseso ng storage system (70-90% na paggamit), at sa sitwasyong ito, ang mga kalamangan at kahinaan ng parehong mga processor ay malinaw na nakikita.

Sa parehong talahanayan, ang mga pagsubok kung saan ang mga processor ay "nakakaramdam ng kumpiyansa" at nagpapakita ng magagandang resulta ay naka-highlight sa berde, habang ang mga sitwasyon na "hindi gusto" ng mga processor ay naka-highlight sa orange.

Kung pinag-uusapan natin ang tungkol sa random na pagkarga sa maliliit na bloke, kung gayon:

  • mula sa punto ng view ng random na pagbabasa, ang Intel ay tiyak na nangunguna sa Elbrus, ang pagkakaiba ay 2 beses;
  • mula sa punto ng view ng random na pag-record ito ay tiyak na isang draw, ang parehong mga processor ay nagpakita ng humigit-kumulang pantay at disenteng mga resulta.

Sa isang sunud-sunod na pagkarga sa maliliit na bloke ang larawan ay naiiba:

  • parehong kapag nagbabasa at nagsusulat, ang Intel ay nauuna nang malaki (2 beses) kaysa sa Elbrus. Kasabay nito, kung ang Elbrus ay may isang tagapagpahiwatig ng IOPS na mas mababa kaysa sa Intel, ngunit mukhang disente (200-300), kung gayon mayroong isang malinaw na problema sa mga pagkaantala (sila ay tatlong beses na mas mataas kaysa sa Intel). Konklusyon, ang kasalukuyang bersyon ng Elbrus 8C ay talagang "hindi gusto" ang mga sequential load sa maliliit na bloke. Malinaw na may ilang gawaing dapat gawin.

Ngunit sa isang sunud-sunod na pagkarga na may malalaking bloke, ang larawan ay eksaktong kabaligtaran:

  • ang parehong mga processor ay nagpakita ng humigit-kumulang pantay na mga resulta sa MB/s, ngunit mayroong isa PERO.... Ang pagganap ng latency ng Elbrus ay 10 (sampu, Karl!!!) beses na mas mahusay (i.e. mas mababa) kaysa sa isang katulad na processor mula sa Intel (0,4/0,5 ms kumpara sa 5,1/6,5 ms) . Sa una ay naisip namin na ito ay isang glitch, kaya muli naming sinuri ang mga resulta, gumawa ng isang muling pagsubok, ngunit ang muling pagsusuri ay nagpakita ng parehong larawan. Ito ay isang seryosong bentahe ng Elbrus (at ang e2k architecture sa pangkalahatan) sa Intel (at, nang naaayon, ang amd64 architecture). Sana ay mas paunlarin pa ang tagumpay na ito.

May isa pang kawili-wiling tampok ng Elbrus, na maaaring bigyang-pansin ng isang matulungin na mambabasa sa pamamagitan ng pagtingin sa talahanayan. Kung titingnan mo ang pagkakaiba sa pagitan ng pagganap ng pagbasa at pagsulat ng Intel, pagkatapos ay sa lahat ng mga pagsubok, ang pagbabasa ay nauuna sa pagsusulat sa average ng humigit-kumulang 50%+. Ito ang pamantayan na nakasanayan ng lahat (kasama tayo). Kung titingnan mo ang Elbrus, ang mga tagapagpahiwatig ng pagsulat ay mas malapit sa mga tagapagpahiwatig ng pagbabasa; ang pagbabasa ay nauuna sa pagsulat, bilang isang panuntunan, ng 10 - 30%, wala na.

Ano ang ibig sabihin nito? Ang katotohanan na si Elbrus ay "talagang nagmamahal" sa pagsusulat, at ito naman, ay nagmumungkahi na ang processor na ito ay magiging lubhang kapaki-pakinabang sa mga gawain kung saan malinaw na nangingibabaw ang pagsusulat kaysa sa pagbabasa (sino ang nagsabi ng batas ni Yarovaya?), na isa ring hindi mapag-aalinlanganang bentahe ng e2k architecture, at kailangang paunlarin ang kalamangan na ito.

Mga konklusyon at sa malapit na hinaharap

Ang mga paghahambing na pagsubok ng Elbrus at Intel mid-range na mga processor para sa mga gawain sa pag-iimbak ng data ay nagpakita ng humigit-kumulang pantay at pantay na karapat-dapat na mga resulta, habang ang bawat processor ay nagpakita ng sarili nitong mga kawili-wiling tampok.

Lubos na nalampasan ng Intel ang Elbrus sa random na pagbabasa sa maliliit na bloke, gayundin sa sunud-sunod na pagbabasa at pagsusulat sa maliliit na bloke.

Kapag nagsusulat nang random sa maliliit na bloke, ang parehong mga processor ay nagpapakita ng pantay na mga resulta.

Sa mga tuntunin ng latency, mukhang mas mahusay ang Elbrus kaysa sa Intel sa isang streaming load, i.e. sa sunud-sunod na pagbasa at pagsulat sa malalaking bloke.

Bilang karagdagan, ang Elbrus, hindi tulad ng Intel, ay nakayanan nang pantay-pantay sa parehong pagbabasa at pagsusulat ng mga load, habang sa Intel, ang pagbabasa ay palaging mas mahusay kaysa sa pagsusulat.
Batay sa mga resultang nakuha, makakagawa tayo ng konklusyon tungkol sa pagiging angkop ng mga sistema ng pag-iimbak ng data ng Aerodisk Vostok sa processor ng Elbrus 8C sa mga sumusunod na gawain:

  • mga sistema ng impormasyon na may nangingibabaw na mga operasyon sa pagsulat;
  • pag-access ng file;
  • mga online na broadcast;
  • CCTV;
  • backup;
  • nilalaman ng media.

Ang koponan ng MCST ay mayroon pa ring dapat gawin, ngunit ang resulta ng kanilang trabaho ay nakikita na, na, siyempre, ay hindi maaaring hindi magsaya.

Ang mga pagsubok na ito ay isinagawa sa Linux kernel para sa e2k na bersyon 4.19; kasalukuyang nasa beta test (sa MCST, sa Basalt SPO, at dito rin sa Aerodisk) mayroong Linux kernel 5.4-e2k, kung saan, bukod sa iba pang mga bagay, mayroon itong ay seryosong muling idisenyo ang scheduler at maraming pag-optimize para sa mga high-speed solid-state drive. Gayundin, partikular para sa mga kernel ng 5.xx branch, ang MCST JSC ay naglalabas ng bagong LCC compiler, bersyon 1.25. Ayon sa mga paunang resulta, sa parehong Elbrus 8C processor, isang bagong kernel na pinagsama-sama sa isang bagong compiler, isang kernel environment, system utilities at mga aklatan at, sa katunayan, ang Aerodisk VOSTOK software ay magbibigay-daan para sa isang mas makabuluhang pagtaas sa pagganap. At ito ay walang pagpapalit ng kagamitan - sa parehong processor at may parehong mga frequency.

Inaasahan namin ang pagpapalabas ng isang bersyon ng Aerodisk VOSTOK batay sa kernel 5.4 sa pagtatapos ng taon, at sa sandaling makumpleto ang paggawa sa bagong bersyon, ia-update namin ang mga resulta ng pagsubok at mai-publish din ang mga ito dito.

Kung babalik tayo ngayon sa simula ng artikulo at sasagutin ang tanong, sino ang tama: mga pessimist na nagsasabing ang Elbrus ay "wala" at hindi na makakahabol sa mga nangungunang tagagawa ng processor, o mga optimist na nagsasabing "halos nahuli na nila pataas at malapit nang maabutan"? Kung magpapatuloy tayo hindi mula sa mga stereotype at relihiyosong pagtatangi, ngunit mula sa mga tunay na pagsubok, kung gayon ang mga optimista ay tiyak na tama.

Ang Elbrus ay nagpapakita na ng magagandang resulta kung ihahambing sa mga mid-level na amd64 processor. Ang Elbrus 8-ke, siyempre, ay malayo sa mga nangungunang modelo ng mga processor ng server mula sa Intel o AMD, ngunit hindi ito nilayon doon; ang mga processor na 16C at 32C ay ilalabas para sa layuning ito. At tayo'y mag uusap.

Naiintindihan namin na pagkatapos ng artikulong ito ay magkakaroon ng higit pang mga katanungan tungkol sa Elbrus, kaya nagpasya kaming mag-organisa ng isa pang online na webinar na "OkoloIT" upang sagutin nang live ang mga tanong na ito.

Sa pagkakataong ito ang ating panauhin ay ang Deputy General Director ng kumpanya ng MCST, si Konstantin Trushkin. Maaari kang magparehistro para sa webinar gamit ang link sa ibaba.

β†’ Pagrehistro para sa webinar

Salamat sa inyong lahat, gaya ng nakasanayan, inaasahan namin ang nakabubuo na pagpuna at mga interesanteng tanong.

Pinagmulan: www.habr.com

Magdagdag ng komento