Elbrus VS Intel. Comparăm performanța sistemelor de stocare Aerodisk Vostok și Engine

Elbrus VS Intel. Comparăm performanța sistemelor de stocare Aerodisk Vostok și Engine

Salut tuturor. Continuăm să vă familiarizăm cu sistemul de stocare a datelor Aerodisk VOSTOK, realizat pe baza procesorului rusesc Elbrus 8C.

În acest articol, vom analiza în detaliu, așa cum am promis, una dintre cele mai populare și interesante teme legate de Elbrusi, și anume – performanța. Există multe speculații despre performanța Elbrus, chiar polarizate. Pesimiștii spun că performanța Elbrus este acum „neacceptabilă” și că va dura decenii pentru a ajunge la „producătorii de vârf” (adică, în condițiile actuale – niciodată). Pe de altă parte, optimiștii susțin că Elbrus 8C deja oferă rezultate bune, iar în următorii câțiva ani, odată cu lansarea noilor versiuni de procesoare (Elbrus 16C și 32C), vom putea „ajunge și depăși” principalii producători de procesoare din lume.

Noi, la Aerodisk, suntem oameni practici, așa că am urmat cea mai simplă și clară cale (pentru noi): să testăm, să înregistrăm rezultatele și abia apoi să tragem concluzii. În urma a unui număr considerabil de teste, am descoperit o serie de trăsături ale funcționării arhitecturii Elbrus 8C e2k (inclusiv unele plăcute) și, desigur, am comparat aceste rezultate cu sistemele de stocare similare bazate pe procesoare Intel Xeon arhitectura amd64.

Apropo, despre teste, rezultate și despre dezvoltarea viitoare a sistemelor de stocare pe baza Elbrusurilor, vom discuta în cadrul următorului nostru webinar "Aproape IT" pe 15.10.2020 la ora 15:00. Vă puteți înregistra la linkul de mai jos.

→ Înscriere pentru webinar

Banc de testare

Am creat două standuri. Ambele standuri constau dintr-un server cu Linux, conectat prin comutatoare FC de 16G la doi controlere ale sistemului de stocare, în care sunt instalate 12 discuri SAS SSD de 960 GB (11,5 TB „capacitate brută” sau 5,7 TB „capacitare utilă”, dacă folosim RAID-10).

Schema standului arată astfel.

Elbrus VS Intel. Comparăm performanța sistemelor de stocare Aerodisk Vostok și Engine

Standul nr. 1 e2k (Elbrus)

Configurația hardware-ului este următoarea:

  • Server Linux (2xIntel Xeon E5-2603 v4 (6 cores, 1,70Ghz), 64 GB DDR4, adaptator FC 16G 2 porturi) – 1 buc.
  • Comutator FC 16 G – 2 buc.
  • Sistem de stocare Aerodisk Vostok 2-E12 (2xElbrus 8C (8 cores, 1,20Ghz), 32 GB DDR3, 2xFE FC-adaptor 16G 2 porturi, 12xSAS SSD 960 GB) – 1 buc.

Standul nr. 2 amd64 (Intel)

Pentru comparație, a fost utilizată o configurație similară a sistemului de stocare pe e2k, cu un procesor asemănător ca specificații pe amd64:

  • Server Linux (2xIntel Xeon E5-2603 v4 (6 cores, 1,70Ghz), 64 GB DDR4, adaptator FC 16G 2 porturi) – 1 buc.
  • Comutator FC 16 G – 2 buc.
  • Sistem de stocare Aerodisk Engine N2 (2xIntel Xeon E5-2603 v4 (6 cores, 1,70Ghz), 32 GB DDR4, 2xFE FC-adaptor 16G 2 porturi, 12xSAS SSD 960 GB) – 1 buc.

Observație importantă: procesoarele Elbrus 8C utilizate în test suportă doar memorie RAM DDR3, ceea ce este evident "rău, dar nu pe termen lung". Elbrus 8CV (pe care nu îl avem încă, dar va fi disponibil curând) suportă DDR4.

Metodologia de testare

Pentru generarea de sarcini, am folosit programul popular și testat în timp Flexible IO (FIO).

Ambele SAN-uri sunt configurate conform propriilor noastre recomandări pentru setare, având în vedere cerințele de performanță ridicată la acces bloc, așa că folosim grupuri de disk DDP (Dynamic Disk Pool). Pentru a nu denatura rezultatele testării, dezactivăm compresia, deduplicarea și RAM cache pe ambele SAN-uri.

Au fost create 8 D-LUN-uri în RAID-10 de 500 GB fiecare, volumul util total este de 4 TB (adică aproximativ 70% din capacitatea utilă posibilă a acestei configurații).

Vor fi efectuate scenariile principale și populare de utilizare a SAN-ului, în special:

primele două teste emulează funcționarea unei baze de date tranzacționale. În acest grup de teste ne interesează IOPS-urile și latența.

