Mini ITX Cluster Turing Pi 2 32 ԳԲ օպերատիվ հիշողությամբ

Mini ITX Cluster Turing Pi 2 32 ԳԲ օպերատիվ հիշողությամբ

Ողջույններ Հաբրի համայնքին: Վերջերս ես գրեցի մեր առաջին տարբերակի կլաստերի տախտակի մասին [V1]. Իսկ այսօր ուզում եմ պատմել, թե ինչպես ենք մենք աշխատել տարբերակի վրա Turing V2 32 ԳԲ-ով RAM հիշողություն:

Մենք սիրում ենք մինի սերվերներ, որոնք կարող են օգտագործվել ինչպես տեղական զարգացման, այնպես էլ տեղական հոսթինգի համար: Ի տարբերություն սեղանադիր համակարգիչների կամ նոութբուքերի, մեր սերվերները նախագծված են 24/7 աշխատելու համար, դրանք կարելի է արագ դաշնակցել, օրինակ՝ կլաստերում կար 4 պրոցեսոր, իսկ 5 րոպե անց՝ 16 պրոցեսոր (առանց ցանցային լրացուցիչ սարքավորումների) և այս ամենը։ կոմպակտ ձևով, լուռ և էներգաարդյունավետ:

Մեր սերվերների ճարտարապետությունը հիմնված է կառուցման կլաստերային սկզբունքի վրա, այսինքն. մենք պատրաստում ենք կլաստերային տախտակներ, որոնք, օգտագործելով էթերնետ ցանցը տախտակի վրա, միացնում են մի քանի հաշվողական մոդուլներ (պրոցեսորներ): Պարզեցնելու համար, մենք դեռ չենք ստեղծում մեր սեփական հաշվողական մոդուլները, այլ օգտագործում ենք Raspberry Pi Compute Modules-ը և մենք իսկապես հույս ունեինք նոր CM4 մոդուլի համար: Բայց ամեն ինչ հակասում էր պլաններին իրենց նոր ձևի գործոնով, և կարծում եմ, որ շատերը հիասթափված են:

Կտրվածքի ներքո ինչպես մենք անցանք V1-ից V2 և ինչպես պետք է դուրս գայինք նոր Raspberry Pi CM4 ձևի գործոնով:

Այսպիսով, 7 հանգույցների համար կլաստեր ստեղծելուց հետո հարցերն են՝ ի՞նչ է հաջորդը: Ինչպե՞ս բարձրացնել ապրանքի արժեքը: 8, 10 կամ 16 հանգույց: Ո՞ր մոդուլների արտադրողները: Մտածելով արտադրանքի մասին որպես ամբողջություն՝ մենք հասկացանք, որ այստեղ գլխավորը ոչ թե հանգույցների քանակն է կամ արտադրողի ով լինելը, այլ կլաստերների բուն էությունը՝ որպես շինանյութ: Մենք պետք է փնտրենք դրա նվազագույն շինանյութը

Առաջին, կլինի կլաստեր և միևնույն ժամանակ կկարողանա միացնել սկավառակներ և ընդլայնման տախտակներ։ Կլաստերային բլոկը պետք է լինի ինքնաբավ բազային հանգույց և ընդլայնման տարբերակների լայն շրջանակով:

Երկրորդ, որպեսզի նվազագույն կլաստերային բլոկները կարողանան միացնել միմյանց՝ կառուցելով ավելի մեծ չափսի կլաստերներ, և որպեսզի այն արդյունավետ լինի բյուջեի և մասշտաբի արագության առումով։ Սանդղման արագությունը պետք է լինի ավելի արագ, քան սովորական համակարգիչները ցանցին միացնելը և շատ ավելի էժան, քան սերվերի սարքավորումը:

Երրորդը, նվազագույն կլաստերային միավորները պետք է լինեն բավականաչափ կոմպակտ, շարժական, էներգաարդյունավետ, ծախսարդյունավետ և ոչ պահանջկոտ աշխատանքային պայմանների համար: Սա սերվերի դարակներից և դրանց հետ կապված ամեն ինչից հիմնական տարբերություններից մեկն է:

Մենք սկսեցինք որոշել հանգույցների քանակը:

Հանգույցների քանակը

Պարզ տրամաբանական դատողություններով մենք հասկացանք, որ 4 հանգույցը լավագույն տարբերակն է նվազագույն կլաստերային բլոկի համար: 1 հանգույցը կլաստեր չէ, 2 հանգույցը բավարար չէ (1 վարպետ 1 աշխատող, բլոկի ներսում մասշտաբման հնարավորություն չկա, հատկապես տարասեռ տարբերակների դեպքում), 3 հանգույցը լավ տեսք ունի, բայց ոչ 2-ի հզորությունների բազմապատիկ և մասշտաբի սահմաններում: բլոկը սահմանափակ է, 6 հանգույցները գալիս են գրեթե 7 հանգույցի արժեքով (մեր փորձից սա արդեն մեծ ինքնարժեքի գին է), 8-ը շատ է, չի տեղավորվում մինի ITX ձևի գործոնում և նույնիսկ ավելի թանկ PoC լուծում:

