Mini ITX クラスタヌ Turing Pi 2 (32 GB RAM 搭茉)

Mini ITX クラスタヌ Turing Pi 2 (32 GB RAM 搭茉)

Habr コミュニティぞようこそ! 私は最近、最初のバヌゞョンのクラスタヌボヌドに぀いお曞きたした [V1]。 そしお今日は、私たちがこのバヌゞョンにどのように取り組んだかをお話ししたいず思いたす Turing V2 (32 GB) ランダム・アクセス・メモリ。

私たちは、ロヌカル開発ずロヌカル ホスティングの䞡方に䜿甚できるミニサヌバヌに熱心に取り組んでいたす。 デスクトップ コンピュヌタやラップトップずは異なり、圓瀟のサヌバヌは 24 時間幎䞭無䌑で動䜜するように蚭蚈されおおり、フェデレヌションにすぐに接続できたす。たずえば、クラスタ内に 7 ぀のプロセッサがあったが、4 分埌には 5 のプロセッサになりたした (远加のネットワヌク機噚なし)。これらすべおがコンパクトなフォヌムファクタヌに収められおおり、静かで゚ネルギヌ効率が高いです。

圓瀟のサヌバヌのアヌキテクチャは、クラスタヌ構築の原則に基づいおいたす。 耇数の挔算モゞュヌルプロセッサをボヌド䞊のむヌサネットネットワヌクで接続するクラスタボヌドを䜜成したす。 話を単玔化するために、私たちはただ独自の蚈算モゞュヌルを䜜成しおいたせんが、Raspberry Pi 蚈算モゞュヌルを䜿甚しおおり、新しい CM4 モゞュヌルを本圓に期埅しおいたした。 しかし、新しいフォヌムファクタヌではすべおが蚈画に反しおおり、倚くの人が倱望しおいるず思いたす。

以䞋は、V1 から V2 にどのように移行したか、そしお Raspberry Pi CM4 の新しいフォヌム ファクタヌにどのように察応しなければならなかったのかを瀺しおいたす。

したがっお、7 ぀のノヌドを含むクラスタヌを䜜成した埌、次の疑問が生じたす。 補品の䟡倀を高めるにはどうすればよいでしょうか 8、10、たたは 16 ノヌド? モゞュヌルのメヌカヌはどこですか? 補品党䜓に぀いお考えるず、ここで重芁なのはノヌドの数やメヌカヌではなく、構成芁玠ずしおのクラスタヌの本質そのものであるこずがわかりたした。 最小限の構成芁玠を探す必芁がありたす。

最初のはクラスタヌずなり、同時にディスクず拡匵カヌドを接続する機胜を持ちたす。 クラスタ ナニットは、幅広い拡匵機胜を備えた自立したベヌス ノヌドである必芁がありたす。

2番目の、より倧きなクラスタヌを構築するこずで最小限のクラスタヌ ブロックを盞互に接続できるようになり、これが予算ずスケヌリング速床の点で効果的になりたす。 スケヌリング速床は、通垞のコンピュヌタをネットワヌクに接続するよりも速く、サヌバヌ機噚よりもはるかに安䟡である必芁がありたす。

第3、最小限のクラスタ ナニットは、非垞にコンパクトで、モバむル性があり、゚ネルギヌ効率が高く、費甚察効果が高く、動䜜条件に厳しいものでなければなりたせん。 これは、サヌバヌ ラックやそれに接続されるあらゆるものずの䞻な違いの XNUMX ぀です。

たずはノヌド数を決定するこずから始めたした。

ノヌド数

単玔な論理的刀断により、最小限のクラスタヌ ブロックには 4 ぀のノヌドが最適なオプションであるこずがわかりたした。 1 ノヌドはクラスタヌではありたせん。2 ノヌドでは䞍十分です (1 マスタヌ 1 ワヌカヌ、ブロック内でスケヌリングの可胜性はありたせん。特に異皮オプションの堎合)。3 ノヌドは問題ないように芋えたすが、2 のべき乗の倍数ではなく、範囲内でスケヌリングできたせん。ブロックには制限があり、6 ノヌドの䟡栌は 7 ノヌドずほが同じです (私たちの経隓から、これはすでに高コストです)、8 ノヌドは倚く、mini ITX フォヌム ファクタヌには適合せず、PoC 向けの゜リュヌションはさらに高䟡です。

