2 GB RAM ilə Mini ITX Cluster Turing Pi 32

2 GB RAM ilə Mini ITX Cluster Turing Pi 32

Habr icmasına salamlar! Bu yaxınlarda klaster lövhəmizin ilk versiyası haqqında yazdım [V1]. Və bu gün mən sizə versiya üzərində necə işlədiyimizi söyləmək istəyirəm 2 GB ilə Turing V32 yaddaş.

Biz həm yerli inkişaf, həm də yerli hostinq üçün istifadə edilə bilən mini serverləri sevirik. Stolüstü kompüterlərdən və ya noutbuklardan fərqli olaraq, serverlərimiz 24/7 işləmək üçün nəzərdə tutulub, onlar tez birləşə bilər, məsələn, bir klasterdə 4 prosessor var idi və 5 dəqiqədən sonra 16 prosessor (əlavə şəbəkə avadanlığı yoxdur) və bütün bunlar kompakt formada səssiz və enerjiyə qənaətlidir.

Serverlərimizin arxitekturası klaster konstruksiya prinsipinə əsaslanır, yəni. lövhədə ethernet şəbəkəsindən istifadə edərək bir neçə hesablama modulunu (prosessoru) birləşdirən klaster lövhələri düzəldirik. Sadələşdirmək üçün biz hələ öz hesablama modullarımızı hazırlamırıq, lakin Raspberry Pi Hesablama Modullarından istifadə edirik və biz həqiqətən yeni CM4 moduluna ümid edirdik. Ancaq yeni forma faktoru ilə hər şey planların əksinə getdi və məncə, çoxları məyus oldu.

Kəsik altında V1-dən V2-yə necə keçdik və yeni Raspberry Pi CM4 forma faktoru ilə necə çıxmalı olduq.

Beləliklə, 7 qovşaq üçün klaster yaratdıqdan sonra suallar yaranır - növbəti nə olacaq? Məhsulun dəyərini necə artırmaq olar? 8, 10 və ya 16 qovşaq? Hansı modul istehsalçıları? Bütövlükdə məhsul haqqında düşünərək, başa düşdük ki, burada əsas şey qovşaqların sayı və ya istehsalçının kim olması deyil, bir tikinti bloku kimi klasterlərin mahiyyətidir. Bunun üçün minimum tikinti blokunu axtarmalıyıq

Ilk, klaster olacaq və eyni zamanda diskləri və genişləndirmə lövhələrini birləşdirə biləcək. Klaster bloku özünü təmin edən əsas qovşaq olmalıdır və geniş genişləndirmə variantlarına malik olmalıdır.

İkinci, beləliklə, minimum klaster blokları daha böyük ölçülü klasterlər qurmaqla bir-birinə qoşula bilsin və büdcə və miqyas sürəti baxımından səmərəli olsun. Ölçəkləmə sürəti adi kompüterləri şəbəkəyə qoşmaqdan daha sürətli və server aparatlarından daha ucuz olmalıdır.

Üçüncü, minimum klaster vahidləri kifayət qədər yığcam, mobil, enerjiyə qənaətcil, qənaətcil və iş şəraitinə tələbkar olmamalıdır. Bu, server raflarından və onlarla əlaqəli hər şeydən əsas fərqlərdən biridir.

Düyünlərin sayını təyin etməklə başladıq.

Düyünlərin sayı

Sadə məntiqi mühakimələrlə biz başa düşdük ki, minimum klaster bloku üçün 4 qovşaq ən yaxşı seçimdir. 1 qovşaq klaster deyil, 2 qovşaq kifayət deyil (1 usta 1 işçi, blok daxilində miqyaslaşdırma imkanı yoxdur, xüsusən də heterojen variantlar üçün), 3 qovşaq yaxşı görünür, lakin 2-nin çoxluğu deyil və daxilində miqyaslama blok məhduddur, 6 qovşaq, demək olar ki, 7 qovşaq kimi qiymətə gəlir (təcrübəmizə görə, bu, artıq böyük xərc qiymətidir), 8 çoxdur, mini ITX forma faktoruna uyğun gəlmir və daha bahalı PoC həlli.

Blok başına dörd qovşaq qızıl orta hesab olunur:

  • klaster lövhəsi üçün daha az material, buna görə də istehsalı daha ucuzdur
  • 4-dən çox, cəmi 4 blok 16 fiziki prosessor verir
  • stabil dövrə 1 usta və 3 işçi
  • daha heterojen variasiyalar, ümumi hesablama + sürətləndirilmiş hesablama modulları
  • SSD sürücüləri və genişləndirmə kartları ilə mini ITX forma faktoru

Hesablama modulları

İkinci versiya CM4-ə əsaslanır, onun SODIMM forma faktorunda buraxılacağını düşündük. Amma…
Biz SODIMM əlavə lövhəsi hazırlamaq və CM4-ü birbaşa modullara yığmaq qərarına gəldik ki, istifadəçilər CM4 haqqında düşünməsin.

2 GB RAM ilə Mini ITX Cluster Turing Pi 32
Raspberry Pi CM4-ü dəstəkləyən Turing Pi Hesablama Modulu