Չորս հանգույց յուրաքանչյուր բլոկի համար համարվում է ոսկե միջին.

  • ավելի քիչ նյութեր մեկ կլաստեր տախտակի համար, հետևաբար ավելի էժան է արտադրությունը
  • 4-ի բազմապատիկ, ընդհանուր 4 բլոկը տալիս է 16 ֆիզիկական պրոցեսոր
  • կայուն միացում 1 վարպետ և 3 աշխատող
  • ավելի տարասեռ տատանումներ, ընդհանուր-հաշվարկային + արագացված-հաշվարկային մոդուլներ
  • mini ITX ձևի գործոն SSD կրիչներով և ընդլայնման քարտերով

Հաշվարկեք մոդուլները

Երկրորդ տարբերակը հիմնված է CM4-ի վրա, մենք կարծում էինք, որ այն կթողարկվի SODIMM ձևաչափով։ Բայց…
Մենք որոշում կայացրինք ստեղծել SODIMM մայր տախտակ և հավաքել CM4-ն անմիջապես մոդուլների մեջ, որպեսզի օգտվողները ստիպված չլինեն մտածել CM4-ի մասին:

Mini ITX Cluster Turing Pi 2 32 ԳԲ օպերատիվ հիշողությամբ
Turing Pi հաշվարկային մոդուլ, որն աջակցում է Raspberry Pi CM4-ին

Ընդհանուր առմամբ, մոդուլների որոնման համար բացվեց հաշվողական մոդուլների մի ամբողջ շուկա՝ 128 ՄԲ օպերատիվ հիշողությամբ փոքր մոդուլներից մինչև 8 ԳԲ օպերատիվ հիշողություն։ Առջևում 16 ԳԲ օպերատիվ և ավելի օպերատիվ հիշողություն ունեցող մոդուլներ են: Ամպային բնիկ տեխնոլոգիաների վրա հիմնված edge հավելվածների հոսթինգի համար 1 ԳԲ օպերատիվ հիշողությունն արդեն բավարար չէ, և 2, 4 և նույնիսկ 8 ԳԲ օպերատիվ հիշողությամբ մոդուլների վերջերս հայտնվելը լավ տեղ է տալիս աճի համար: Նրանք նույնիսկ դիտարկել են տարբերակներ FPGA մոդուլներով մեքենայական ուսուցման հավելվածների համար, սակայն նրանց աջակցությունը հետաձգվել է, քանի որ ծրագրային էկոհամակարգը մշակված չէ: Մոդուլների շուկան ուսումնասիրելիս մենք առաջացանք մոդուլների համար ունիվերսալ ինտերֆեյս ստեղծելու գաղափարը, և V2-ում մենք սկսում ենք միավորել հաշվողական մոդուլների ինտերֆեյսը: Սա թույլ կտա V2 տարբերակի սեփականատերերին միացնել այլ արտադրողների մոդուլները և խառնել դրանք կոնկրետ առաջադրանքների համար:

V2-ն աջակցում է Raspberry Pi 4 Compute Module (CM4) ամբողջ գիծը, ներառյալ Lite տարբերակները և 8 ԳԲ RAM մոդուլները:

Mini ITX Cluster Turing Pi 2 32 ԳԲ օպերատիվ հիշողությամբ

Ծայրամաս

Մոդուլների մատակարարին և հանգույցների քանակը որոշելուց հետո մենք մոտեցանք PCI ավտոբուսին, որի վրա տեղադրված են ծայրամասային սարքերը: PCI ավտոբուսը ծայրամասային սարքերի ստանդարտն է և գտնվում է գրեթե բոլոր հաշվողական մոդուլներում: Մենք ունենք մի քանի հանգույց, և իդեալական տարբերակում, յուրաքանչյուր հանգույց պետք է կարողանա համօգտագործել PCI սարքերը միաժամանակյա հարցումների ռեժիմում: Օրինակ, եթե դա ավտոբուսին միացված սկավառակ է, ապա այն հասանելի է բոլոր հանգույցներին։ Մենք սկսեցինք փնտրել PCI անջատիչներ բազմաբնույթ հյուրընկալող աջակցությամբ և պարզեցինք, որ դրանցից ոչ մեկը չի համապատասխանում մեր պահանջներին: Այս բոլոր լուծումները հիմնականում սահմանափակված էին 1 հոսթով կամ մի քանի հոսթինգով, բայց առանց վերջնական կետերի միաժամանակյա հարցումների ռեժիմի: Երկրորդ խնդիրը մեկ չիպի համար 50 դոլար կամ ավելի բարձր արժեքն է: V2-ում մենք որոշեցինք հետաձգել փորձերը PCI անջատիչների հետ (մենք կանդրադառնանք դրանց ավելի ուշ, երբ մենք զարգացնենք) և գնացինք յուրաքանչյուր հանգույցի համար դեր նշանակելու ճանապարհով. առաջին երկու հանգույցները բացեցին մինի PCI էքսպրես պորտը յուրաքանչյուր հանգույցի համար, երրորդ հանգույցը: բացահայտված 2-պորտ 6 Գբիտ/վ արագությամբ SATA կարգավորիչ: Այլ հանգույցներից սկավառակներ մուտք գործելու համար կարող եք օգտագործել ցանցային ֆայլային համակարգը կլաստերի ներսում: Ինչու ոչ?

