2 ГБ жедел жады бар Mini ITX кластері Turing Pi 32

2 ГБ жедел жады бар Mini ITX кластері Turing Pi 32

Хабр қауымдастығына сәлем! Мен жақында кластерлік тақтаның бірінші нұсқасы туралы жаздым [V1]. Ал бүгін мен нұсқада қалай жұмыс істегенімізді айтқым келеді 2 ГБ сыйымдылығы бар Turing V32 жады.

Біз жергілікті даму үшін де, жергілікті хостинг үшін де пайдалануға болатын шағын серверлерге құмармыз. Үстелдік компьютерлерден немесе ноутбуктерден айырмашылығы, біздің серверлер тәулік бойы жұмыс істеуге арналған, оларды федерацияға тез қосуға болады, мысалы, кластерде 24 процессор болды, ал 7 минуттан кейін 4 процессор болды (қосымша желілік жабдықсыз) және мұның барлығы ықшам формада, үнсіз және энергияны үнемдейді.

Біздің серверлеріміздің архитектурасы құрылыстың кластерлік принципіне негізделген, яғни. Тақтадағы Ethernet желісін пайдаланып, бірнеше есептеу модульдерін (процессорларды) қосатын кластерлік тақталар жасаймыз. Заттарды жеңілдету үшін біз өз есептеу модульдерімізді әлі жасап жатқан жоқпыз, бірақ Raspberry Pi есептеу модульдерін пайдаланып, жаңа CM4 модуліне шынымен үміттендік. Бірақ бәрі жаңа форма факторымен жоспарларға қайшы келді және менің ойымша, көпшілігінің көңілі қалды.

Төменде біз V1-ден V2-ге қалай өткеніміз және Raspberry Pi CM4-тің жаңа форма факторымен қалай күресуге тура келді.

Сонымен, 7 түйіннен тұратын кластерді жасағаннан кейін сұрақтар туындайды: ары қарай не істеу керек? Өнімнің құнын қалай арттыруға болады? 8, 10 немесе 16 түйін? Қандай модуль өндірушілері? Тұтастай өнім туралы ойлана отырып, біз мұнда ең бастысы түйіндердің саны немесе өндірушінің кім екендігі емес, құрылыс материалы ретіндегі кластерлердің мәні екенін түсіндік. Біз ең төменгі құрылыс блогын іздеуіміз керек

Бірінші, кластер болады және бір уақытта дискілер мен кеңейту карталарын қосу мүмкіндігіне ие болады. Кластер бірлігі кең кеңейту мүмкіндіктері бар өзін-өзі қамтамасыз ететін негізгі түйін болуы керек.

Екінші, осылайша ең аз кластер блоктары үлкенірек кластерлерді құру арқылы бір-бірімен қосылуы мүмкін және бұл бюджет пен масштабтау жылдамдығы тұрғысынан тиімді болады. Масштабтау жылдамдығы қарапайым компьютерлерді желіге қосудан жоғары және серверлік жабдыққа қарағанда әлдеқайда арзан болуы керек.

Үшінші, минималды кластерлік блоктар жеткілікті жинақы, мобильді, энергияны үнемдейтін, үнемді және жұмыс жағдайларында талап етпейтін болуы керек. Бұл сервер сөрелерінен және олармен байланысты барлық нәрселерден негізгі айырмашылықтардың бірі.

Біз түйіндердің санын анықтаудан бастадық.

Түйіндердің саны

Қарапайым логикалық пайымдауларды пайдалана отырып, біз 4 түйін ең аз кластер блогы үшін ең жақсы нұсқа екенін түсіндік. 1 түйін кластер емес, 2 түйін жеткіліксіз (1 шебер 1 жұмысшы, блок ішінде масштабтау мүмкіндігі жоқ, әсіресе гетерогенді опциялар үшін), 3 түйін жақсы көрінеді, бірақ 2-нің еселігі емес және ауқымда масштабтау блок шектеулі, 6 түйін шамамен 7 түйін сияқты бағамен келеді (біздің тәжірибеміз бойынша бұл қазірдің өзінде жоғары баға), 8 өте көп, mini ITX пішін факторына сәйкес келмейді және PoC үшін одан да қымбат шешім.

Біз бір блокқа төрт түйінді алтын орта деп санаймыз:

  • бір кластерлік тақтаға аз материалдар, демек, өндіріс арзанырақ
  • 4-ке бөлінетін, тек 4 блок 16 физикалық процессорды береді
  • тұрақты схема 1 шебер және 3 жұмысшы
  • көп гетерогенді вариациялар, жалпы-есептеу + жеделдетілген-есептеу модульдері
  • SSD дискілері мен кеңейту карталары бар шағын ITX пішін факторы

Есептеу модульдері

Екінші нұсқа CM4 негізінде жасалған, біз ол SODIMM пішін факторында шығарылады деп ойладық. Бірақ…
Біз SODIMM қосымша тақтасын жасауды және пайдаланушылар CM4 туралы ойламауы үшін CM4 модулін тікелей модульдерге жинауды шештік.

2 ГБ жедел жады бар Mini ITX кластері Turing Pi 32
Raspberry Pi CM4 қолдайтын Turing Pi есептеу модулі