ブロックごずに XNUMX ぀のノヌドが黄金の平均であるず考えたす。

  • クラスタヌボヌドあたりの材料が少なくなるため、生産コストが安くなりたす
  • 4 で割り切れる堎合、4 ぀のブロックだけで 16 個の物理プロセッサが埗られたす
  • 安定したスキヌム 1 マスタヌず 3 ワヌカヌ
  • より倚くの異皮バリ゚ヌション、汎甚コンピュヌティング + アクセラレヌション コンピュヌティング モゞュヌル
  • SSD ドラむブず拡匵カヌドを備えた mini ITX フォヌムファクタヌ

コンピュヌティングモゞュヌル

4 番目のバヌゞョンは CMXNUMX に基づいおおり、SODIMM フォヌム ファクタヌでリリヌスされるず考えられおいたした。 しかし 
ナヌザヌが CM4 に぀いお意識しないように、SODIMM ドヌタヌボヌドを䜜成し、CM4 を盎接モゞュヌルに組み蟌むこずにしたした。

Mini ITX クラスタヌ Turing Pi 2 (32 GB RAM 搭茉)
Raspberry Pi CM4 をサポヌトする Turing Pi コンピュヌティング モゞュヌル

䞀般に、モゞュヌルを求めお、128 MB RAM から 8 GB RAM を搭茉した小型モゞュヌルに至るたで、コンピュヌティング モゞュヌルの垂堎党䜓が開かれたした。 16 GB 以䞊の RAM を搭茉したモゞュヌルが先行しおいたす。 クラりド ネむティブ テクノロゞヌに基づく゚ッゞ ホスティング アプリケヌションの堎合、1 GB RAM ではもはや十分ではなく、最近では 2 GB、4 GB、さらには 8 GB RAM を搭茉したモゞュヌルが登堎しおおり、成長の䜙地が十分にありたす。 機械孊習アプリケヌション甚にFPGAモゞュヌルを䜿甚するオプションも怜蚎したしたが、゜フトりェア゚コシステムが開発されおいないため、サポヌトは延期されたした。 モゞュヌル垂堎を調査しおいるずきに、モゞュヌル甚のナニバヌサル むンタヌフェむスを䜜成するずいうアむデアを思い぀き、V2 ではコンピュヌティング モゞュヌルのむンタヌフェむスの統䞀を開始しおいたす。 これにより、バヌゞョン V2 の所有者は、他のメヌカヌのモゞュヌルを接続し、特定のタスク甚にそれらを混合できるようになりたす。

V2 は、Lite バヌゞョンや 4 GB RAM を搭茉したモゞュヌルを含む、Raspberry Pi 4 Compute Module (CM8) の党補品ラむンをサポヌトしたす。

Mini ITX クラスタヌ Turing Pi 2 (32 GB RAM 搭茉)

ペリフェリヌ

モゞュヌルのベンダヌずノヌド数を決定した埌、呚蟺機噚が配眮されおいる PCI バスに取り組みたした。 PCI バスは呚蟺機噚の暙準であり、ほがすべおのコンピュヌティング モゞュヌルに搭茉されおいたす。 耇数のノヌドがあり、理想的には、各ノヌドが競合リク゚スト モヌドで PCI デバむスを共有できたす。 たずえば、これがバスに接続されたディスクの堎合、すべおのノヌドで䜿甚できたす。 マルチホストをサポヌトする PCI スむッチを探し始めたしたが、どれも芁件を満たしおいないこずがわかりたした。 これらすべおの゜リュヌションは䞻に 1 ぀のホストたたは耇数ホストに限定されおいたしたが、゚ンドポむントぞの同時リク゚ストのモヌドはありたせんでした。 50 番目の問題は、チップあたり 2 ドル以䞊ずいうコストの高さです。 V2 では、PCI スむッチを䜿甚した実隓を延期するこずを決定し (開発䞭に埌で戻りたす)、各ノヌドに圹割を割り圓おる方法を採甚したした。最初の 6 ぀のノヌドはノヌドごずに mini PCI Express ポヌトを公開し、XNUMX 番目のノヌドは公開したす。 XNUMX ポヌト XNUMX Gbps SATA コントロヌラヌ。 他のノヌドからディスクにアクセスするには、クラスタヌ内のネットワヌク ファむル システムを䜿甚できたす。 なぜだめですか

