
Hej alle sammen. Vi fortsætter med at præsentere dig for datalagringssystemet Aerodisk VOSTOK, bygget på den russiske processor Elbrus 8C.
I denne artikel vil vi (som lovet) dybdegående undersøge et af de mest populære og interessante emner relateret til Elbrus, nemlig – ydelse. Der er mange spekulationer om Elbrus' ydelse, nogle absolut modsatrettede. Pessimerne siger, at Elbrus' ydelse nu er "ingen", og at det i mange årtier vil tage at indhente de "topproducenter" (dvs. i den nuværende virkelighed - aldrig). Omvendt siger optimisterne, at Elbrus 8C allerede viser gode resultater, og at vi i de kommende par år, med lanceringen af de nye processorversioner (Elbrus 16C og 32C), kan "indhente og overhale" de førende verdensproducenter.
Vi i Aerodisk er praktiske mennesker, så vi gik den mest enkle og forståelige (for os) vej: at teste, registrere resultaterne og først derefter drage konklusioner. Resultatet var, at vi udførte et ret stort antal test og opdagede en række særlige træk ved arbejdet med Elbrus 8C arkitekturen e2k (herunder nogle positive), og vi sammenlignede selvfølgelig dette med tilsvarende Lagringssystemer baseret på Intel Xeon arkitekturen amd64.
Forresten, vi vil tale mere detaljeret om testene, resultaterne og fremtidig udvikling af Lagringssystemer baseret på Elbrus ved vores næste webinar "Om IT" den 15.10.2020 kl. 15.00. Du kan registrere dig via linket nedenfor.
→
Testbænk
Vi har oprettet to testmiljøer. Begge opstillinger består af en server med Linux, der er tilsluttet via 16G FC-switches til to controllere i Lagringssystemet, som har 12 SAS SSD på 960 GB (11,5 TB "brutto kapacitet" eller 5,7 TB "nyttig" kapacitet, hvis vi bruger RAID-10).
Skematisk ser opstillingen således ud.

Opstilling nr. 1 e2k (Elbrus)
Hardwarekonfigurationen er som følger:
- Linux-server (2xIntel Xeon E5-2603 v4 (6 kerner, 1,70Ghz), 64 GB DDR4, 2xFC-adapter 16G 2 porte) – 1 stk.
- FC switch 16 G – 2 stk.
- Lagringssystem Aerodisk Vostok 2-E12 (2xElbrus 8C (8 kerner, 1,20Ghz), 32 GB DDR3, 2xFE FC-adapter 16G 2 porte, 12xSAS SSD 960 GB) – 1 stk.
Opstilling nr. 2 amd64 (Intel)
Til sammenligning med en tilsvarende konfiguration på e2k blev en lignende konfiguration af Lagringssystemet med en lignende processor efter specifikationer på amd64 anvendt:
- Linux-server (2xIntel Xeon E5-2603 v4 (6 kerner, 1,70Ghz), 64 GB DDR4, 2xFC-adapter 16G 2 porte) – 1 stk.
- FC switch 16 G – 2 stk.
- Lagringssystem Aerodisk Engine N2 (2xIntel Xeon E5-2603 v4 (6 kerner, 1,70Ghz), 32 GB DDR4, 2xFE FC-adapter 16G 2 porte, 12xSAS SSD 960 GB) – 1 stk.
Vigtig bemærkning: De processorer, der bruges i testen, Elbrus 8C, understøtter kun DDR3 RAM, hvilket selvfølgelig er "dårligt, men ikke for længe". Elbrus 8CV (den har vi endnu ikke på lager, men den kommer snart) understøtter DDR4.
Testmetode
Til belastningsgenerering brugte vi det populære og tidsafprøvede program Flexible IO (FIO).
Begge lagringssystemer er konfigureret i henhold til vores anbefalinger til opsætning, baseret på kravene om høj ydeevne ved blokadgang, derfor bruger vi diskpuljer DDP (Dynamic Disk Pool). For ikke at forvrænge testresultaterne deaktiverer vi kompression, deduplicering og RAM-cache på begge lagringssystemer.
Der er oprettet 8 D-LUN'er i RAID-10, hver på 500 GB, hvilket giver en samlet nyttig kapacitet på 4 TB (dvs. cirka 70% af den mulige nyttige kapacitet for denne konfiguration).
Der vil blive kørt de vigtigste og populære brugs scenarier for lagringssystemet, herunder:
de første to tests simulerer arbejdet med en transaktionel databasesystem. I denne gruppe af tests er vi interesseret i IOPS og latens.
1) Tilfældig læsning af små blokke på 4k
a. Blokstørrelse = 4k
b. Læsning/skrivning = 100%/0%
c. Antal arbejdsgange = 8
d. Kødybde = 32
e. Belastningstype = Fuldt tilfældigt
2) Tilfældig skrivning af små blokke på 4k
a. Blokstørrelse = 4k
b. Læsning/skrivning = 0%/100%
c. Antal arbejdsgange = 8
d. Kødybde = 32
e. Belastningstype = Fuldt tilfældigt
de anden to tests simulerer arbejdet med den analytiske del af databasesystemet. I denne gruppe tests er vi også interesseret i IOPS og latens.
3) Sekventiel læsning af små blokke på 4k
a. Blokstørrelse = 4k
b. Læsning/skrivning = 100%/0%
c. Antal arbejdsgange = 8
d. Kødybde = 32
e. Belastningstype = Sekventiel
4) Sekventiel skrivning af små blokke på 4k
a. Blokstørrelse = 4k
b. Læsning/skrivning = 0%/100%
c. Antal arbejdsgange = 8
d. Kødybde = 32
e. Belastningstype = Sekventiel
den tredje gruppe af tests simulerer arbejdet med streaminglæsning (f.eks. online streaming, gendannelse af sikkerhedskopier) og streaming skrivning (f.eks. videoovervågning, sikkerhedskopiering). I denne gruppe tests er vi nu interesseret i ikke IOPS, men MB/s og også latens.
5) Sekventiel læsning af store blokke på 128k
a. Blokstørrelse = 128k
b. Læsning/skrivning = 0%/100%
c. Antal arbejdsgange = 8
d. Kødybde = 32
e. Belastningstype = Sekventiel
6) Sekventiel skrivning af store blokke på 128k
a. Blokstørrelse = 128k
b. Læsning/skrivning = 0%/100%
c. Antal arbejdsgange = 8
d. Kødybde = 32
e. Belastningstype = Sekventiel
Hver test vil vare en time, eksklusive opvarmningstiden på 7 minutter.
Test Results
Testresultaterne er samlet i to tabeller.
Elbrus 8C (Lagringssystem Aerodisk Øst 2-E12)

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