Жалпы, модульдерді іздеуде 128 Мбайт жедел жады бар шағын модульдерден бастап 8 ГБ жедел жадыға дейін есептеу модульдерінің тұтас нарығы ашылды. Алда 16 ГБ жедел жады бар модульдер немесе одан да көп. Бұлтты технологияларға негізделген шеткі хостинг қосымшалары үшін 1 ГБ жедел жады енді жеткіліксіз, ал жақында 2, 4 және тіпті 8 ГБ жедел жады бар модульдердің пайда болуы өсу үшін жақсы орын береді. Біз тіпті машиналық оқыту қосымшаларына арналған FPGA модульдері бар опцияларды қарастырдық, бірақ бағдарламалық жасақтаманың экожүйесі дамымағандықтан оларды қолдау кейінге қалдырылды. Модуль нарығын зерттей отырып, біз модульдер үшін әмбебап интерфейсті құру идеясына келдік, ал V2-де біз есептеу модульдерінің интерфейсін біріздендіруді бастаймыз. Бұл V2 нұсқасының иелеріне басқа өндірушілердің модульдерін қосуға және оларды нақты тапсырмалар үшін араластыруға мүмкіндік береді.

V2 Lite нұсқаларын және 4 ГБ жедел жады бар модульдерді қоса алғанда, Raspberry Pi 4 есептеу модулінің (CM8) бүкіл желісін қолдайды.

2 ГБ жедел жады бар Mini ITX кластері Turing Pi 32

Сыртқы құрылғылар

Модульдердің жеткізушісін және түйіндер санын анықтағаннан кейін біз перифериялық құрылғылар орналасқан PCI шинасына жақындадық. PCI шинасы перифериялық құрылғылар үшін стандарт болып табылады және барлық дерлік есептеу модульдерінде кездеседі. Бізде бірнеше түйіндер бар және ең дұрысы, әрбір түйін PCI құрылғыларын бәсекелес сұрау режимінде бөлісе алады. Мысалы, егер бұл шинаға қосылған диск болса, онда ол барлық түйіндерге қол жетімді. Біз мультихост қолдауы бар PCI қосқыштарын іздей бастадық және олардың ешқайсысы біздің талаптарымызға сай келмейтінін анықтадық. Бұл шешімдердің барлығы негізінен 1 хост немесе көп хосттармен шектелді, бірақ соңғы нүктелерге бір мезгілде сұраулар режимі жоқ. Екінші мәселе - бір чиптің құны 50 доллар немесе одан да көп. V2-де біз PCI қосқыштарымен эксперименттерді кейінге қалдыруды ұйғардық (біз оларды әзірлеу кезінде оларға кейінірек ораламыз) және әрбір түйін үшін рөл тағайындау жолын ұстандық: алғашқы екі түйінде әрбір түйінге шағын PCI экспресс порты ашылды, үшінші түйін ашық 2 портты 6 Гбит/с SATA контроллері. Басқа түйіндерден дискілерге қол жеткізу үшін кластердегі желілік файлдық жүйені пайдалануға болады. Неге жоқ?

Sneakpeek

Біз талқылау және рефлексия арқылы уақыт өте келе минималды кластер блогының қалай дамығаны туралы кейбір эскиздермен бөлісуді шештік.

2 ГБ жедел жады бар Mini ITX кластері Turing Pi 322 ГБ жедел жады бар Mini ITX кластері Turing Pi 322 ГБ жедел жады бар Mini ITX кластері Turing Pi 32

Нәтижесінде біз 4 260 істікшелі түйіні, 2 шағын PCIe (Gen 2) порттары, 2 SATA (Gen 3) порттары бар кластерлік блокқа келдік. Тақтада VLAN қолдауы бар Layer-2 басқарылатын қосқышы бар. Бірінші түйінде шағын PCIe порты бар, оған желілік картаны орнатуға және басқа Ethernet портын немесе 5G модемін алуға және бірінші түйінді кластер мен Ethernet порттарында желіге арналған маршрутизаторға айналдыруға болады.

2 ГБ жедел жады бар Mini ITX кластері Turing Pi 32

Кластерлік шинаның көптеген функциялары бар, соның ішінде модульдерді барлық слоттар арқылы тікелей жыпылықтау мүмкіндігі және, әрине, жылдамдықты реттейтін әрбір түйіндегі FAN қосқыштары.

Қолданба

Өздігінен орналастырылған қолданбалар мен қызметтерге арналған Edge инфрақұрылымы

Біз V2-ні тұтынушы/коммерциялық деңгейдегі шеткі инфрақұрылым үшін минималды құрылыс блогы ретінде пайдалану мақсатымен әзірледік. V2 көмегімен концепция мен ауқымды дәлелдеуді бастау арзан болады, ол өскен сайын үнемді және практикалық мағынаға ие қосымшаларды біртіндеп көшіреді. Үлкен кластерлерді құру үшін кластер блоктарын біріктіруге болады. Мұны белгілі бір тәуекелдерсіз біртіндеп жасауға болады
процестер. Бүгінгі таңда бизнеске арналған көптеген қосымшалар бар, жергілікті орналастыруға болады.

ARM жұмыс станциясы

Бір кластерге дейін 32 ГБ жедел жады бар бірінші түйінді ОЖ жұмыс үстелі нұсқасы үшін (мысалы, Ubuntu Desktop 20.04 LTS) және қалған 3 түйінді құрастыру, тестілеу және жөндеу тапсырмалары, сондай-ақ жергілікті бұлтты әзірлеу үшін пайдалануға болады. ARM кластерлеріне арналған шешімдер. Өндірістегі ARM перифериялық инфрақұрылымында CI/CD түйіні ретінде.

CM2 модульдері бар Turing V4 кластері AWS Graviton даналарына негізделген кластерге сәулетінде (айырмашылық ARMv8 кіші нұсқаларында) дерлік бірдей. CM4 модулінің процессоры ARMv8 архитектурасын пайдаланады; x1 даналарына қарағанда әлдеқайда арзан екені белгілі AWS Graviton 2 және 86 даналарына арналған кескіндер мен қолданбаларды жинауға болады.

Ақпарат көзі: www.habr.com