
Tere kĂ”igile. JĂ€tkame teid vene protsessori Elbrus 8C baasil loodud andmesalvestussĂŒsteemi Aerodisk VOSTOK tutvustamist.
Selles artiklis kĂ€sitleme (nagu lubasime) ĂŒhte populaarseimat ja huvitavamat teemat, mis puudutab Elbruseid, nimelt â jĂ”udlust. Elbruse jĂ”udluse kohta on palju spekuleeritud, ja arvamused on ÀÀrmiselt erinevad. Pessimistid vĂ€idavad, et Elbruse jĂ”udlus on praegu "kehv" ning et juhtivate tootjate saavutamiseks on vaja kĂŒmneid aastaid (ehk teisisĂ”nu, praeguste tingimuste tĂ”ttu â mitte kunagi). Teisest kĂŒljest, optimistid usuvad, et juba praegu nĂ€itab Elbrus 8C hĂ€id tulemusi, ja jĂ€rgmise paariga aastaga, kui tulevad uued protsessori versioonid (Elbrus 16C ja 32C), suudame "jĂ”uda ja mööda minna" juhtivatest maailmatoojatest.
Me Aerodiskis oleme praktilised inimesed, seetĂ”ttu valisime kĂ”ige lihtsama ja arusaadavamate (meie jaoks) tee: testida, fikseerida tulemused ja ainult siis jĂ€reldusi teha. KokkuvĂ”ttes viisime lĂ€bi ĂŒsna palju teste ja avastasime mitmeid Elbrus 8C e2k arhitektuuri töö eripĂ€rasid (sealhulgas ka meeldivaid), ja muidugi, vĂ”rdlesime seda Intel Xeon amd64 arhitektuuril pĂ”hinevate sarnaste andmesalvestussĂŒsteemidega.
Muide, rÀÀgime testide, tulemuste ja Elbruse andmesalvestussĂŒsteemide tuleviku arengust meie jĂ€rgmises veebiseminaris "AnearIT" 15.10.2020 kell 15:00. Registreerimine on vĂ”imalik alloleva lingi kaudu.
â
Testseade
Oleme valmistanud kaks seadet. MĂ”lemad seadmed koosnevad Linuxi serverist, mis on ĂŒhendatud 16G FC-lĂŒlitite kaudu kahe andmesalvestussĂŒsteemi kontrolleriga, kus on 12 SAS SSD 960 GB ketast (11,5 TB "toores maht" vĂ”i 5,7 TB âkasulikâ maht, kui kasutame RAID-10).
Seade nÀeb jooniselt vÀlja jÀrgmiselt.

