Mini ITX кластер Turing Pi 2 нь 32 ГБ RAM-тай

Mini ITX кластер Turing Pi 2 нь 32 ГБ RAM-тай

Хабр нийгэмлэгт энэ өдрийн мэндийг хүргэе! Би саяхан кластер самбарынхаа анхны хувилбарын талаар бичсэн [V1]. Өнөөдөр би хувилбар дээр хэрхэн ажилласан талаар танд хэлэхийг хүсч байна 2 ГБ багтаамжтай Turing V32 санамсаргүй хандалт санах ой.

Бид орон нутгийн хөгжил болон орон нутгийн хостинг хоёуланг нь ашиглах боломжтой мини серверүүдэд дуртай. Ширээний компьютер эсвэл зөөврийн компьютерээс ялгаатай нь манай серверүүд нь 24/7 ажиллах зориулалттай бөгөөд тэдгээрийг хурдан нэгтгэх боломжтой, жишээлбэл, нэг кластерт 4 процессор байсан бол 5 минутын дараа 16 процессор (нэмэлт сүлжээний төхөөрөмж байхгүй) болон энэ бүхэн авсаархан хэлбэрээр чимээгүй, эрчим хүчний хэмнэлттэй.

Манай серверүүдийн архитектур нь кластерийн барилгын зарчим дээр суурилдаг, i.e. Бид самбар дээрх ethernet сүлжээг ашиглан хэд хэдэн тооцоолох модулиудыг (процессор) холбодог кластер хавтанг хийдэг. Хялбаршуулахын тулд бид өөрсдөө тооцоолох модулиудыг хараахан бүтээгээгүй байгаа ч Raspberry Pi Compute Modules ашиглаж байгаа бөгөөд бид шинэ 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 хэлбэрээр гаргах болно гэж бодсон. Гэхдээ…
Хэрэглэгчид CM4-ийн талаар бодох шаардлагагүй болохын тулд бид SODIMM-ийн нэмэлт самбар хийж, CM4-ийг шууд модуль болгон угсрах шийдвэр гаргасан.

Mini ITX кластер Turing Pi 2 нь 32 ГБ RAM-тай
Raspberry Pi CM4-ийг дэмждэг Turing Pi тооцоолох модуль

Ерөнхийдөө модулиудыг хайж олохын тулд 128 MB RAM бүхий жижиг модулиудаас 8 GB RAM хүртэлх тооцоолох модулиудын бүхэл бүтэн зах зээл нээгдэв. 16 ГБ RAM ба түүнээс дээш хэмжээтэй модулиуд өмнө нь байна. Үүлэн технологид суурилсан захын хэрэглээний программын хувьд 1 ГБ RAM хангалттай биш бөгөөд сүүлийн үед 2, 4, тэр ч байтугай 8 ГБ RAM-д зориулсан модулиудын харагдах байдал нь өсөлтөд таатай нөхцлийг бүрдүүлдэг. Тэд бүр машин сургалтын програмуудад зориулсан FPGA модулиудын хувилбаруудыг авч үзсэн боловч програм хангамжийн экосистем хөгжөөгүй тул тэдний дэмжлэг хойшлогдсон. Модулийн зах зээлийг судалж байхдаа бид модулиудын бүх нийтийн интерфейсийг бий болгох санааг олсон бөгөөд V2-д бид тооцоолох модулиудын интерфейсийг нэгтгэж эхлэв. Энэ нь V2 хувилбарын эзэмшигчдэд бусад үйлдвэрлэгчдийн модулиудыг холбож, тодорхой ажлуудад зориулж холих боломжийг олгоно.

V2 нь Lite хувилбарууд болон 4 ГБ RAM модулиудыг багтаасан Raspberry Pi 4 Compute Module (CM8) шугамыг бүхэлд нь дэмждэг.

Mini ITX кластер Turing Pi 2 нь 32 ГБ RAM-тай

Захын бүс

