Mini ITX Cluster Turing Pi 2 kun 32 GB RAM

Mini ITX Cluster Turing Pi 2 kun 32 GB RAM

Saluton al la Habr-komunumo! Mi lastatempe skribis pri nia unua-versia clustertabulo [V1]. Kaj hodiaŭ mi volas rakonti al vi kiel ni laboris pri la versio Turing V2 kun 32 GB memoro pri hazarda aliro.

Ni ŝatas miniservilojn, kiuj povas esti uzataj por loka disvolviĝo kaj loka gastigado. Male al labortablaj komputiloj aŭ tekkomputiloj, niaj serviloj estas dezajnitaj por funkcii 24/7, ili povas esti rapide federaciitaj, ekzemple, estis 4 procesoroj en areto, kaj post 5 minutoj estis 16 procesoroj (neniu aldona reto ekipaĵo) kaj ĉio ĉi. en kompakta formo silenta kaj energia efika.

La arkitekturo de niaj serviloj baziĝas sur la clusterprincipo de konstruado, t.e. ni faras grapoltabulojn kiuj, uzante la eterreton sur la tabulo, konektas plurajn komputikajn modulojn (procesoroj). Por simpligi, ni ankoraŭ ne faras niajn proprajn komputikajn modulojn, sed uzas Raspberry Pi Compute Modules kaj ni vere esperis je la nova CM4-modulo. Sed ĉio iris kontraŭ la planoj kun ilia nova formo kaj mi pensas, ke multaj estas seniluziigitaj.

Sub la tranĉo, kiel ni iris de V1 al V2 kaj kiel ni devis eliri kun la nova Raspberry Pi CM4 formofaktoro.

Do, post kreado de areto por 7 nodoj, la demandoj estas - kio sekvas? Kiel pliigi la valoron de produkto? 8, 10 aŭ 16 nodoj? Kiuj modulaj fabrikantoj? Pensante pri la produkto entute, ni rimarkis, ke la ĉefa afero ĉi tie ne estas la nombro da nodoj aŭ kiu estas la fabrikanto, sed la esenco mem de aretoj kiel konstrubriketo. Ni devas serĉi la minimuman konstrubriketon tion

La unua, estos areto kaj samtempe povos konekti diskojn kaj ekspansiotabulojn. La grapolbloko devus esti memproviza baznodo kaj kun larĝa gamo de ekspansiaj elektoj.

La dua, tiel ke la minimumaj aretblokoj povas esti ligitaj unu al la alia konstruante aretojn de pli granda grandeco kaj tiel ke ĝi estas efika laŭ buĝeto kaj skalrapideco. La skalrapideco devas esti pli rapida ol konekti ordinarajn komputilojn al reto kaj multe pli malmultekosta ol servila aparataro.

Tria, la minimumaj aretunuoj estu sufiĉe kompaktaj, moveblaj, energiefikaj, kostefikaj kaj ne postulemaj je operaciaj kondiĉoj. Ĉi tio estas unu el la ŝlosilaj diferencoj de servilaj rakoj kaj ĉio ligita kun ili.

Ni komencis determini la nombron da nodoj.

Nombro de nodoj

Kun simplaj logikaj juĝoj, ni rimarkis, ke 4 nodoj estas la plej bona elekto por la minimuma grapolbloko. 1 nodo ne estas areto, 2 nodoj ne sufiĉas (1 majstro 1 laboristo, ne estas ebleco grimpi ene de bloko, precipe por heterogenaj opcioj), 3 nodoj aspektas bone, sed ne multoblo de potencoj de 2 kaj grimpi ene. bloko estas limigita, 6 nodoj venas je prezo preskaŭ kiel 7 nodoj (laŭ nia sperto ĉi tio jam estas granda kostprezo), 8 estas multe, ne taŭgas en la mini ITX-formfaktoro kaj eĉ pli multekosta PoC-solvo.

Kvar nodoj per bloko estas konsideritaj la ora meznombro:

  • malpli da materialoj per grapoltabulo, do pli malmultekostaj por fabriki
  • oblo de 4, entute 4 blokoj donas 16 fizikajn procesorojn
  • stabila cirkvito 1 majstro kaj 3 laboristoj
  • pli heterogenaj variaĵoj, moduloj ĝenerala-komputado + akcel-komputado
  • mini ITX-formfaktoro kun SSD-diskoj kaj vastiĝkartoj

Komputilu modulojn

La dua versio baziĝas sur CM4, ni pensis, ke ĝi estos liberigita en SODIMM-formfaktoro. Sed…
Ni faris decidon fari SODIMM filintabulo kaj kunmeti CM4 rekte en modulojn por ke uzantoj ne devas pensi pri CM4.

Mini ITX Cluster Turing Pi 2 kun 32 GB RAM
Turing Pi Komputila Modulo Subtenanta Raspberry Pi CM4