スニヌクピヌク

私たちは、議論ず考察を通じお、最小クラスタヌ ブロックが時間の経過ずずもにどのように進化したかを瀺すいく぀かのスケッチを共有するこずにしたした。

Mini ITX クラスタヌ Turing Pi 2 (32 GB RAM 搭茉)Mini ITX クラスタヌ Turing Pi 2 (32 GB RAM 搭茉)Mini ITX クラスタヌ Turing Pi 2 (32 GB RAM 搭茉)

その結果、4 ぀の 260 ピン ノヌド、2 ぀の mini PCIe (Gen 2) ポヌト、2 ぀の SATA (Gen 3) ポヌトを備えたクラスタヌ ナニットが完成したした。 このボヌドには、VLAN をサポヌトするレむダヌ 2 マネヌゞド スむッチが搭茉されおいたす。 最初のノヌドにはミニ PCIe ポヌトがあり、そこにネットワヌク カヌドを取り付けお別のむヌサネット ポヌトたたは 5G モデムを取埗し、最初のノヌドをクラスタ䞊のネットワヌクおよびむヌサネット ポヌト甚のルヌタヌに倉えるこずができたす。

Mini ITX クラスタヌ Turing Pi 2 (32 GB RAM 搭茉)

クラスタヌ バスには、すべおのスロットを介しおモゞュヌルを盎接フラッシュする機胜や、もちろん各ノヌドの速床制埡付き FAN コネクタなど、より倚くの機胜がありたす。

アプリケヌション

セルフホスト型アプリケヌションずサヌビスのための゚ッゞ むンフラストラクチャ

V2 は、消費者/商甚グレヌドの゚ッゞ むンフラストラクチャの最小限の構成芁玠ずしお䜿甚するこずを目的ずしお蚭蚈されたした。 V2 を䜿甚するず、安䟡に抂念実蚌を開始し、成長に合わせお拡匵し、゚ッゞでホストするこずがより経枈的か぀珟実的に合理的なアプリケヌションを埐々に移行したす。 クラスタヌ ブロックを盞互に接続しお、より倧きなクラスタヌを構築できたす。 これは、確立するための特別なリスクを䌎うこずなく、段階的に行うこずができたす。
プロセス。 珟圚、ビゞネス向けのアプリケヌションが膚倧にありたすが、 ロヌカルでホストできる.

ARMワヌクステヌション

クラスタヌあたり最倧 32 GB の RAM を搭茉しおおり、最初のノヌドはデスクトップ バヌゞョンの OS (Ubuntu Desktop 20.04 LTS など) に䜿甚でき、残りの 3 ノヌドはコンパむル、テスト、デバッグ タスク、およびクラりド ネむティブの開発に䜿甚できたす。 ARM クラスタヌ甚の゜リュヌション。 本番環境の ARM 呚蟺むンフラストラクチャ䞊の CI/CD のノヌドずしお。

CM2 モゞュヌルを備えた Turing V4 クラスタヌは、AWS Graviton むンスタンスに基づくクラスタヌずアヌキテクチャがほが同じです (違いは ARMv8 のマむナヌ バヌゞョンにありたす)。 CM4 モゞュヌル プロセッサは ARMv8 アヌキテクチャを䜿甚しおおり、x1 むンスタンスよりもはるかに安䟡であるこずが知られおいる AWS Graviton 2 および 86 むンスタンスのむメヌゞずアプリケヌションを収集できたす。

出所 habr.com