Բարեւ բոլորին. Մենք շարունակում ենք ձեզ ներկայացնել Aerodisk VOSTOK տվյալների պահպանման համակարգը՝ հիմնված ռուսական Elbrus 8C պրոցեսորի վրա։
Այս հոդվածում մենք (ինչպես խոստացել էինք) մանրամասն կվերլուծենք Էլբրուսի հետ կապված ամենահայտնի և հետաքրքիր թեմաներից մեկը՝ արտադրողականությունը: Էլբրուսի կատարողականի վերաբերյալ բավականին շատ շահարկումներ կան, և բացարձակապես բևեռային: Հոռետեսներն ասում են, որ Էլբրուսի արտադրողականությունն այժմ «ոչինչ» է, և տասնամյակներ կպահանջվեն «լավագույն» արտադրողներին հասնելու համար (այսինքն՝ ներկա իրականության մեջ՝ երբեք): Մյուս կողմից, լավատեսներն ասում են, որ Elbrus 8C-ն արդեն լավ արդյունքներ է ցույց տալիս, և առաջիկա մի քանի տարիների ընթացքում, պրոցեսորների նոր տարբերակների թողարկմամբ (Elbrus 16C և 32C), մենք կկարողանանք «հասնել և առաջ անցնել»: պրոցեսորների համաշխարհային առաջատար արտադրողները:
Մենք Aerodisk-ում պրակտիկ մարդիկ ենք, ուստի գնացինք ամենապարզ և (մեզ համար) հասկանալի ճանապարհով. փորձարկել, գրանցել արդյունքները և միայն դրանից հետո եզրակացություններ անել: Արդյունքում, մենք անցկացրեցինք բավականին մեծ թվով թեստեր և հայտնաբերեցինք Elbrus 8C e2k ճարտարապետության մի շարք գործառնական առանձնահատկություններ (ներառյալ հաճելիները) և, իհարկե, դա համեմատեցինք Intel Xeon amd64 ճարտարապետության պրոցեսորների նմանատիպ պահեստավորման համակարգերի հետ:
Ի դեպ, Elbrus-ի թեստերի, արդյունքների և պահեստավորման համակարգերի հետագա զարգացման մասին ավելի մանրամասն կխոսենք մեր հաջորդ «OkoloIT» վեբինարին, որը տեղի կունենա 15.10.2020 թվականի հոկտեմբերի 15-ին, ժամը 00:XNUMX-ին: Կարող եք գրանցվել ստորև բերված հղումով:
Փորձարկման տակդիր
Մենք երկու ստենդ ենք ստեղծել։ Երկու ստենդները բաղկացած են Linux աշխատող սերվերից, որը միացված է 16G FC անջատիչների միջոցով երկու պահեստային կարգավորիչների, որոնցում տեղադրված են 12 SAS SSD 960 ԳԲ սկավառակ (11,5 ՏԲ «հում հզորություն» կամ 5,7 ՏԲ «օգտագործելի» հզորություն, եթե մենք օգտագործում ենք RAID: -10):
Ստենդը սխեմատիկորեն այսպիսի տեսք ունի.
Ստենդ թիվ 1 e2k (Էլբրուս)
Սարքավորումների կոնֆիգուրացիան հետևյալն է.
- Linux սերվեր (2xIntel Xeon E5-2603 v4 (6 միջուկ, 1,70 ԳՀց), 64 ԳԲ DDR4, 2xFC ադապտեր 16G 2 պորտ) – 1 հատ:
- Switch FC 16 G – 2 հատ:
- Պահպանման համակարգ Aerodisk Vostok 2-E12 (2xElbrus 8C (8 միջուկ, 1,20Ghz), 32 GB DDR3, 2xFE FC-adaptor 16G 2 port, 12xSAS SSD 960 GB) - 1 pc.
Ստենդ թիվ 2 amd64 (Intel)
e2k-ի նմանատիպ կոնֆիգուրացիայի հետ համեմատելու համար մենք օգտագործեցինք պահեստավորման նմանատիպ կոնֆիգուրացիա՝ amd64-ի բնութագրերով նման պրոցեսորով.
- Linux սերվեր (2xIntel Xeon E5-2603 v4 (6 միջուկ, 1,70 ԳՀց), 64 ԳԲ DDR4, 2xFC ադապտեր 16G 2 պորտ) – 1 հատ:
- Switch FC 16 G – 2 հատ:
- Պահպանման համակարգ Aerodisk Engine N2 (2xIntel Xeon E5-2603 v4 (6 միջուկ, 1,70 ԳՀց), 32 ԳԲ DDR4, 2xFE FC-ադապտեր 16G 2 պորտ, 12xSAS SSD 960 ԳԲ) - 1 հատ:
Կարևոր նշում․ թեստում օգտագործված Elbrus 8C պրոցեսորներն աջակցում են միայն DDR3 RAM-ին, սա, իհարկե, «վատ է, բայց ոչ երկար»։ Elbrus 8SV-ը (մենք դեռ չունենք այն պահեստում, բայց շուտով կունենանք) աջակցում է DDR4-ին:
Փորձարկման մեթոդիկա
Բեռը ստեղծելու համար մենք օգտագործեցինք հանրաճանաչ և ժամանակի փորձարկված Flexible IO (FIO) ծրագիրը:
Երկու պահեստավորման համակարգերը կազմաձևված են մեր կազմաձևման առաջարկությունների համաձայն՝ հիմնված բլոկային մուտքի բարձր կատարողականության պահանջների վրա, ուստի մենք օգտագործում ենք DDP (Dynamic Disk Pool) սկավառակի լողավազաններ: Փորձարկման արդյունքները չխեղաթյուրելու համար մենք անջատում ենք սեղմումը, կրկնօրինակումը և RAM-ի քեշը երկու պահեստավորման համակարգերում:
RAID-8-ում ստեղծվել են 10 D-LUN՝ յուրաքանչյուրը 500 ԳԲ, 4 ՏԲ ընդհանուր օգտագործման հզորությամբ (այսինքն՝ այս կազմաձևման հնարավոր օգտագործելի հզորության մոտավորապես 70%-ը):
Կիրականացվեն պահեստավորման համակարգերի օգտագործման հիմնական և հանրաճանաչ սցենարներ, մասնավորապես.
առաջին երկու թեստերը ընդօրինակում են գործարքային DBMS-ի աշխատանքը: Թեստերի այս խմբում մեզ հետաքրքրում է IOPS-ը և հետաձգումը:
1) Պատահական ընթերցում փոքր բլոկներում 4k
ա. Բլոկի չափը = 4k
բ. Կարդալ/գրել = 100%/0%
գ. Աշխատանքների քանակը = 8
դ. Հերթի խորությունը = 32
ե. Բեռնման նիշ = Ամբողջական պատահական
2) Պատահական ձայնագրություն փոքր բլոկներում 4k
ա. Բլոկի չափը = 4k
բ. Կարդալ/գրել = 0%/100%
գ. Աշխատանքների քանակը = 8
դ. Հերթի խորությունը = 32
ե. Բեռնման նիշ = Ամբողջական պատահական
երկրորդ երկու թեստերը ընդօրինակում են DBMS-ի վերլուծական մասի աշխատանքը: Թեստերի այս խմբում մեզ հետաքրքրում է նաև IOPS-ը և հետաձգումը:
3) Հերթական ընթերցում փոքր բլոկներում 4k
ա. Բլոկի չափը = 4k
բ. Կարդալ/գրել = 100%/0%
գ. Աշխատանքների քանակը = 8
դ. Հերթի խորությունը = 32
ե. Բեռնման նիշ = Հաջորդական
4) Հերթական ձայնագրություն փոքր բլոկներում 4k
ա. Բլոկի չափը = 4k
բ. Կարդալ/գրել = 0%/100%
գ. Աշխատանքների քանակը = 8
դ. Հերթի խորությունը = 32
ե. Բեռնման նիշ = Հաջորդական
Թեստերի երրորդ խումբը ընդօրինակում է հոսքային ընթերցման աշխատանքը (օրինակ՝ առցանց հեռարձակումներ, կրկնօրինակների վերականգնում) և հոսքային ձայնագրում (օրինակ՝ տեսահսկում, կրկնօրինակների ձայնագրում): Թեստերի այս խմբում մեզ այլևս չի հետաքրքրում IOPS-ը, այլ MB/s-ը և նաև հետաձգումը:
5) Հերթական ընթերցում 128կ մեծ բլոկներում
ա. Բլոկի չափը = 128k
բ. Կարդալ/գրել = 0%/100%
գ. Աշխատանքների քանակը = 8
դ. Հերթի խորությունը = 32
ե. Բեռնման նիշ = Հաջորդական
6) Հերթական ձայնագրություն 128կ մեծ բլոկներում
ա. Բլոկի չափը = 128k
բ. Կարդալ/գրել = 0%/100%
գ. Աշխատանքների քանակը = 8
դ. Հերթի խորությունը = 32
ե. Բեռնման նիշ = Հաջորդական
Յուրաքանչյուր թեստը կտևի մեկ ժամ՝ չհաշված զանգվածի տաքացման ժամանակը 7 րոպե:
Թեստի արդյունքներ
Թեստի արդյունքներն ամփոփված են երկու աղյուսակում:
Elbrus 8S (SHD Aerodisk Vostok 2-E12)
Intel Xeon E5-2603 v4 (Պահպանման համակարգ Aerodisk Engine N2)
Արդյունքները չափազանց հետաքրքիր են ստացվել։ Երկու դեպքում էլ մենք լավ օգտագործեցինք պահեստավորման համակարգի վերամշակման հզորությունը (70-90% օգտագործում), և այս իրավիճակում երկու պրոցեսորների դրական և բացասական կողմերն ակնհայտորեն ակնհայտ են:
Երկու աղյուսակներում թեստերը, որտեղ պրոցեսորները «վստահ են զգում» և լավ արդյունքներ են ցույց տալիս, ընդգծված են կանաչ գույնով, մինչդեռ այն իրավիճակները, որոնք պրոցեսորներին «դուր չեն գալիս»՝ նարնջագույնով:
Եթե մենք խոսում ենք փոքր բլոկների պատահական բեռի մասին, ապա.
- Պատահական ընթերցման տեսանկյունից Intel-ը, իհարկե, առաջ է Էլբրուսից, տարբերությունը 2 անգամ է.
- պատահական ձայնագրության տեսանկյունից դա միանշանակ ոչ-ոքի է, երկու պրոցեսորներն էլ ցույց տվեցին մոտավորապես հավասար և պատշաճ արդյունքներ։
Փոքր բլոկների հաջորդական ծանրաբեռնվածության դեպքում պատկերը տարբեր է.
- ինչպես կարդալիս, այնպես էլ գրելիս Intel-ը զգալիորեն (2 անգամ) առաջ է Էլբրուսից։ Միևնույն ժամանակ, եթե Էլբրուսը Intel-ից ցածր IOPS ցուցիչ ունի, բայց պարկեշտ տեսք ունի (200-300 հազար), ապա ակնհայտ ուշացումների խնդիր կա (դրանք երեք անգամ բարձր են Intel-ից): Եզրակացություն, Elbrus 8C-ի ներկայիս տարբերակը իսկապես «չի սիրում» հաջորդական բեռները փոքր բլոկներում: Ակնհայտ է, որ որոշակի աշխատանք կա անելու:
Բայց մեծ բլոկներով հաջորդական ծանրաբեռնվածության դեպքում պատկերը ճիշտ հակառակն է.
- երկու պրոցեսորներն էլ ցույց տվեցին մոտավորապես հավասար արդյունքներ ՄԲ/վ, բայց կա մեկ ԲԱՅՑ.... Էլբրուսի լատենտային աշխատանքը 10 (տասը, Կարլ!!!) անգամ ավելի լավ է (այսինքն՝ ավելի ցածր), քան Intel-ի նմանատիպ պրոցեսորը (0,4/0,5 մվ դիմաց 5,1/6,5 մվ): Սկզբում մտածեցինք, որ դա անսարքություն է, ուստի նորից ստուգեցինք արդյունքները, նորից փորձարկեցինք, բայց վերստուգումը ցույց տվեց նույն պատկերը: Սա Elbrus-ի (և ընդհանրապես e2k ճարտարապետության) լուրջ առավելությունն է Intel-ի (և, համապատասխանաբար, amd64 ճարտարապետության) նկատմամբ: Հուսանք, որ այս հաջողությունն ավելի կզարգանա։
Էլբրուսի մեկ այլ հետաքրքիր առանձնահատկություն կա, որի վրա ուշադիր ընթերցողը կարող է ուշադրություն դարձնել՝ նայելով աղյուսակին։ Եթե նայեք Intel-ի կարդալու և գրելու կատարողականի տարբերությունին, ապա բոլոր թեստերում կարդալը միջինը 50%+-ով առաջ է գրավորից: Սա այն նորմն է, որին բոլորը (այդ թվում՝ մենք) սովոր են։ Եթե նայեք Էլբրուսին, գրելու ցուցիչները շատ ավելի մոտ են ընթերցանության ցուցիչներին, կարդալը գրավորից առաջ է անցնում, որպես կանոն, 10 - 30%, ոչ ավելին։
Ինչ է սա նշանակում? Այն փաստը, որ Էլբրուսը «իրոք սիրում է» գրելը, և դա, իր հերթին, հուշում է, որ այս պրոցեսորը շատ օգտակար կլինի այնպիսի առաջադրանքներում, որտեղ գրելը ակնհայտորեն գերակայում է կարդալու վրա (ո՞վ ասաց Յարովայայի օրենքը), ինչը նաև e2k ճարտարապետության անկասկած առավելություն է, և այս առավելությունը պետք է զարգացնել:
Եզրակացություններ և մոտ ապագան
Elbrus և Intel միջին դասի պրոցեսորների համեմատական թեստերը տվյալների պահպանման առաջադրանքների համար ցույց տվեցին մոտավորապես հավասար և հավասարապես արժանի արդյունքներ, մինչդեռ յուրաքանչյուր պրոցեսոր ցույց տվեց իր հետաքրքիր առանձնահատկությունները:
Intel-ը զգալիորեն գերազանցեց Էլբրուսին փոքր բլոկներով պատահական ընթերցման, ինչպես նաև փոքր բլոկների հաջորդական ընթերցման և գրելու հարցում:
Փոքր բլոկների մեջ պատահական գրելիս երկու պրոցեսորներն էլ ցույց են տալիս հավասար արդյունքներ։
Լատենտության առումով Էլբրուսը զգալիորեն ավելի լավ է թվում, քան Intel-ը հոսքային բեռի մեջ, այսինքն. մեծ բլոկներով հաջորդական ընթերցանության և գրելու մեջ:
Բացի այդ, Էլբրուսը, ի տարբերություն Intel-ի, հավասարապես լավ է հաղթահարում և՛ կարդալու, և՛ գրելու բեռները, մինչդեռ Intel-ի դեպքում կարդալը միշտ շատ ավելի լավ է, քան գրելը:
Ստացված արդյունքների հիման վրա մենք կարող ենք եզրակացություն անել Elbrus 8C պրոցեսորի վրա Aerodisk Vostok տվյալների պահպանման համակարգերի կիրառելիության մասին հետևյալ առաջադրանքներում.
- գրելու գործառնությունների գերակշռող տեղեկատվական համակարգեր.
- ֆայլի մուտք;
- առցանց հեռարձակումներ;
- CCTV;
- կրկնօրինակում;
- մեդիա բովանդակություն.
MCST թիմը դեռ աշխատելու բան ունի, բայց նրանց աշխատանքի արդյունքն արդեն տեսանելի է, ինչը, իհարկե, չի կարող չուրախացնել։
Այս թեստերն իրականացվել են Linux միջուկի վրա e2k տարբերակի 4.19-ի համար; ներկայումս բետա թեստերում (MCST-ում, Basalt SPO-ում և նաև այստեղ Aerodisk-ում) կա Linux միջուկ 5.4-e2k, որում, ի թիվս այլ բաների, այն ունի լրջորեն վերանախագծվել է ժամանակացույցը և շատ օպտիմիզացումներ բարձր արագությամբ պինդ վիճակում գտնվող կրիչների համար: Նաև, հատուկ 5.x.x ճյուղի միջուկների համար, MCST JSC-ն թողարկում է նոր LCC կոմպիլյատոր՝ տարբերակը 1.25: Նախնական արդյունքների համաձայն, նույն Elbrus 8C պրոցեսորի վրա նոր միջուկը կազմված է նոր կոմպիլյատորով, միջուկի միջավայրով, համակարգի կոմունալ ծառայություններով և գրադարաններով և, փաստորեն, Aerodisk VOSTOK ծրագրաշարով, թույլ կտա ավելի զգալի բարձրացնել կատարողականը: Եվ սա առանց սարքավորումների փոխարինման՝ նույն պրոցեսորի վրա և նույն հաճախականությամբ:
Մենք ակնկալում ենք Aerodisk VOSTOK-ի տարբերակի թողարկումը, որը հիմնված է միջուկի 5.4-ի վրա, մինչև տարեվերջ, և հենց որ նոր տարբերակի վրա աշխատանքը ավարտվի, մենք կթարմացնենք թեստի արդյունքները և կհրապարակենք դրանք այստեղ:
Եթե հիմա վերադառնանք հոդվածի սկզբին և պատասխանենք հարցին, ո՞վ է ճիշտ. հոռետեսները, ովքեր ասում են, որ Էլբրուսը «ոչինչ» է և երբեք չի հասնի պրոցեսորների առաջատար արտադրողների հետ, կամ լավատեսները, ովքեր ասում են, որ «նրանք արդեն գրեթե բռնել են». վերև և շուտով կանցնե՞ք»: Եթե ելնենք ոչ թե կարծրատիպերից ու կրոնական նախապաշարմունքներից, այլ իրական փորձարկումներից, ապա լավատեսները միանշանակ իրավացի են։
Elbrus-ն արդեն լավ արդյունքներ է ցույց տալիս միջին մակարդակի amd64 պրոցեսորների համեմատությամբ: Elbrus 8-ke-ն, իհարկե, հեռու է Intel-ի կամ AMD-ի սերվերային պրոցեսորների լավագույն մոդելներից, սակայն այն նպատակաուղղված չէր, այդ նպատակով կթողարկվեն 16C և 32C պրոցեսորները: Հետո կխոսենք։
Մենք հասկանում ենք, որ այս հոդվածից հետո Էլբրուսի մասին ավելի շատ հարցեր կլինեն, ուստի որոշեցինք կազմակերպել մեկ այլ առցանց վեբինար «OkoloIT»՝ այս հարցերին ուղիղ եթերում պատասխանելու համար:
Այս անգամ մեր հյուրը կլինի MCST ընկերության գլխավոր տնօրենի տեղակալ Կոնստանտին Տրուշկինը։ Վեբինարին կարող եք գրանցվել՝ օգտագործելով ստորև նշված հղումը:
Շնորհակալություն բոլորին, ինչպես միշտ, սպասում ենք կառուցողական քննադատության և հետաքրքիր հարցերի։
Source: www.habr.com