Модулиудын борлуулагч болон зангилааны тоог тодорхойлсны дараа бид захын төхөөрөмжүүд байрладаг PCI автобус руу хандсан. PCI автобус нь захын төхөөрөмжүүдийн стандарт бөгөөд бараг бүх тооцоолох модулиудад байдаг. Бид хэд хэдэн зангилаатай бөгөөд хамгийн тохиромжтой нь зангилаа бүр PCI төхөөрөмжүүдийг зэрэгцэн хүсэлтийн горимд хуваалцах боломжтой байх ёстой. Жишээлбэл, хэрэв энэ нь автобусанд холбогдсон диск юм бол бүх зангилаанд ашиглах боломжтой. Бид олон хостын дэмжлэгтэй PCI шилжүүлэгчийг хайж эхэлсэн бөгөөд тэдгээрийн аль нь ч бидний шаардлагад нийцэхгүй байгааг олж мэдсэн. Эдгээр бүх шийдлүүд нь ихэвчлэн 1 хост эсвэл олон хостоор хязгаарлагдаж байсан боловч төгсгөлийн цэгүүдэд нэгэн зэрэг хүсэлт илгээх горимгүй байв. Хоёр дахь асуудал бол нэг чип нь 50 доллар ба түүнээс дээш үнэтэй байдаг. V2-д бид PCI шилжүүлэгчийн туршилтыг хойшлуулахаар шийдсэн (бид дараа нь хөгжүүлснээр тэдгээрт буцаж очих болно) болон зангилаа тус бүрт үүрэг хуваарилах замаар явав: эхний хоёр зангилаа нэг зангилаа бүрт мини PCI экспресс порттой, гурав дахь зангилаа ил гарсан 2 порттой 6 Gbps SATA хянагч. Бусад цэгүүдээс диск рүү хандахын тулд та кластер доторх сүлжээний файлын системийг ашиглаж болно. Яагаад үгүй ​​гэж?

Sneakpeek

Хэлэлцүүлэг, эргэцүүлэн бодох замаар хамгийн бага кластер блок цаг хугацааны явцад хэрхэн өөрчлөгдсөн тухай тойм зургуудыг хуваалцахаар шийдлээ.

Mini ITX кластер Turing Pi 2 нь 32 ГБ RAM-тайMini ITX кластер Turing Pi 2 нь 32 ГБ RAM-тайMini ITX кластер Turing Pi 2 нь 32 ГБ RAM-тай

Үүний үр дүнд бид 4 260 зүү зангилаа, 2 мини PCIe (Gen 2) порт, 2 SATA (Gen 3) порттой кластерын нэгж дээр ирлээ. Уг самбар нь VLAN дэмжлэгтэй Layer-2 Managed Switch-тэй. Эхний зангилаанаас мини PCIe портыг хассан бөгөөд үүнд та сүлжээний карт суулгаж, өөр Ethernet порт эсвэл 5G модем авч, кластер болон эхний зангилаанаас Ethernet портууд дээр сүлжээнд чиглүүлэгч хийх боломжтой.

Mini ITX кластер Turing Pi 2 нь 32 ГБ RAM-тай

Кластер автобус нь модулиудыг бүх слотоор шууд анивчуулах, мэдээжийн хэрэг зангилаа бүр дээр хурдны удирдлагатай FAN холбогч зэрэг илүү олон боломжуудтай.

Програмын

Өөрөө байршуулсан програм, үйлчилгээнд зориулсан захын дэд бүтэц

Бид V2-ийг хэрэглэгчийн/арилжааны зэрэглэлийн захын дэд бүтцийн хамгийн бага барилгын блок байхаар зохион бүтээсэн. V2-ийг ашигласнаар та өсөх тусам концепцоо баталж, масштабыг нь эхлүүлэх нь хямд бөгөөд зардал багатай, ирмэг дээр байрлуулахад практик програмуудыг аажмаар зөөвөрлөнө. Илүү том кластеруудыг бий болгохын тулд кластер блокуудыг хооронд нь холбож болно. Үүнийг бий болгох эрсдэлгүйгээр аажмаар хийж болно
үйл явц. Өнөөдөр бизнест зориулсан маш олон тооны програмууд байдаг. орон нутагт зохион байгуулж болно.

ARM ажлын станц

Нэг кластерт 32 ГБ хүртэлх RAM-тай тул эхний зангилаа нь үйлдлийн системийн ширээний хувилбарт (жишээ нь, Ubuntu Desktop 20.04 LTS), үлдсэн 3 зангилаа нь эмхэтгэх, турших, дибаг хийх, ARM-д зориулсан үүлний эх шийдлийг боловсруулахад ашиглагдах боломжтой. кластерууд. Бүтээгдэхүүн дэх ARM захын дэд бүтцийн CI / CD-ийн зангилаа болгон.

CM2 модулиудтай Turing V4 кластер нь архитектурын хувьд (ARMv8-ийн бага хувилбаруудын ялгаа) AWS Graviton жишээн дээр суурилсан кластертай бараг ижил байна. CM4 модулийн процессор нь ARMv8 архитектурыг ашигладаг тул та x1 хувилбараас хамаагүй хямд гэгддэг AWS Graviton 2 болон 86 инстанцуудад зориулсан зураг, программуудыг бүтээх боломжтой.

Эх сурвалж: www.habr.com