Seade nr 1 e2k (Elbrus)
Seadme konfiguratsioon on jÀrgmine:
- Linuxi server (2xIntel Xeon E5-2603 v4 (6 sĂŒdamikku, 1,70Ghz), 64 GB DDR4, 2xFC-adapter 16G 2 porti) â 1 tk.
- FC lĂŒliti 16 G â 2 tk.
- Aerodisk Vostok 2-E12 andmesalvestussĂŒsteem (2xElbrus 8C (8 sĂŒdamikku, 1,20GHz), 32 GB DDR3, 2xFE FC-adapter 16G 2 porti, 12xSAS SSD 960 GB) â 1 tk.
Seade nr 2 amd64 (Intel)
Eespool mainitud sama konfiguratsiooni vĂ”rreldes e2k-l pĂ”hineva analoogse konfiguratsiooniga kasutati sarnase protsessoriga amd64-platvormile sobivat andmesalvestussĂŒsteemi:
- Linuxi server (2xIntel Xeon E5-2603 v4 (6 sĂŒdamikku, 1,70Ghz), 64 GB DDR4, 2xFC-adapter 16G 2 porti) â 1 tk.
- FC lĂŒliti 16 G â 2 tk.
- Aerodisk Engine N2 (2xIntel Xeon E5-2603 v4 (6 sĂŒdamikku, 1,70Ghz), 32 GB DDR4, 2xFE FC-adapter 16G 2 porti, 12xSAS SSD 960 GB) â 1 tk.
Oluline tÀhelepanek: testis kasutatavad Elbrus 8C protsessorid toetavad ainult DDR3 operatiivmÀlu, see on tÔesti "halb, kuid mitte kauaks". Elbrus 8CV (meil ei ole seda praegu saadaval, kuid peagi tuleb) toetab DDR4.
Testimise meetod
Koormuse genereerimiseks kasutasime populaarset ja ajaproovile vastupidavat programmi Flexible IO (FIO).
MĂ”lemad andmesalvestussĂŒsteemid on seadistatud vastavalt meie soovitustele, lĂ€htudes kĂ”rge jĂ”udluse nĂ”uetest plokkidele, seega kasutame dĂŒnaamilisi kettapaike DDP (Dynamic Disk Pool). Testimise tulemuste moonutamise vĂ€ltimiseks on mĂ”lemal andmesalvestussĂŒsteemil vĂ€lja lĂŒlitatud kompressioon, deduplikatsioon ja RAMi vahemĂ€lu.
Loome 8 D-LUN-i RAID-10 kaupa 500 GB, igaĂŒhe kogumahutavus on 4 TB (st ligikaudu 70% vĂ”imaliku kasutatavast mahust antud konfiguratsioonis).
Teostatakse peamised ja populaarsed andmesalvestussĂŒsteemi kasutusskeemid, sealhulgas:
esimesed kaks testi emuleerivad tehingulise andmebaasi töö. Selles gruppis teste on meie huvi IOPS ja viivituse suhtes.
1) Juhuslik lugemine vÀikeste plokkidega 4k
a. Ploki suurus = 4k
b. Lugemine / kirjutamine = 100% / 0%
c. Tööde arv = 8
d. Oote sĂŒgavus = 32
e. Koormuse iseloom = TĂ€iesti juhuslik
2) Juhuslik kirjutamine vÀikeste plokkidega 4k
a. Ploki suurus = 4k
b. Lugemine / kirjutamine = 0% / 100%
c. Tööde arv = 8
d. Oote sĂŒgavus = 32
e. Koormuse iseloom = TĂ€iesti juhuslik
teised kaks testi emuleerivad analĂŒĂŒtilise andmebaasi töö. Selles gruppis teste on meie huvi samuti IOPS ja viivituse suhtes.
3) JÀrjestikune lugemine vÀikeste plokkidega 4k
a. Ploki suurus = 4k
b. Lugemine / kirjutamine = 100% / 0%
c. Tööde arv = 8
d. Oote sĂŒgavus = 32
e. Koormuse iseloom = JĂ€rjestikune
4) JÀrjestikune kirjutamine vÀikeste plokkidega 4k
a. Ploki suurus = 4k
b. Lugemine / kirjutamine = 0% / 100%
c. Tööde arv = 8
d. Oote sĂŒgavus = 32
e. Koormuse iseloom = JĂ€rjestikune
kolmas grupptest emuleerib voogedastuse lugemise tööd (nĂ€ide â veebivideod, varukoopiate taastamine) ja voogedastuse kirjutamise tööd (nĂ€ide â videovalve, varukoopiate salvestamine). Selles grupis teste huvitavad meid juba mitte IOPS, vaid MB/s ning samuti viivitus.
5) JĂ€rjestikune lugemine suurte plokkidega 128k
a. Ploki suurus = 128k
b. Lugemine / kirjutamine = 0% / 100%
c. Tööde arv = 8
d. Oote sĂŒgavus = 32
e. Koormuse iseloom = JĂ€rjestikune
6) JĂ€rjestikune kirjutamine suurte plokkidega 128k
a. Ploki suurus = 128k
b. Lugemine / kirjutamine = 0% / 100%
c. Tööde arv = 8
d. Oote sĂŒgavus = 32
e. Koormuse iseloom = JĂ€rjestikune
Iga test kestab ĂŒks tund, arvestamata 7-minutilist massiivi soojendusaega.
Testi tulemused
Testi tulemused on koondatud kahte tabelisse.
Elbrus 8C (andmesalvestussĂŒsteem Aerodisk Vostok 2-E12)

