
Turing Pi е решение за self-hosted приложения, основано на принципа на rack стоейки в дата центъра, но на компактен дънна платка. Решението е насочено към изграждане на локална инфраструктура за локална разработка и хостинг на приложения и услуги. Всъщност, това е като AWS EC2, но за edge.
Ние сме малък екип от разработчици, които решихме да създадем решение за изграждане на bare-metal клъстери в edge и нарекохме проекта Turing Pi. Продуктът започна на "коленете", но в момента за проверка на концепциите му е поръчан от разработки в Red Hat, Rancher (SUSE), Toyota Connected, Sony, Electrolux, Facebook и аудиторията от разработчици наближава 10К.
Но всичко започна с откритие.
Откритие на продукта
Някога направих откритие, че ние не измисляме нищо. Всичко, което съществува в този свят, ние откриваме. Откриваме, че някои части могат да се комбинират, получавайки нови свойства на продуктите, или откриваме закони и след това отново комбинираме. Нищо не може да бъде измислено, но може да бъде открито по време на изследването. Според мен, изобретението е резултат от постоянни наблюдения, експерименти и търсене + комбинация от знания.
През последното десетилетие наблюдавах как се развива любителското движение homelab (ресурс ), self-hosted (ресурси и ), едноплаткови компютри, как расте интересът към стартиране на контейнери на едноплаткови компютри като Raspberry Pi, и се увеличава движението за изграждане на клъстери от едноплаткови компютри. Постепенно там се насочва и идеята за Kubernetes. Вече се появи неговата лека версия k3s, насочена към Edge/IOT. Голямата мрежа за бързо хранене Chick-fil-A е една от първите в света, която разположи клъстери на Kubernetes в кухнята си. .
Виждам това като снежен валяк, как една технология обгръща друга, създавайки по-комплексна система. Няма нищо хаотично, по-скоро прилича на фрактал от технологии. В един от доста сложните за мен моменти в живота, видях стойността на клъстерите, които се изграждат от едноплаткови компютри от любители разработчици и започнах работа по създаването на клъстерна платка.
Днес нашата клъстерна платка е много проста и е предимно насочена към тези, които обичат cloud native технологии, изучават новото и експериментират.
Строителни блокове (Building Blocks)
И така, какво представлява решение, в какво се състои. Същността му е да предостави конструктор, строителни блокове (Building Blocks), от които може да се създаде edge инфраструктура по-евтино отколкото на класическите сървъри, мобилна без обемисти метални кутии, ненаситена на специални условия на експлоатация като сървърни, енергоефективна, стандартизирана по отношение на модулите и с възможност за бързо мащабиране на десетки и стотици изчислителни възли (процесори).
Клъстерна платка (Clusterboard)
Mini ITX платка, която свързва няколко изчислителни модула чрез мрежа на платката, предоставя периферни интерфейси и контрол над модулите
Изчислителен модул (Compute Module)
Платка в SO-DIMM форм-фактор, която съдържа процесор и оперативна памет, опционално флаш-памет за съхраняване на операционната система

Една от проектираните конфигурации на версия Turing V2

Комбинирайки клъстерната платка и изчислителните модули, лесно може да се създаде инфраструктура например с 20+ процесора (примерите по-долу), безшумна и с ниска консумация на енергия. Самата клъстерна платка увеличава ефективността на използвания обем. Примери на клъстери за сравнение
SBC based*

24 CPU’s
Автор Afkham Azeez
Turing Pi based

21 CPU’s
Автор
* SBC — Single Board Computer
Съоснователят на Rancher Labs и автор на k3s, такъв подход не остави никого равнодушен

По-нататък ще разгледаме строителните блокове.
Изчислителен модул (Compute Module)
За проверка на концепцията избрахме Raspberry Pi Compute Module, това е идеалната конфигурация за стартиране. Общността RPi е активна, няма проблеми със софтуера, самият модул е в SO-DIMM формат (6 x 3 см), достъпен по цена, съдържа 4-ядрен CPU, 1 GB RAM и опционално флаш-памет 8, 16 или 32 GB за ОС и други системни нужди. Такъв форм-фактор често се използва в индустриалните IoT решения.
Raspberry Pi 1/3/3+ Compute Module

Но моделът CM3 има и сериозни ограничения — макс. 1 GB RAM и Ethernet през USB HUB с максимална скорост до 100 Mbps. Следователно, втората версия Turing ще поддържа Raspberry Pi 4 и до 8 GB оперативна памет на модул. По-долу е пример за Nvidia Jetson модули за Accelerated Computing задачи. Може да бъде тяхната поддръжка във втората версия, ако решим някои технически задачи, тогава може да смесваме модулите.
Nvidia Jetson Compute Modules

Модулите предлагат основната функционалност, която на пръв поглед не е очевидна. Възможността за създаване на други модули с подобен форм-фактор, но с различен набор от CPU, RAM и eMMC, за различни типове задачи от основни изчисления до интензивни изчисления за машинно обучение. Това напомня на инстанции AWS EC2, но само за ръбови приложения. В същото време кластерната платка остава непроменена или с минимални изменения.
Клъстерна платка (Clusterboard)
Може да се нарече още и материнска платка или основна платка, което е относително ново направление, а производителите на такива решения все още са малко и като цяло на начален етап, сред които Pine64, MiniNodes, Clover Pi, Bitscope Blade, PicoCluster (SBC клъстери). Кластерната платка свързва модулите посредством мрежа, осигурява захранване и предоставя шината за управление на клъстера (Cluster Management Bus); поне ние решихме да добавим тази шина и изглежда, че се е утвърдила.
Предна

Назад

Пропускна способност на задната платка 12 Gbps
SD слотове за модули без eMMC, например, могат да се използват два модула с SD за бърз достъп до данните на възела
В основата на кластерната платка е микросхема комутатор за осигуряване на мрежова свързаност между модулите и изхода към външната мрежа. В текущата версия използваме unmanaged switch, тъй като нямаше време за провеждане на пълно R&D, но за втората версия избрахме добър managed switch. Възможна е конфигурация в режим ‘майстор възел като рутер’ за предоставяне на мрежата на платката, ако е необходим по-висок ниво на сигурност и изолация на работниците от външен достъп; в такъв случай на майстор възела трябва да се поддържа DHCP сървър.
Приложение
Настоящата версия е експериментална и я позиционираме като решение за начално ниво, за да изучите какво представляват клъстерите, да работите със софтуер или като тест на хипотези в организации, търсене на нови идеи; по същество, това е Lite версия.
За да започнете, препоръчваме серията на страхотния Джеф Гирлинг, който научи за нас от Y Combinator; той е автор на бестселъра Ansible for DevOps. Вдъхновен от нас, той направи 6-серийно ревю, започвайки от идеята за клъстеризиране до практически примери за работа с платката, изучаване на Kubernetes и какъв софтуер може да се инсталира.
Серия за инсталиране на k3s на клъстер

Препоръчвам да започнете с първата серия, там всичко е за клъстеризация и Kubernetes на достъпен език. И малко изображения от общността.

Какво следва?
Първо, искрено се надявам, че е било интересно. Това е напълно авторско съдържание, опит да се загледа извън хоризонта. На второ място, възнамерявам да напиша втора част относно проектирането на Turing V2. Как премина търсенето на продукта, логическите съждения и търсенето на основните свойства, които са важни. Статията ще включва скици на продукта от най-ранните до окончателните версии. Втората статия ще бъде особено интересна за продуктологите, които отговарят за продуктите и тяхното развитие в компаниите.
И вероятно там ще има истинско long read.
Източник: habr.com