Ümumiyyətlə, modulların axtarışında 128 MB RAM-dan 8 GB RAM-a qədər kiçik modullardan hesablama modullarının bütün bazarı açıldı. 16 GB RAM və daha çox yaddaşa malik modullar qabaqdadır. Bulud yerli texnologiyalarına əsaslanan kənar proqram hostinqi üçün 1 GB RAM artıq kifayət deyil və 2, 4 və hətta 8 GB RAM üçün modulların son görünüşü böyümə üçün yaxşı yer təmin edir. Onlar hətta maşın öyrənmə tətbiqləri üçün FPGA modulları ilə variantları nəzərdən keçirdilər, lakin proqram ekosistemi inkişaf etdirilmədiyi üçün onların dəstəyi gecikdi. Modul bazarını öyrənərkən modullar üçün universal interfeys yaratmaq ideyası ilə çıxış etdik və V2-də hesablama modullarının interfeysini birləşdirməyə başlayırıq. Bu, V2 versiyasının sahiblərinə digər istehsalçıların modullarını birləşdirməyə və onları xüsusi tapşırıqlar üçün qarışdırmağa imkan verəcək.

V2, Lite versiyaları və 4 GB RAM modulları daxil olmaqla bütün Raspberry Pi 4 Compute Module (CM8) xəttini dəstəkləyir.

2 GB RAM ilə Mini ITX Cluster Turing Pi 32

Periferiya

Modulların satıcısını və qovşaqların sayını təyin etdikdən sonra biz periferik qurğuların yerləşdiyi PCI avtobusuna yaxınlaşdıq. PCI avtobusu periferiya qurğuları üçün standartdır və demək olar ki, bütün hesablama modullarında mövcuddur. Bizim bir neçə qovşaqımız var və ideal olaraq hər bir node eyni vaxtda sorğu rejimində PCI cihazlarını paylaşa bilməlidir. Məsələn, avtobusa qoşulmuş bir diskdirsə, o, bütün qovşaqlarda mövcuddur. Çox host dəstəyi ilə PCI açarlarını axtarmağa başladıq və onların heç birinin tələblərimizə uyğun olmadığını gördük. Bütün bu həllər əsasən 1 host və ya multi host ilə məhdudlaşırdı, lakin son nöqtələrə paralel sorğular rejimi olmadan. İkinci problem çip üçün 50 dollar və ya daha çox qiymətin yüksək olmasıdır. V2-də biz PCI açarları ilə eksperimentləri təxirə salmaq qərarına gəldik (inkişaf etdikcə onlara daha sonra qayıdacağıq) və hər bir qovşaq üçün rol təyin etmək yolu ilə getdik: ilk iki qovşaq hər node üçün mini PCI ekspress portunu, üçüncü qovşaqda ifşa etdi. açıq 2 portlu 6 Gbps SATA nəzarətçisi. Digər qovşaqlardan disklərə daxil olmaq üçün siz klaster daxilində şəbəkə fayl sistemindən istifadə edə bilərsiniz. Niyə də yox?

Sneakpeek

Minimum klaster blokunun müzakirə və əks etdirmə yolu ilə zamanla necə inkişaf etdiyinə dair bəzi eskizləri bölüşmək qərarına gəldik.

2 GB RAM ilə Mini ITX Cluster Turing Pi 322 GB RAM ilə Mini ITX Cluster Turing Pi 322 GB RAM ilə Mini ITX Cluster Turing Pi 32

Nəticədə, 4 260 pinli qovşaq, 2 mini PCIe (Gen 2) portu, 2 SATA (Gen 3) portu olan klaster vahidinə gəldik. Lövhədə VLAN dəstəyi ilə Layer-2 idarə olunan keçid var. Birinci qovşaqdan mini PCIe portu çıxarılıb, ona şəbəkə kartını quraşdırıb başqa Ethernet portu və ya 5G modemi əldə edə və birinci qovşaqdan klaster və Ethernet portlarında şəbəkə üçün marşrutlaşdırıcı düzəldə bilərsiniz.

2 GB RAM ilə Mini ITX Cluster Turing Pi 32

Klaster avtobusu daha çox funksiyaya malikdir, o cümlədən modulları birbaşa bütün yuvalar vasitəsilə yandırmaq və əlbəttə ki, sürətə nəzarət ilə hər qovşaqdakı FAN konnektorları.

Tətbiq

Öz-özünə yerləşdirilən tətbiqlər və xidmətlər üçün kənar infrastruktur

Biz V2-ni istehlakçı/kommersiya səviyyəli kənar infrastruktur üçün minimum tikinti bloku kimi dizayn etdik. V2 ilə konsepti sübut etməyə və böyüdükcə miqyasına başlamaq, daha sərfəli və kənarda yerləşdirmək üçün praktiki tətbiqləri tədricən daşımaq ucuzdur. Daha böyük klasterlər yaratmaq üçün klaster blokları birləşdirilə bilər. Bu, müəyyən bir risk olmadan tədricən edilə bilər
proseslər. Onsuz da bu gün iş üçün çox sayda ərizə var, yerli olaraq qəbul edilə bilər.

ARM İş Stansiyası

Hər klaster üçün 32 GB-a qədər RAM ilə birinci qovşaq ƏS-nin masa üstü versiyası (məsələn, Ubuntu Desktop 20.04 LTS) və qalan 3 qovşaq kompilyasiya, sınaq və sazlama tapşırıqları, ARM üçün bulud yerli həllərinin hazırlanması üçün istifadə edilə bilər. klasterlər. Məhsulda ARM kənar infrastrukturunda CI / CD üçün bir node kimi.

CM2 modulları ilə Turing V4 klasteri AWS Graviton nümunələrinə əsaslanan klasterlə memarlıq baxımından (ARMv8-in kiçik versiyalarındakı fərq) demək olar ki, eynidir. CM4 modul prosessoru ARMv8 arxitekturasından istifadə edir ki, siz x1 nümunələrindən xeyli ucuz olduğu bilinən AWS Graviton 2 və 86 nümunələri üçün şəkillər və tətbiqlər yarada bilərsiniz.

Mənbə: www.habr.com