Resultaterne viste sig at være yderst interessante. I begge tilfælde udnyttede vi lagringssystemets processorkraft godt (70-90% udnyttelse), og i lyset af dette træder klart fordele og ulemper ved begge processorer frem.
I begge tabeller er testene, hvor processorerne "føler sig sikre" og viser gode resultater, markeret med grønt, mens situationer, som processorerne "ikke kan lide", er markeret med orange.
Når vi taler om tilfældige belastninger med små blokke, så:
- set fra tilfældig læsning er Intel uden tvivl foran Elbrus med en forskel på 2 gange;
- set fra tilfældig skrivning er det en ubesluttet, begge processorer viste cirka ens og værdige resultater.
I sekventiel belastning med små blokke ser billedet anderledes ud:
- både ved læsning og skrivning overgår Intel betydeligt (med 2 gange) Elbrus. Selvom Elbrus' IOPS er lavere end Intels, er det stadig acceptabelt (200-300 tusinde), men med latens er der tydelige problemer (de er tre gange højere end hos Intel). Konklusionen er, at den nuværende version af Elbrus 8S "kan ikke lide" sekventielle belastninger med små blokke. Der er åbenlyst plads til forbedring.
Men i sekventiel belastning med store blokke ser billedet helt modsat ud:
- begge processorer viste omtrent ens resultater i MB/s, men der er et MEN.... Elbrus' latensværdier er ti (ja, ti, Karl!!!) gange bedre (altså lavere) end den tilsvarende processor fra Intel (0,4/0,5 ms mod 5,1/6,5 ms). I starten troede vi, det var et glitch, så vi dobbelttjekkede resultaterne, lavede en gentest, men gentesten viste det samme billede. Dette er en betydelig fordel for Elbrus (og arkitekturen e2k generelt) i forhold til Intel (og dermed arkitekturen amd64). Vi håber, at denne succes vil få videre udvikling.
Der er også en interessant funktion ved Elbrus, som den opmærksomme læser kan bemærke ved at se på tabellen. Hvis man ser på forskellen mellem læse- og skriveværdierne hos Intel, så ligger læsning i gennemsnit cirka 50% foran skrivningen i alle test. Dette er normen, som alle (herunder os) er vant til. Hvis man ser på Elbrus, så er skriveværdierne meget tættere på læseværdierne, læsning er som regel kun 10 - 30% foran skrivning, ikke mere.
Hvad betyder det? At Elbrus "elsker" optagelse meget, hvilket igen tyder på, at denne processor vil være meget nyttig i opgaver, hvor optagelse klart dominerer over læsning (hvem sagde Jarovoy-loven?), hvilket også er en ubestridelig fordel ved e2k-arkitekturen, og denne fordel skal videreudvikles.
Konklusioner og den nærmeste fremtid
Sammenlignende tests af mellemklasseprocessorerne Elbrus og Intel til opbevaringsopgaver viste omtrent lige og anstændige resultater, mens hver processor viste sine interessante karakteristika.
Intel overgik Elbrus betydeligt i tilfældig læsning af små blokke samt i sekventiel læsning og skrivning af små blokke.
Ved tilfældig skrivning af små blokke viser begge processorer lige resultater.
Med hensyn til forsinkelsesparametre ser Elbrus betydeligt bedre ud end Intel under strømning, dvs. i sekventiel læsning og skrivning af store blokke.
Desuden klarer Elbrus, i modsætning til Intel, sig lige godt med både læse- og skrivebelastninger, mens Intel altid har en betydelig fordel i læsning frem for skrivning.
Baseret på de opnåede resultater kan der drages konklusioner om anvendeligheden af datalagringssystemerne Aerodisk Vostok på Elbrus 8C-processoren i følgende opgaver:
- informationssystemer med overvejelse af skriveoperationer;
- filadgang;
- online-overførsler;
- videoovervågning;
- sikkerhedskopiering;
- medieindhold.
Teamet hos МЦСТ har stadig noget at arbejde på, men resultatet af deres arbejde er allerede synligt nu, hvilket selvfølgelig ikke kan undgå at glæde.
Disse testene ble utført på Linux-kjernen for e2k versjon 4.19. For øyeblikket er Linux kjernen 5.4-e2k i beta-testing (hos MCST, i Basalt SPU, samt hos oss i Aerodisks) der det, blant annet, er gjort betydelige endringer i planleggeren og mange optimaliseringer for raske SSDer. Spesielt for kjernene i versjon 5.x, lanserer AO «MCST» den nye LCC-kompilatoren versjon 1.25. Ifølge de foreløpige resultatene, på samme Elbrus 8S-prosessor, vil den nye kjernen, kjernemiljøet, systemverktøyene, bibliotekene og selve Aerodisk VOSTOK-programvaren som er bygget med den nye kompilatoren, gi en enda mer betydelig ytelsesøkning, uten å måtte bytte maskinvare — på samme prosessor og med de samme frekvensene.
Vi forventer at versjonen av Aerodisk VOSTOK basert på kjerne 5.4 blir utgitt mot slutten av året, og så snart arbeidet med den nye versjonen er fullført, vil vi oppdatere testresultatene og også publisere dem her.
Hvis vi nå går tilbake til begynnelsen av artikkelen og svarer på spørsmålet om hvem som har rett: pessimistene, som sier at Elbrus er "ingen god" og aldri vil innhente de ledende prosessorprodusentene, eller optimistene, som sier at vi "allerede er nesten i mål og snart vil passere"? Hvis man baserer seg på reelle tester og ikke stereotyper eller religiøse fordommer, er det definitivt optimistene som har rett.
Elbrus viser allerede nå gode resultater når man sammenligner den med middels skala amd64-prosessorer. Vi er langt unna de øverste modellene av serverprosessorer fra Intel eller AMD, men det var ikke målet; prosessorene 16S og 32S vil bli lansert for dette formålet. Da kan vi diskutere.
Vi forstår at etter denne artikkelen vil det komme enda flere spørsmål om Elbrus, så vi har bestemt oss for å arrangere enda et online webinar «I nærheten av IT», for å gi svar på disse spørsmålene i sanntid.
Denne gangen vil vi ha Konstantin Trushkin, assisterende administrerende direktør i selskapet MCST, som gjest. Du kan registrere deg for webinaret via linken nedenfor.
→
Takk skal dere ha, som vanlig ser vi frem til konstruktiv kritikk og interessante spørsmål.
Kilde: habr.com
