
Turing Pi to rozwiązanie do aplikacji typu self-hosted zbudowane na zasadzie stojaków rack w centrum danych, tylko na kompaktowej płycie głównej. Rozwiązanie skupia się na budowie lokalnej infrastruktury na potrzeby lokalnego rozwoju oraz hostingu aplikacji i usług. Ogólnie to jak AWS EC2 tylko na krawędzi.
Jesteśmy małym zespołem programistów, który postanowił stworzyć rozwiązanie do budowy klastrów bare-metal na krawędzi i nazwał projekt Turing Pi. Produkt zaczynał na „kolanie”, ale teraz działy rozwoju w firmach Red Hat, Rancher (SUSE), Toyota Connected, Sony, Electrolux i Facebook zleciły mu przetestowanie swoich koncepcji i trwa rekrutacja programistów poniżej 10 tys.
Ale wszystko zaczęło się od otwarcia.
Odkrycie produktu
Kiedyś sama odkryłam, że niczego nie wymyślamy. Wszystkie rzeczy, które istnieją na tym świecie, odkrywamy. Odkrywamy, że niektóre części można ze sobą łączyć, uzyskując nowe właściwości produktów lub odkrywając prawa, a następnie łączyć je na nowo. Nie możesz nic wymyślić, ale możesz to otworzyć podczas badań. Moim zdaniem wynalazek jest wynikiem ciągłych obserwacji, eksperymentów i poszukiwań + połączenia wiedzy.
W ciągu ostatniej dekady obserwowałem, jak ruch laboratoriów domowych nabiera tempa (zasoby ), hostowane samodzielnie (resources и ), komputery jednopłytkowe, w związku z rosnącym zainteresowaniem uruchamianiem kontenerów na komputerach jednopłytkowych, takich jak Raspberry Pi, rośnie ruch skupiający klastry komputerów jednopłytkowych. Stopniowo dociera tam także idea Kubernetesa. Pojawiła się już jego lekka, zorientowana na Edge/IoT wersja k3s. Duża sieć restauracji typu fast food Chick-fil-A jest jedną z pierwszych na świecie, która umieściła klastry Kubernetes w swoich kuchniach. .
Widzę to jak kulę śnieżną, w której jedna technologia otacza drugą, tworząc bardziej złożony system. Jednocześnie nie ma chaosu, raczej fraktal z technologii. W jednym z dość trudnych dla mnie momentów w życiu dostrzegłem wartość klastrów składanych z komputerów jednopłytkowych przez programistów-amatorów i zacząłem pracować nad stworzeniem płyty klastrowej.
Dziś nasza tablica klasterowa jest bardzo prosta i jest skierowana przede wszystkim do tych, którzy kochają technologie natywne w chmurze, uczą się nowych rzeczy i eksperymentują.
Cegiełki
Jakie jest zatem rozwiązanie, jaka jest istota. Konkluzja polega na tym, aby dać projektantowi klocki (Building Blocks), z których można złożyć infrastrukturę brzegową taniej niż na klasycznych serwerach, mobilne bez nieporęcznych metalowych skrzynek, nie wymagające specjalnych warunków pracy takich jak serwerownie, energooszczędne, ustandaryzowane pod względem modułowym i możliwością szybkiego skalowania do dziesiątek i setek węzłów obliczeniowych (procesorów).
Tablica klastrowa
Płyta Mini ITX łączy wiele modułów obliczeniowych za pośrednictwem sieci pokładowej, zapewnia interfejsy peryferyjne i kontrolę nad modułami
Moduł obliczeniowy
Płytka w formacie SO-DIMM zawierająca procesor i pamięć RAM, opcjonalną pamięć flash do przechowywania systemu operacyjnego

Jedna z projektowanych konfiguracji wersji Turing V2

Łącząc płytę klastrową i moduły obliczeniowe, można łatwo stworzyć infrastrukturę dla np. 20+ procesorów (przykłady poniżej), cichą i charakteryzującą się niskim zużyciem energii. Sama płyta klastrowa zwiększa efektywność wykorzystywanej objętości. Przykładowe klastry dla porównania
Oparty na SBC*

24 procesory
Opublikowane przez Afkhama Azeeza
Oparty na Turingu Pi

21 procesory
autor
* SBC – komputer jednopłytkowy
Współzałożyciel Rancher Labs i autor k3s nie pozostawił obojętnym tego podejścia.

Przeczytaj więcej na temat bloków konstrukcyjnych.
Moduł obliczeniowy
W celu sprawdzenia koncepcji wybraliśmy moduł obliczeniowy Raspberry Pi, który stanowi idealną konfigurację na początek. Społeczność RPi jest aktywna, z oprogramowaniem nie ma problemów, sam moduł jest w formacie SO-DIMM (6 x 3 cm), niedrogi, zawiera 4-rdzeniowy procesor, 1 GB RAM i opcjonalnie 8, 16 lub 32 GB pamięć flash dla systemu operacyjnego i innych potrzeb systemowych. Ten współczynnik kształtu jest często stosowany w przemysłowych rozwiązaniach IoT.
Moduł obliczeniowy Raspberry Pi 1/3/3+

Ale model CM3 ma też poważne ograniczenia – max. 1 GB RAM i Ethernet poprzez HUB USB z maksymalną prędkością do 100 Mbps. Dlatego druga wersja Turinga będzie obsługiwać Raspberry Pi 4 i aż 8 GB RAM-u na moduł. Poniżej znajduje się przykład modułów Nvidia Jetson do zadań Accelerated Computing. Być może będą one obsługiwane w drugiej wersji, jeśli rozwiążemy jakieś problemy techniczne, wówczas będziemy mogli wymieszać moduły.
Moduły obliczeniowe Nvidia Jetson

W modułach kryje się najważniejsza funkcja, która na pierwszy rzut oka nie jest oczywista. Możliwość tworzenia innych modułów w podobnej obudowie z innym zestawem procesorów, pamięci RAM i eMMC, dla różnych typów zadań, od obliczeń ogólnych po obliczenia wymagające intensywnego uczenia maszynowego. Jest to bardzo podobne do instancji AWS EC2, ale tylko dla krawędzi. Jednocześnie opłata klastrowa pozostaje niezmieniona lub ulega niewielkim zmianom.
Tablica klastrowa
Można to też nazwać płytą główną lub płytką bazową, dość nowy kierunek, a producentów takich rozwiązań nie ma dziś wielu, a są one jeszcze całkiem na początkowym poziomie, a wśród nich Pine64, MiniNodes, Clover Pi, Bitscope Blade, PicoCluster ( klastry SBC). Płyta klastra łączy moduły z siecią, zapewnia zasilanie i zapewnia magistralę zarządzania klastrem (Cluster Management Bus), przynajmniej zdecydowaliśmy się dodać tę magistralę i wygląda na to, że się zakorzeniła.
Przód

Wstecz

Przepustowość płyty montażowej 12 Gb/s
Gniazda SD dla modułów bez eMMC, na przykład możesz pomieścić kilka modułów z SD w celu szybkiego dostępu do danych węzła
Płyta klastra oparta jest na chipie przełączającym, zapewniającym połączenie sieciowe modułów i dostęp do sieci zewnętrznej. W aktualnej wersji używamy przełącznika niezarządzalnego, ponieważ nie było czasu na prowadzenie pełnoprawnych prac badawczo-rozwojowych, ale do drugiej wersji wybraliśmy dobrze zarządzany przełącznik. Istnieje możliwość konfiguracji w trybie „węzła głównego jako routera” w celu dystrybucji sieci na płycie, dzieje się tak, jeśli wymagany jest wyższy poziom bezpieczeństwa i izolacji pracowników od dostępu z zewnątrz, w którym to przypadku węzeł główny musi również posiadać serwer DHCP.
Stosowanie
Obecna wersja jest eksperymentalna i pozycjonujemy ją jako rozwiązanie podstawowe do badania, czym są klastry, pracy z oprogramowaniem lub jako test hipotez w organizacjach, poszukiwania nowych pomysłów, ogólnie rzecz biorąc, taka wersja Lite.
Na początek polecamy serię autorstwa wspaniałego Jeffa Girlinga, który czytał o nas na Y Combinatorze, jest autorem bestsellera Ansible for DevOps. Był tak zainspirowany, że zrobił 6-odcinkową recenzję, począwszy od idei klastrowania w ogóle, po praktyczne przykłady pracy z tablicą, poznawanie Kubernetesa i tego, jakie oprogramowanie można zainstalować
Seria o instalowaniu k3s na klastrze

Generalnie polecam zajrzeć od początku, tam ogólnie jest o klastrowaniu i Kubernetesie w przystępnym języku. I kilka zdjęć od społeczności

Co dalej?
Po pierwsze mam nadzieję, że było ciekawie. To absolutnie autorska treść, próba spojrzenia poza horyzont. Po drugie planuję napisać drugą część dotyczącą konstrukcji Turinga V2. Jak przebiegało poszukiwanie produktu, oceny logiczne, poszukiwanie głównych, istotnych właściwości. W artykule będą zawarte szkice produktu od najwcześniejszego do finalnego. Drugi artykuł będzie szczególnie interesujący dla specjalistów produktowych odpowiedzialnych za produkty i ich rozwój w firmach.
I najprawdopodobniej będzie to naprawdę długa lektura.
Źródło: www.habr.com