Գաղտնի հայացք

Մենք որոշեցինք կիսվել որոշ էսքիզներով, թե ինչպես է նվազագույն կլաստերային բլոկը ժամանակի ընթացքում զարգացել քննարկման և արտացոլման միջոցով:

Mini ITX Cluster Turing Pi 2 32 ԳԲ օպերատիվ հիշողությամբMini ITX Cluster Turing Pi 2 32 ԳԲ օպերատիվ հիշողությամբMini ITX Cluster Turing Pi 2 32 ԳԲ օպերատիվ հիշողությամբ

Արդյունքում, մենք հասանք կլաստերային միավորի՝ 4 260-փին հանգույցներով, 2 մինի PCIe (Gen 2) միացքով, 2 SATA (Gen 3) միացքով: Տախտակն ունի Layer-2 Managed Switch՝ VLAN աջակցությամբ: Առաջին հանգույցից հանվել է մինի PCIe պորտը, որի մեջ կարող եք տեղադրել ցանցային քարտ և ստանալ մեկ այլ Ethernet պորտ կամ 5G մոդեմ և ցանցի համար երթուղիչ պատրաստել կլաստերի վրա, իսկ Ethernet պորտերը՝ առաջին հանգույցից:

Mini ITX Cluster Turing Pi 2 32 ԳԲ օպերատիվ հիշողությամբ

Կլաստերային ավտոբուսն ունի ավելի շատ հնարավորություններ, ներառյալ մոդուլները անմիջապես բոլոր անցքերի միջով բռնկելու հնարավորությունը և, իհարկե, յուրաքանչյուր հանգույցի FAN միակցիչները արագության կառավարմամբ:

Դիմում

Եզրային ենթակառուցվածք ինքնակառավարվող հավելվածների և ծառայությունների համար

Մենք նախագծել ենք V2-ը որպես նվազագույն շինանյութ սպառողական/առևտրային մակարդակի եզրային ենթակառուցվածքի համար: V2-ի միջոցով էժան է սկսել հայեցակարգի ապացուցումը և մասշտաբը, երբ աճում եք՝ աստիճանաբար տեղափոխելով հավելվածներ, որոնք ավելի ծախսարդյունավետ են և գործնական՝ հյուրընկալելու համար: Կլաստերային բլոկները կարող են միացվել միասին՝ ավելի մեծ կլաստերներ ստեղծելու համար: Դա կարելի է անել աստիճանաբար՝ առանց հաստատման մեծ ռիսկի
գործընթացները։ Արդեն այսօր մեծ թվով դիմումներ կան բիզնեսի համար, որը կարող է հյուրընկալվել տեղում.

ARM աշխատանքային կայան

Մինչև 32 ԳԲ օպերատիվ հիշողություն մեկ կլաստերի դեպքում, առաջին հանգույցը կարող է օգտագործվել ՕՀ-ի աշխատասեղանի տարբերակի համար (օրինակ՝ Ubuntu Desktop 20.04 LTS), իսկ մնացած 3 հանգույցները՝ առաջադրանքների հավաքման, փորձարկման և վրիպազերծման, ARM-ի համար ամպային բնօրինակ լուծումներ մշակելու համար: կլաստերներ. Որպես հանգույց CI / CD-ի համար ARM եզրային ենթակառուցվածքի արդ.

CM2 մոդուլներով Turing V4 կլաստերը ճարտարապետական ​​առումով գրեթե նույնական է (տարբերությունը ARMv8-ի փոքր տարբերակներում) AWS Graviton օրինակների վրա հիմնված կլաստերին: CM4 մոդուլի պրոցեսորն օգտագործում է ARMv8 ճարտարապետությունը, որպեսզի կարողանաք ստեղծել պատկերներ և հավելվածներ AWS Graviton 1 և 2 օրինակների համար, որոնք, ինչպես հայտնի է, շատ ավելի էժան են, քան x86 օրինակները:

Source: www.habr.com