Ĝenerale, serĉante modulojn, tuta merkato de komputikaj moduloj estis malfermita de malgrandaj moduloj kun 128 MB RAM ĝis 8 GB RAM. Moduloj kun 16 GB RAM kaj pli estas antaŭen. Por randa aplikaĵa gastigado bazita sur nubaj denaskaj teknologioj, 1 GB da RAM jam ne sufiĉas, kaj la lastatempa apero de moduloj por 2, 4 kaj eĉ 8 GB da RAM provizas bonan lokon por kresko. Ili eĉ pripensis eblojn kun FPGA-moduloj por maŝinlernadaplikoj, sed ilia subteno estis prokrastita ĉar la programara ekosistemo ne estas evoluigita. Studante la modulan merkaton, ni elpensis la ideon krei universalan interfacon por moduloj, kaj en V2 ni komencas unuigi la interfacon de komputikaj moduloj. Ĉi tio permesos al posedantoj de la V2-versio konekti modulojn de aliaj produktantoj kaj miksi ilin por specifaj taskoj.

V2 subtenas la tutan linion Raspberry Pi 4 Compute Module (CM4), inkluzive de Lite-versioj kaj 8 GB RAM-moduloj

Mini ITX Cluster Turing Pi 2 kun 32 GB RAM

Periferio

Post determini la vendiston de la moduloj kaj la nombro da nodoj, ni alproksimiĝis al la PCI-buso, sur kiu troviĝas la ekstercentraj. La PCI-buso estas la normo por ekstercentraj kaj troviĝas en preskaŭ ĉiuj komputikmoduloj. Ni havas plurajn nodojn, kaj ideale, ĉiu nodo devus povi dividi PCI-aparatojn en samtempa peta reĝimo. Ekzemple, se ĝi estas disko konektita al la buso, tiam ĝi estas disponebla por ĉiuj nodoj. Ni komencis serĉi PCI-ŝaltilojn kun mult-gastiga subteno kaj trovis, ke neniu el ili konvenas niajn postulojn. Ĉiuj ĉi tiuj solvoj estis plejparte limigitaj al 1 gastiganto aŭ plurgastigantoj, sed sen la reĝimo de samtempaj petoj al finpunktoj. La dua problemo estas la alta kosto de $50 aŭ pli per blato. En V2, ni decidis prokrasti eksperimentojn kun PCI-ŝaltiloj (ni revenos al ili poste dum ni evoluas) kaj iris laŭ la vojo de atribui rolon por ĉiu nodo: la unuaj du nodoj elmontris mini PCI-espriman havenon per nodo, la tria nodo. elmontrita 2-havenoj 6 Gbps SATA-regilo. Por aliri diskojn de aliaj nodoj, vi povas uzi la retan dosiersistemon ene de la areto. Kial ne?

Sneakpeek

Ni decidis dividi kelkajn skizojn pri kiel la minimuma grapobloko evoluis laŭlonge de la tempo per diskuto kaj pripensado.

Mini ITX Cluster Turing Pi 2 kun 32 GB RAMMini ITX Cluster Turing Pi 2 kun 32 GB RAMMini ITX Cluster Turing Pi 2 kun 32 GB RAM

Kiel rezulto, ni venis al cluster-unuo kun 4 260-pinglaj nodoj, 2 mini PCIe (Gen 2) havenoj, 2 SATA (Gen 3) havenoj. La estraro havas Tavolon-2 Administritan Ŝaltilon kun VLAN-subteno. Mini PCIe-haveno estis forigita de la unua nodo, en kiu vi povas instali retan karton kaj akiri alian Ethernet-havenon aŭ 5G-modemon kaj fari enkursigilon por la reto sur la areto kaj Ethernet-havenoj de la unua nodo.

Mini ITX Cluster Turing Pi 2 kun 32 GB RAM

La clusterbuso havas pli da funkcioj, inkluzive de la kapablo ekbriligi modulojn rekte tra ĉiuj fendoj kaj kompreneble FAN-konektiloj sur ĉiu nodo kun rapidkontrolo.

Apliko

Randa infrastrukturo por memgastigitaj aplikoj kaj servoj

Ni desegnis V2 por esti la minimuma konstrubriketo por konsumanta/komerca grada randinfrastrukturo. Kun V2, estas malmultekoste komenci pruvon kaj skali dum vi kreskas, iom post iom portante aplikaĵojn, kiuj estas pli kostefikaj kaj praktike gastigi. Aretblokoj povas esti kunligitaj por konstrui pli grandajn aretojn. Ĉi tio povas esti farita iom post iom sen multe da risko por establi
procezoj. Jam hodiaŭ ekzistas grandega nombro da aplikoj por komerco, kiu povas esti gastigita loke.

ARM Laborstacio

Kun ĝis 32 GB RAM per areto, la unua nodo povas esti uzata por la labortabla versio de la OS (ekzemple Ubuntu Desktop 20.04 LTS) kaj la ceteraj 3 nodoj por kompilo, testado kaj senararigado de taskoj, evoluigante nubajn denaskajn solvojn por ARM. aretoj. Kiel nodo por CI / KD sur ARM-randa infrastrukturo en la prod.

Turing V2-grupo kun CM4-moduloj estas preskaŭ identa arkitekture (diferenco en negravaj versioj de ARMv8) al areto bazita sur AWS Graviton-kazoj. La CM4-modulprocesoro uzas la arkitekturon ARMv8, por ke vi povu konstrui bildojn kaj aplikojn por AWS Graviton 1 kaj 2-instancoj, kiuj estas konataj esti multe pli malmultekostaj ol x86-instancoj.

fonto: www.habr.com