1) Citire aleatorie cu blocuri mici de 4k
a. Dimensiunea blocului = 4k
b. Citire/scriere = 100%/0%
c. Numărul de operații = 8
d. Adâncimea cozii = 32
e. Tipologia sarcinii = Complet Aleatorie

2) Scriere aleatorie cu blocuri mici de 4k
a. Dimensiunea blocului = 4k
b. Citire/scriere = 0%/100%
c. Numărul de operații = 8
d. Adâncimea cozii = 32
e. Tipologia sarcinii = Complet Aleatorie

următoarele două teste emulează funcționarea părții analitice a bazei de date. În acest grup de teste ne interesează de asemenea IOPS-urile și latența.

3) Citire secvențială cu blocuri mici de 4k
a. Dimensiunea blocului = 4k
b. Citire/scriere = 100%/0%
c. Numărul de operații = 8
d. Adâncimea cozii = 32
e. Tipologia sarcinii = Secvențial

4) Scriere secvențială cu blocuri mici de 4k
a. Dimensiunea blocului = 4k
b. Citire/scriere = 0%/100%
c. Numărul de operații = 8
d. Adâncimea cozii = 32
e. Tipologia sarcinii = Secvențial

al treilea grup de teste emulează funcționarea citirii continue (exemplu – transmisii live, recuperarea backup-urilor) și a scrierii continue (exemplu – supraveghere video, înregistrarea backup-urilor). În acest grup de teste, ne interesează deja nu IOPS-urile, ci MB/s și, de asemenea, latența.

5) Citire secvențială cu blocuri mari de 128k
a. Dimensiunea blocului = 128k
b. Citire/scriere = 0%/100%
c. Numărul de operații = 8
d. Adâncimea cozii = 32
e. Tipologia sarcinii = Secvențial

6) Scriere secvențială cu blocuri mari de 128k
a. Dimensiunea blocului = 128k
b. Citire/scriere = 0%/100%
c. Numărul de operații = 8
d. Adâncimea cozii = 32
e. Tipologia sarcinii = Secvențial

Fiecare test va dura o oră, fără a lua în considerare timpul de încălzire al masivului de 7 minute.

Rezultatele testelor

Rezultatele testelor sunt sumarizate în două tabele.

Elbrus 8C (SAN Aerodisk Vostok 2-E12)

Elbrus VS Intel. Comparăm performanța sistemelor de stocare Aerodisk Vostok și Engine

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

Elbrus VS Intel. Comparăm performanța sistemelor de stocare Aerodisk Vostok și Engine

Rezultatele au fost extrem de interesante. În ambele cazuri, am utilizat bine capacitățile procesorului SAN (70-90% utilizare), și în această configurație sunt evidente avantajele și dezavantajele ambelor procesoare.

În ambele tabele, testele unde procesoarele „se simt încrezătoare” sunt evidențiate cu verde, iar cele care „nu sunt pe placul” procesoarelor sunt evidențiate cu portocaliu.

Dacă vorbim despre sarcini aleatorii cu blocuri mici, atunci:

  • din punct de vedere al citirii aleatoare, Intel este cu siguranță în fața Elbrusului, diferența fiind de 2 ori;
  • din punct de vedere al scrierii aleatoare, este fără dubiu un egal, ambele procesoare au arătat rezultate comparabile și de înaltă calitate.

În cazul sarcinilor secvențiale cu blocuri mici, situația este diferită:

  • și la citire, și la scriere, Intel depășește semnificativ (de 2 ori) Elbrusul. Astfel, dacă Elbrusul are un indice IOPS sub cel al lui Intel, dar arată decent (200-300 de mii), întâmpină probleme evidente cu timpii de latență (acestea fiind de trei ori mai mari decât la Intel). Concluzia este că versiunea curentă a Elbrusului 8C nu „iubește” deloc sarcinile secvențiale cu blocuri mici. Este evident că mai este loc de îmbunătățiri.

În schimb, în cazul sarcinilor secvențiale cu blocuri mari, situația este exact opusă:

  • ambele procesoare au arătat rezultate aproximativ egale în MB/s, dar există un ÎNSĂ…. Timpii de latență ai Elbrusului sunt de 10 (zece, Karl!!!) ori mai buni (adică mai mici) decât cei ai procesorului similar de la Intel (0,4/0,5 ms față de 5,1/6,5 ms). La început am crezut că este o eroare, așa că am verificat din nou rezultatele, am efectuat un test repetat, dar testul repetat a arătat aceeași imagine. Aceasta este o avantaj serios al Elbrusului (și al arhitecturii e2k în general) față de Intel (și, în consecință, arhitectura amd64). Să sperăm că acest succes va continua să se dezvolte.