Intel Xeon E5-2603 v4 (andmesalvestussĂŒsteem Aerodisk Engine N2)

Tulemused osutusid ÀÀrmiselt huvitavateks. MĂ”lemal juhul kasutasime hĂ€sti Ă€ra andmesalvestussĂŒsteemi protsessoriressursse (70-90% kasutusmÀÀr), ja sellises olukorras on selgelt nĂ€ha mĂ”lema protsessori plusse ja miinuseid.
MĂ”lemas tabelis on rohelise vĂ€rviga esile toodud testid, kus protsessorid "tunnetavad end enesekindlalt" ja nĂ€itavad hĂ€id tulemusi, samas oranĆŸiga on esile tĂ”stetud olukorrad, mida protsessorid "ei armasta".
Kui rÀÀkida juhuslikust koormusest vÀikeste plokkidena, siis:
- juhusliku lugemise osas on Intel kindlasti Elbrusest ees, vahe on 2 korda;
- juhusliku kirjutamise osas on selgelt viik, mÔlemad protsessorid nÀitasid umbkaudset ja vÀÀrilist tulemust.
JÀrjepideva koormuse korral vÀikeste plokkidena on pilt teine:
- nii lugemisel kui ka kirjutamisel ĂŒletab Intel oluliselt (2 korda) Elbrust. Samas, kuigi Elbruse IOPS nĂ€itaja on madalam kui Intelil, nĂ€eb see silmapaistev vĂ€lja (200-300 tuhat), on latentsus selgelt probleem (need on kolm korda kĂ”rgemad kui Intelil). KokkuvĂ”tteks, praegune Elbruse 8C versioon ei "armasta" vĂ€ga jĂ€rjepidevaid koormusi vĂ€ikeste plokkidena. Selgelt on mille kallal töötada.
Aga jÀrjepideva koormuse korral suurte plokkidena on pilt tÀiesti vastupidine:
- mĂ”lemad protsessorid nĂ€itasid umbes vĂ”rdset tulemust MB/s, kuid on ĂŒks AGA.... Elbruse latentsuse nĂ€itajad on 10 (kĂŒmme, Karl!!!) korda paremad (st madalamad) kui sarnasel protsessoril Inteli poolt (0,4/0,5 ms vĂ”rreldes 5,1/6,5 ms). Alguses mĂ”tlesime, et see on viga, seega kontrollisime tulemusi uuesti, tegime korrigeeritud testi, kuid kordustest nĂ€itas sama pilti. See on tĂ”sine eelis Elbrusele (ja keeruka arhitektuuri e2k ĂŒleĂŒldiselt) Inteli ees (ja vastavalt amd64 arhitektuuri ees). Lootkem, et see edu saab edasist arengut.
On veel ĂŒks huvitav omadus Elbrusest, millele tĂ€helepanelik lugeja vĂ”ib tabelit vaadates tĂ€helepanu pöörata. Kui vaadata Intel'i lugemise ja kirjutamise nĂ€itajate vahet, siis kĂ”igis testides ĂŒletab lugemine kirjutamist keskmiselt umbes 50%+. See on norm, milleks kĂ”ik (sealhulgas meie) on harjunud. Kui vaadata Elbrust, siis kirjutamise nĂ€itajad on palju lĂ€hemal lugemise nĂ€itajatele, lugemine ĂŒletab kirjutamist tavaliselt 10-30% vĂ”rra, mitte rohkem.
Mis sellest rÀÀgib? Et Elbrus "armastab" salvestamist, mis tĂ€hendab, et see protsessor on vĂ€ga kasulik ĂŒlesannetes, kus salvestamine on selgelt ĂŒlekaalus lugemise suhtes (kes ĂŒtles Jarovi seaduse?), mis on samuti e2k arhitektuuri vaieldamatu eelis, ja seda eelist tuleb arendada.
JÀreldused ja lÀhitulevik
Elbruse ja Intel-i keskmise taseme protsessorite vĂ”rdlevad testid andmesalvestuse ĂŒlesannetes nĂ€itasid umbes vĂ”rdseid ja ĂŒhtlaselt vÀÀrikad tulemusi, samas kui iga protsessor nĂ€itas oma huvitavaid omadusi.
Intel ĂŒletas Elbrust oluliselt juhuslikus lugemises vĂ€ikeste plokkide kaupa, samuti jĂ€rjestikusel lugemisel ja kirjutamisel vĂ€ikeste plokkide kaupa.
Juhuslikus kirjutamises vÀikeste plokkide kaupa nÀitavad mÔlemad protsessorid vÔrdsed tulemused.
Viivituste nÀitajate jÀrgi nÀeb Elbrus vÀlja oluliselt parem kui Intel voolukoormuses, st jÀrjestikusel lugemisel ja kirjutamisel suurte plokkide kaupa.
Lisaks suudab Elbrus erinevalt Intel-ist hÀsti toime tulla nii lugemise kui ka kirjutamise koormustega, samas kui Intel-i puhul on lugemine alati oluliselt parem kui kirjutamine.
Saadud tulemusi arvesse vĂ”ttes saab teha jĂ€relduse AĂ©rodisk Vostok andmesalvestussĂŒsteemide rakendatavuse kohta Elbrus 8C protsessoril jĂ€rgmistes ĂŒlesannetes:
- infotsĂŒsteemid, kus domineerivad kirjutamise operatsioonid;
- failidele juurdepÀÀs;
- otseedastamine;
- videovalve;
- varundamine;
- meedia sisu.
M CST kollektiivil on veel palju tööd ees, kuid nende töö tulemused on juba nĂŒĂŒd nĂ€htavad, mis, loomulikult, ei saa mitte rÔÔmustada.
Needless to say, these tests were conducted on the Linux core for e2k version 4.19. Currently, the Linux 5.4-e2k core is in beta testing (at MCST, in Basalt SPU, and also at our facility, Airodisk). This new core includes not only various enhancements but also significant revisions to the scheduler and numerous optimizations for high-speed solid-state drives. In addition, a new LCC compiler version 1.25 is being released specifically for the 5.x.x core branch by JSC "MCST". Preliminary results suggest that using the new compiler on the same Elbrus 8C processor, along with the new core, kernel environment, system utilities, libraries, and the Airodisk VOSTOK software will yield a substantial performance boost. And this is achieved without hardware upgrades â it operates on the same processor and at the same frequencies.
We anticipate the release of the Airodisk VOSTOK version based on the 5.4 core closer to the end of the year. Once work on the new version is completed, we will update the test results and also publish them here.
If we return to the beginning of the article and address the question of who is right: the pessimists who claim that Elbrus is 'nothing' and will never catch up with the leading processor manufacturers, or the optimists who argue that 'we're almost there and will soon overtake them'? If we base our judgment on real tests rather than stereotypes and biases, it is undoubtedly the optimists who are correct.
Elbrus is already demonstrating good results when compared to mid-range amd64 processors. Of course, it still has a long way to go to reach the top models in the Intel or AMD server processor line, but it wasnât aiming for that â processors 16C and 32C will be released for that purpose. Then we can discuss it.
We recognize that this article will raise even more questions about Elbrus, which is why we decided to organize another online webinar 'Around IT', to provide live answers to these questions.
This time, we will have Konstantin Trushkin, the Deputy General Director of MCST, as our guest. You can register for the webinar at the link below.
â
Thank you all, as always we are looking forward to constructive criticism and interesting questions.
Allikas: habr.com
