Kluster ITX Mini Turing Pi 2 dengan 32 GB RAM

Kluster ITX Mini Turing Pi 2 dengan 32 GB RAM

Salam kepada komuniti Habr! Saya baru-baru ini menulis tentang papan kluster versi pertama kami [V1]. Dan hari ini saya ingin memberitahu anda bagaimana kami bekerja pada versi itu Turing V2 dengan 32 GB memori capaian rawak.

Kami menyukai pelayan mini yang boleh digunakan untuk pembangunan tempatan dan pengehosan tempatan. Tidak seperti komputer meja atau komputer riba, pelayan kami direka untuk berfungsi 24/7, ia boleh digabungkan dengan cepat, contohnya, terdapat 4 pemproses dalam satu kluster, dan selepas 5 minit terdapat 16 pemproses (tiada peralatan rangkaian tambahan) dan semua ini dalam faktor bentuk padat senyap dan cekap tenaga.

Seni bina pelayan kami adalah berdasarkan prinsip kluster pembinaan, i.e. kami membuat papan kluster yang, menggunakan rangkaian ethernet pada papan, menyambung beberapa modul pengkomputeran (pemproses). Untuk memudahkan, kami belum membuat modul pengkomputeran kami sendiri, tetapi menggunakan Modul Pengiraan Raspberry Pi dan kami sangat mengharapkan modul CM4 baharu. Tetapi, semuanya bertentangan dengan rancangan dengan faktor bentuk baharu mereka dan saya rasa ramai yang kecewa.

Di bawah pemotongan, bagaimana kami pergi dari V1 ke V2 dan bagaimana kami perlu keluar dengan faktor bentuk Raspberry Pi CM4 baharu.

Jadi, selepas mencipta kluster untuk 7 nod, persoalannya ialah - apakah seterusnya? Bagaimana untuk meningkatkan nilai produk? 8, 10 atau 16 nod? Pengeluar modul yang mana? Berfikir tentang produk secara keseluruhan, kami menyedari bahawa perkara utama di sini bukanlah bilangan nod atau siapa pengeluarnya, tetapi intipati kluster sebagai blok bangunan. Kita perlu mencari blok binaan minimum itu

Yang pertama, akan menjadi kluster dan pada masa yang sama dapat menyambungkan cakera dan papan pengembangan. Blok kluster haruslah nod asas yang mencukupi dan dengan pelbagai pilihan pengembangan.

Kedua, supaya blok kluster minimum boleh disambungkan antara satu sama lain dengan membina kluster saiz yang lebih besar dan supaya ia cekap dari segi bajet dan kelajuan penskalaan. Kelajuan penskalaan mestilah lebih pantas daripada menyambungkan komputer biasa ke rangkaian dan jauh lebih murah daripada perkakasan pelayan.

Ketiga, unit kluster minimum hendaklah cukup padat, mudah alih, cekap tenaga, kos efektif dan tidak menuntut pada keadaan operasi. Ini adalah salah satu perbezaan utama dari rak pelayan dan semua yang berkaitan dengannya.

Kami bermula dengan menentukan bilangan nod.

Bilangan nod

Dengan pertimbangan logik yang mudah, kami menyedari bahawa 4 nod adalah pilihan terbaik untuk blok kluster minimum. 1 nod bukan kluster, 2 nod tidak mencukupi (1 master 1 pekerja, tidak ada kemungkinan penskalaan dalam blok, terutamanya untuk pilihan heterogen), 3 nod kelihatan ok, tetapi bukan gandaan kuasa 2 dan penskalaan dalam satu blok adalah terhad, 6 nod datang pada harga hampir seperti 7 nod (dari pengalaman kami ini sudah menjadi harga kos yang besar), 8 adalah banyak, tidak sesuai dengan faktor bentuk ITX mini dan penyelesaian PoC yang lebih mahal.

Empat nod setiap blok dianggap sebagai purata emas:

  • kurang bahan setiap papan kluster, oleh itu lebih murah untuk dikeluarkan
  • gandaan 4, jumlah 4 blok memberikan 16 pemproses fizikal
  • litar stabil 1 induk dan 3 pekerja
  • variasi yang lebih heterogen, modul pengiraan umum + pengiraan dipercepat
  • faktor bentuk ITX mini dengan pemacu SSD dan kad pengembangan

Modul pengiraan

Versi kedua adalah berdasarkan CM4, kami fikir ia akan dikeluarkan dalam faktor bentuk SODIMM. Tetapi…
Kami membuat keputusan untuk membuat papan anak perempuan SODIMM dan memasang CM4 terus ke dalam modul supaya pengguna tidak perlu memikirkan CM4.

Kluster ITX Mini Turing Pi 2 dengan 32 GB RAM
Modul Pengiraan Turing Pi Menyokong Raspberry Pi CM4

Secara umum, untuk mencari modul, seluruh pasaran modul pengkomputeran dibuka dari modul kecil dengan 128 MB RAM hingga 8 GB RAM. Modul dengan 16 GB RAM dan banyak lagi berada di hadapan. Untuk pengehosan aplikasi edge berdasarkan teknologi asli awan, 1 GB RAM sudah tidak mencukupi, dan penampilan terbaru modul untuk 2, 4 dan juga 8 GB RAM menyediakan ruang yang baik untuk pertumbuhan. Mereka juga mempertimbangkan pilihan dengan modul FPGA untuk aplikasi pembelajaran mesin, tetapi sokongan mereka telah ditangguhkan kerana ekosistem perisian tidak dibangunkan. Semasa mengkaji pasaran modul, kami datang dengan idea untuk mencipta antara muka universal untuk modul, dan dalam V2 kami mula menyatukan antara muka modul pengkomputeran. Ini akan membolehkan pemilik versi V2 menyambungkan modul daripada pengeluar lain dan mencampurkannya untuk tugasan tertentu.

V2 menyokong keseluruhan baris Raspberry Pi 4 Compute Module (CM4), termasuk versi Lite dan modul RAM 8 GB

Kluster ITX Mini Turing Pi 2 dengan 32 GB RAM

Pinggiran

Selepas menentukan vendor modul dan bilangan nod, kami menghampiri bas PCI di mana peranti terletak. Bas PCI adalah standard untuk peranti dan terdapat dalam hampir semua modul pengkomputeran. Kami mempunyai beberapa nod, dan sebaik-baiknya, setiap nod sepatutnya boleh berkongsi peranti PCI dalam mod permintaan serentak. Sebagai contoh, jika ia adalah cakera yang disambungkan ke bas, maka ia tersedia untuk semua nod. Kami mula mencari suis PCI dengan sokongan berbilang hos dan mendapati tiada satu pun daripada suis tersebut memenuhi keperluan kami. Semua penyelesaian ini kebanyakannya terhad kepada 1 hos atau berbilang hos, tetapi tanpa mod permintaan serentak ke titik akhir. Masalah kedua ialah kos tinggi $50 atau lebih setiap cip. Dalam V2, kami memutuskan untuk menangguhkan percubaan dengan suis PCI (kami akan kembali kepada mereka kemudian semasa kami membangunkan) dan mengikuti laluan untuk menetapkan peranan untuk setiap nod: dua nod pertama mendedahkan port ekspres PCI mini setiap nod, nod ketiga pengawal SATA 2-port 6 Gbps terdedah . Untuk mengakses cakera daripada nod lain, anda boleh menggunakan sistem fail rangkaian dalam kelompok. Kenapa tidak?

Sneakpeek

Kami memutuskan untuk berkongsi beberapa lakaran tentang bagaimana blok kluster minimum telah berkembang dari semasa ke semasa melalui perbincangan dan refleksi.

Kluster ITX Mini Turing Pi 2 dengan 32 GB RAMKluster ITX Mini Turing Pi 2 dengan 32 GB RAMKluster ITX Mini Turing Pi 2 dengan 32 GB RAM

Hasilnya, kami sampai ke unit kluster dengan 4 nod 260-pin, 2 port PCIe mini (Gen 2), 2 port SATA (Gen 3). Papan mempunyai Suis Terurus Lapisan-2 dengan sokongan VLAN. Port PCIe mini telah dialih keluar daripada nod pertama, di mana anda boleh memasang kad rangkaian dan mendapatkan port Ethernet lain atau modem 5G dan membuat penghala untuk rangkaian pada kluster dan port Ethernet dari nod pertama.

Kluster ITX Mini Turing Pi 2 dengan 32 GB RAM

Bas kluster mempunyai lebih banyak ciri, termasuk keupayaan untuk memancarkan modul terus melalui semua slot dan sudah tentu penyambung FAN pada setiap nod dengan kawalan kelajuan.

Permohonan

Infrastruktur tepi untuk aplikasi & perkhidmatan yang dihoskan sendiri

Kami mereka bentuk V2 untuk menjadi blok binaan minimum untuk infrastruktur pinggir gred pengguna/komersial. Dengan V2, adalah murah untuk memulakan pembuktian konsep dan skala semasa anda berkembang, secara beransur-ansur mengalihkan aplikasi yang lebih menjimatkan kos dan praktikal untuk dihoskan di pinggir. Blok kluster boleh disambungkan bersama untuk membina kluster yang lebih besar. Ini boleh dilakukan secara beransur-ansur tanpa banyak risiko untuk ditubuhkan
proses. Hari ini terdapat sejumlah besar permohonan untuk perniagaan, yang boleh dihoskan secara tempatan.

Stesen Kerja ARM

Dengan sehingga 32 GB RAM setiap kluster, nod pertama boleh digunakan untuk versi desktop OS (contohnya, Desktop Ubuntu 20.04 LTS) dan baki 3 nod untuk tugas penyusunan, ujian dan penyahpepijatan, membangunkan penyelesaian asli awan untuk ARM kelompok. Sebagai nod untuk CI / CD pada infrastruktur tepi ARM dalam prod.

Kelompok Turing V2 dengan modul CM4 adalah hampir sama dari segi seni bina (perbezaan dalam versi kecil ARMv8) dengan kelompok berdasarkan kejadian AWS Graviton. Pemproses modul CM4 menggunakan seni bina ARMv8 supaya anda boleh membina imej dan aplikasi untuk tika AWS Graviton 1 dan 2, yang diketahui jauh lebih murah daripada tikas x86.

Sumber: www.habr.com