Există încă o trăsătură interesantă a Elbrusului, la care cititorul atent poate să observe, uitându-se la tabel. Dacă ne uităm la diferența dintre indicele de citire și scriere al Intel, în toate testele citirea depășește scrierea cu peste 50% în medie. Aceasta este norma la care toată lumea (inclusiv noi) s-a obișnuit. Dacă ne uităm la Elbrus, indicii de scriere sunt mult mai aproape de cei de citire, citirea depășind scrierea, de regulă, cu 10 – 30%, nu mai mult.

Ce demonstrează asta? Că Elbrus "iubește foarte mult" scrierea, iar acest lucru, la rândul său, sugerează că acest procesor va fi foarte util în sarcini unde scrierea prevalează în mod evident asupra citirii (cine a spus legea Iarovaya?), ceea ce este, de asemenea, un avantaj incontestabil al arhitecturii e2k, iar acest avantaj trebuie dezvoltat.

Concluzii și viitorul apropiat

Testele comparative ale procesoarelor de nivel mediu Elbrus și Intel pentru sarcinile de stocare a datelor au arătat rezultate aproximativ egale și la fel de demne, fiecare procesor având propriile caracteristici interesante.

Intel a depășit de departe Elbrus în citirea aleatorie a blocurilor mici, precum și în citirea și scrierea secvențială a blocurilor mici.

În cazul scrierii aleatorii cu blocuri mici, ambele procesoare arată rezultate egale.

În ceea ce privește indicatorii de latență, Elbrus arată semnificativ mai bine decât Intel în sarcini de flux, adică în citirea și scrierea secvențială a blocurilor mari.

În plus, spre deosebire de Intel, Elbrus se descurcă la fel de bine atât cu sarcinile de citire, cât și cu cele de scriere, în timp ce la Intel citirea este întotdeauna semnificativ mai bună decât scrierea.
Pe baza rezultatelor obținute, se poate concluziona despre aplicabilitatea sistemelor de stocare a datelor AeroDisk Vostok pe procesorul Elbrus 8C în următoarele sarcini:

  • sisteme informaționale cu predominanța operațiunilor de scriere;
  • acces la fișiere;
  • transmisiuni live;
  • supraveghere video;
  • backup;
  • conținut media.

Echipa MCST are încă mult de lucru, dar rezultatul muncii lor este vizibil deja acum, ceea ce, desigur, nu poate decât să ne bucure.

Aceste teste au fost efectuate pe kernel-ul Linux pentru e2k versiunea 4.19, în prezent fiind în teste beta (la MCST, la Bazalt SPO, precum și la noi, în Aerodisk) kernel-ul Linux 5.4-e2k, în care, printre altele, scheduler-ul a fost complet reproiectat și s-au făcut multe optimizări pentru unitățile de stocare SSD de mare viteză. De asemenea, special pentru kernel-urile ramurii 5.x, compania AO „MCST” va lansa un nou compilator LCC versiunea 1.25. Conform rezultatelor preliminare, pe același procesor Elbrus 8C, kernel-ul nou construit cu noul compilator, mediu kernel, utilitare de sistem și biblioteci și, de fapt, software-ul Aerodisk VOSTOK va permite obținerea unei creșteri semnificative a performanței. Și asta fără a schimba echipamentul — pe același procesor și cu aceleași frecvențe.

Așteptăm lansarea versiunii Aerodisk VOSTOK bazată pe kernel 5.4 mai aproape de sfârșitul anului, și imediat ce munca la noua versiune va fi finalizată, vom actualiza rezultatele testării și le vom publica aici.

Dacă ne întoarcem acum la începutul articolului și încercăm să răspundem la întrebarea, cine are dreptate: pesimiștii care spun că Elbrus este „neimportant” și nu va ajunge niciodată din urmă principalii producători de procesoare, sau optimiștii care spun că „deja aproape i-am ajuns și în curând îi vom depăși”? Dacă ne bazăm nu pe stereotipuri și prejudecăți religioase, ci pe teste reale, atunci cu siguranță au dreptate optimiștii.

Elbrus arată deja rezultate bune, comparativ cu procesoarele amd64 de nivel mediu. Desigur, este departe de modelele de vârf din gamă ale procesoarelor server Intel sau AMD în 8C, dar nu acesta a fost obiectivul; pentru aceasta vor fi lansate procesoare 16C și 32C. Atunci vom discuta mai mult.

Înțelegem că după acest articol întrebările despre Elbrus vor deveni și mai numeroase, așa că am decis să organizăm un alt webinar online „OcolIT”, pentru a răspunde la aceste întrebări în direct.

De data aceasta, invitatul nostru va fi Konstantin Trushkin, vicepreședintele companiei MCST. Vă puteți înscrie la webinar la linkul de mai jos.

→ Înscriere pentru webinar

Mulțumim tuturor, așa cum ne-am obișnuit, așteptăm critici constructive și întrebări interesante.

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster