Turing Pi это решение для self-hosted приложений построенное по принципу rack стоек в дата центре, только на компактной материнской плате. Решение ориентировано на построение локальной инфраструктуры для локальной разработки и хостинга приложений и сервисов. Вообщем это как AWS EC2 только для edge.
Мы небольшая команда разработчиков решили создать решение для построения bare-metal кластеров в edge и назвали проект Turing Pi. Продукт начался на «коленке», однако сейчас для проверок своих концепций его заказали отделы разработок в Red Hat, Rancher (SUSE), Toyota Connected, Sony, Electrolux, Facebook, и набирается аудитория разработчиков под 10К.
Но все началось с открытия.
Открытие продукта
Когда-то для себя сделал открытие что мы ничего не придумываем. Все вещи существующие в этом мире, мы открываем. Мы открываем что какие то части можно комбинировать вместе, получая новые свойства продуктов или открываем законы и потом снова комбинируем. Придумать ничего нельзя, но можно открыть во время исследования. На мой взгляд изобретение это результат постоянных наблюдений, эксперименты и поиск + комбинация знаний.
В течении последнего десятилетия я наблюдал как набирает обороты любительское движение homelab (ресурс subreddit), self-hosted (ресурсы subreddit и awesome-selfhosted), одноплатные компьютеры, как растет интерес к запуску контейнеров на одноплатных компьютерах типа Raspberry Pi, растет движение собирающее кластеры из одноплатных компьютеров. Постепенно туда тянется и идея Kubernetes. Уже появилась его легкая версия k3s ориентированная на Edge/IoT. Большая сеть ресторанов быстрого питания Chick-fil-A одни из первых в мире разместили кластеры Kubernetes на своих кухнях kubectl make me a sandwich.
Я это вижу как снежный ком, как одна технология оборачивается вокруг другой, создавая более комплексную систему. При этом нет никакого хаоса, больше похоже на фрактал из технологий. В один из достаточно сложных для меня моментов в моей жизни я увидел ценность в кластерах, которые собираются из одноплатных компьютеров разработчиками любителями и начал работать над созданием кластерной платы.
Сегодня наша кластерная плата очень простая и в первую очередь ориентирована на тех кто любит cloud native технологии, изучать новое, экспериментировать.
Строительные блоки (Building Blocks)
Итак, что же из себя представляет решение, в чем суть. Суть в том чтобы дать конструктор, строительные блоки (Building Blocks) из которых можно собрать edge инфраструктуру дешевле чем на классических серверах, мобильную без громоздких металлических ящиков, не требовательную к особым условия эксплуатации типа серверных, энергоэффективную, стандартизированную в плане модулей и с возможностью быстрого масштабирования на десятки и сотни вычислительных узлов (процессоры).
Кластерная плата (Clusterboard) Mini ITX плата объединяет несколько вычислительных модулей с помощью сети на плате, дает периферийные интерфейсы и контроль над модулями |
Вычислительный модуль (Compute Module) Плата в SO-DIMM форм-факторе содержащая процессор и оперативную память, опционально флеш-память для хранения операционной системы |
Одна из проектируемых конфигураций версии Turing V2 |
SBC based* 24 CPU’s Автор Afkham Azeez |
Turing Pi based 21 CPU’s Автор th3st0rmtr00p3r |
---|
Со-основателя Rancher Labs и автора k3s такой подход не оставил равнодушным
Далее подробнее про строительные блоки.
Вычислительный Модуль (Compute Module)
Для проверки концепции мы выбрали Raspberry Pi Compute Module это идеальная конфигурация для старта. Коммьюнити RPi активно, нет проблем с софтом, сам модуль в формате SO-DIMM (6 x 3 см), доступен по цене, содержит на борту 4-core CPU, 1 GB RAM и опционально флеш-память 8, 16 или 32 GB для ОС и других системных нужд. Подобный форм-фактор часто используют в индустриальных IoT решениях.
Raspberry Pi 1/3/3+ Compute Module
Но у модели CM3 есть и серьезные ограничения — max. 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, под разные типы задач от general-computing до machine learning интенсивных вычислений. Это очень похоже на инстансы AWS EC2, но только для edge. При этом кластерная плата остается неизменной или с минорными изменениями.
Кластерная плата (Clusterboard)
Еще ее можно назвать материнской платой или базовой платой, достаточно новое направление и производителей подобных решений сегодня не много и все еще довольно на начальном уровне, среди них Pine64, MiniNodes, Clover Pi, Bitscope Blade, PicoCluster (SBC кластеры). Кластерная плата объединяет модули сетью, обеспечивает питанием и дает шину управления кластером (Cluster Management Bus), по крайней мере мы эту шину решили добавить и она вроде прижилась.
Front |
Back |
---|---|
Backplane Bandwidth 12 Gbps | SD слоты для модулей без eMMC, например, можно держать пару модулей с SD для быстрого доступа к данным ноды |
Применение
Текущая версия является экспериментальной и мы позиционируем ее как решение начального уровня изучить что такое кластеры, поработать с софтом или как проверка гипотез в организациях, поиск новых идей, вообщем такая Lite версия.
Чтобы начать мы рекомендуем серию от замечательного Джеффа Гирлинга, который прочитал о нас на Y Combinator, он автор бестселлера Ansible for DevOps. Он так вдохновился что сделал 6-ти серийный обзор начиная от идеи кластеризации в целом до практических примеров работы с платой, изучения Kubernetes и какой софт можно устанавливать
Серия про установку k3s на кластер
А вообще рекомендую смотреть с первой, там в целом про кластеризацию и Kubernetes доступным языком. И немного картинок от коммьюнити
Что дальше?
Во-первых, я очень надеюсь что было интересно. Это абсолютно авторский контент, попытка заглянуть за горизонт. Во-вторых, планирую написать вторую часть про проектирование Turing V2. Как происходил поиск продукта, логические суждения, поиск основных свойств которые важны. Статья будет содержать эскизы продукта от самых ранних до финальных. Вторая статья будет особенно интересна продуктологам, кто отвечает за продукты и их развитие в компаниях.
И скорее всего там будет реально long read.
Sabubu
Выглядит как бесполезная игрушка. Она ведь слабее типичного десктопа, по крайней мере по памяти. И вообще, кластеры это тоже во многих случаях игрушка, если вы не Яндекс или подобная компания (с огромным числом пользователей и большим объемом вычислений), кластеры вам не нужны, вам хватит старого доброго монолитного приложения на PHP на 10 лет вперед.
Costa_Al Автор
Мм что не так с памятью?
В V2 будет до 32 GB RAM (LPDDR4)кластеры разные бывают и под разные задачи, не обязательно кластер должна использовать огромная компания, хостить много чего можно локально
мы любим кластеры
yasha_akimov
А зачем нужен такой кластер когда можно собрать какой нибудь пк с 8\16\32\64 ядер и воткнуть туда до 256 гигов оперативы и хостить на нем что угодно?
Costa_Al Автор
В первую очередь это ARM процессоры. В основном, по тому что мы узнали у текущих покупателей там и бизнесы есть. Они оффлоадят туда процессы, которые постоянно работают и их достаточно держать локально (за cloud платить они не хотят). Один клиент замерял энергоэффективность и при полной загрузке всех ядер всего 34W было потребление.
— ARM
— Энергоэффективно
— Дешево при покупке и дальнейшей эксплуатации 24/7
— Безшумно и очень компактно — 7 процессоров
WebConn
Справедливости ради, Jetson даже Nano на пассивном охлаждении в таком исполнении серьезную нагрузку не потянет, а Xavier и подавно.
(Тоже пока до конца не понял, для чего применить такой кластер, кроме обучения, но верю, что на такую штуку есть свой покупатель)
Costa_Al Автор
Покупают и делают повторные покупки по первой версии. Вторую еще больше будут покупать
pronvit
Очень рад, что у вас покупают и будут покупать еще больше, но это странный ответ на вопрос о возможностях применения.
nexely
Вычесления в эдже, вот вам целый горизонт для применения. Из таких блоков можно строить очень гибкую эдж инфраструктуру, которая будет прекрасно дружить с облаками и легко обслуживаться
Foror
Амазон хостинг тоже покупают, но это не означает, что люди разумно распределяют выделенный бюджет.
Foror
>ARM
А в чём тут преимущество?
>Энергоэффективно
>при полной загрузке всех ядер всего 34W было потребление
Вы и производительность получите на эти же 34 ватта, магии здесь нет. Вот только одна плата с одним мобильным Селероном и 8 Гбайт памяти будет на порядок производительнее за эти же 34 ватта, чем ваши 7 плат с синхронизацией через 1 Гбит/с Так что тут еще вопрос, что энергоэффективнее.
>Дешево при покупке и дальнейшей эксплуатации 24/7
Опять же сомнительно. Цифр вы не привели, а на сайте цены нет. Перебьёте хотя бы вот эту цену www.hardkernel.com/shop/odroid-h2 При этом одна эта плата будет на порядок производительнее и энергоэффективней вашего «кластера».
>Безшумно и очень компактно — 7 процессоров
Мобильный Селерон тоже бесшумен и компактен на плате mini-itx. А вот когда вы начнёте внедрять rp4, то вам уже потребуется активное охлаждение. Но я и ваши 7 rp4 разнесу в хлам по всем пунктам. Впрочем, понятно что это никому не интересно. У вас есть
детигики, желающие игрушек, вы им их даете, пожелаю вам только удачи. Просто неприятно когда людей вводят в заблуждение.Costa_Al Автор
>>ARM
>А в чём тут преимущество?
>Дешево при покупке и дальнейшей эксплуатации 24/7
> Но я и ваши 7 rp4 разнесу в хлам по всем пунктам.
Уже разнесли x86 в хлам и это только начало
Вот пример как в AWS перевели кластеры x86 на кластеры ARMv8. Теже сервисы (т.е. производительности хватило), тот же промежуток времени, трафик вырос за это время, стоимсть сократилась в 2 РАЗА, а это постоянные затраты
Наше решение использут многие как ARM workstation для разработки, как CI/CD для ARM решений в Edge и как Self-Hosted.
Почему Apple переводит все desktop решения на ARM?
Foror
>Почему Apple переводит все desktop решения на ARM?
Им нужна единая платформа, сейчас у них зоопарк из x86 и arm. Очевидно нужно мигрировать на arm, тем более современные процессоры это позволяют.
>Уже разнесли x86 в хлам и это только начало
Когда увидим уровень Эпика с 512 потоками, тогда и поговорим, а сейчас это один маркетинг и лукавство. Примерно как вы пытаетесь выставить свою игрушку в выгодном свете, когда на самом деле одноплатник на Селероне будет дешевле, быстрее, функциональнее (есть полноценный SATA, NVMe, 1 Gbit/s), энергоэффективнее, занимать меньше места.
Но как я и говорил, удачи вам, этот мир безумен давно, еще одно безумство погоды не сделает.
Costa_Al Автор
Какой маркетинг, это реальные данные из AWS сравнение затрат x86 с ARM кластерами
Вы как то болезненно реагируете
goldrobot
А что по поводу цены совокупной, электроенергии и тепловыделения? Есть сравнение полноценно?
rzerda
Вы изволите аппелировать к производительности и энергоэффективности Graviton2 и Apple Silicon так, как будто их можно вставить в Вашу плату, но ведь нельзя же. Есть вполне конкретные модули, которые можно вставить, и есть x86, который можно купить и ремонтировать методом «выкидываем сломанное и покупаем в магазине в практически любом российском городе со 100+ тысячами населения новое такое же». Хочется, всё-таки, сравнений хотя бы с t4g.micro и тем же x86 из магазина в плане цены, производительности и энергопотребления (где применимо).
Costa_Al Автор
Мы сейчас делаем на чем доступно с нашими ресурсами (инвесторов у нас извините нет). Есть процессоры которые сравнимы с Graviton 1 (по тестам), мы смотрим на них. А так для дальшнейшего шага мы добавим свои планки сравнимые с Gravtion 2 и прицеливаемся сразу дать 8 и 16 GB RAM на планку
rzerda
Да, с таким объемом памяти уже можно начинать разговаривать. С 1 Гбайт/хост не знаю, что облачное можно серьезно тестировать, OOM разве что. Собственно, поэтому я и взял себе для опытов x86 — россыпь RPi4 и ворох БП/проводов неинтересны, а у Turing Pi отвратительно мало памяти. Так что, как говорится, ждём ебилдов.
Costa_Al Автор
Во второй версии у нас будет 32 GB RAM на кластер
iproger
Когда тестировал еще первую версию arm в AWS остался не совсем доволен производительностью 16 ядер. Причем по цене было вроде примерно как х86.
Может во второй версии все стало получше, но я не понимаю для чего может хватить такой производительности.
Costa_Al Автор
>Вы и производительность получите на эти же 34 ватта, магии здесь нет.
Конечно нет магии, просто для RISC процессоров оптимизация идет на этапе компиляции и она более затратна из-за этого. Постепенно производительность подтягивается к CISC архитектурам.
Disasm
Где вы тут RISC процессоры увидели, можно узнать?
VioletGiraffe
Я хочу собрать такой кластер. Есть подозрение, что для моей задачи это может оказаться дешевле классического многоядерного компьютера на х86-64, но подозрение ещё нужно подтвердить бенчмарками RPi 4.
Причём моя мысль не пошла дальше стойки для обычных плат RPi c разводкой сети патч-кордами через Ethernet хаб. Даже не представлял, что есть особые модули и кластерные платы под них.
Costa_Al Автор
По затратам на электричество однозначно, если у вас есть workloads 24/7. По затратам на обсуживание тоже если вы планируете масштабирование, кластерная плата просто удобнее
VioletGiraffe
Меня больше интересуют прямые затраты на покупку железа на единицу производительности. Разница в стоимости электроэнергии по сравнению с этим будет малозначительна (даже в масштабах одного года работы).
nckma
Знаю компанию, которая пытается делать тонких клиентов на Pi4.
И знаете что? У них уже кулер на радиаторе стоит. Потому, что иначе перегревается чип.
VioletGiraffe
Лично я даже не сомневался :) Но куча воющих мелких кулеров — это грустно. Есть у китайцев «rack» корпуса, напоминающие корзины для HDD, где несколько плат и один кулер 120 мм, продувающий их, я бы в эту сторону продумывал.
nexely
А вот представьте вы нефте добывающая компания и вам нужно решение которое легко будет мигрироваться и синхронизироваться с клаудом чтобы собирать и обрабатывать данные в местах где ограниченный доступ в интернет. Можно и ПК воткнуть, но встает вопрос размеров и энергоэффективности. Можно и одноплатник воткнуть, и установить ВМ, но если этот одноплатник завис, вы теряете критически важный компьют. Компактные кластеры в свою очередь являются и более удобным и более надежным решением в таких кейсах. Кейс кстати реальный из жизни.
nckma
А что, Вы правда считаете Pi4 надежным девайсом?
nexely
вполне.
nckma
У меня есть большой с++ проект… если я его начинаю компилировать на Pi4
>make -j4
(компиляция на 4х ядрах) то с большой вероятностью минут через 10 повиснет.
только -j3 работает.
Ну или нужно хорошее активное охлаждение.
shutkarmannbii
Есть отличные компактные решения промышленных пк с пассивным охлаждением и размерами совостовимыми с данным кластером… не одноплатником единым
ЗЫ а что делать с таким кластером в случае чего? у вас же дохнет не просто пк — а все модули на нем, то есть нужно купить не одно готовое устройство, а baseboard и некое колличество модулей — так себе надежность — сильно сомневаюсь что в кластере отвалится 1 модуль из условных 8
snizovtsev
Ну игрушки не обязательно бесполезные, мне кажется вполне годится для образовательных целей. Нагляднее, чем куча виртуалок на 1 машине.
Но ставка на CM3 неудачная, нужно было сразу смотреть на CM4 и 64-битный ARM. И, кстати, подобная плата уже давно в продаже у проекта Pine64, стоит даже дешевле — https://www.pine64.org/clusterboard/
Costa_Al Автор
CM4 не существует в продаже
поэтому начали с CM3
Pine64 всего 14 GB… Мы скоро анонсируем вторую версию с 32 GB RAM и другими плюсами которых нет в Pine
DAiMor
А есть понимание, когда в теории можно ожидать появление CM4 и вашей платы с ее поддержкой?
Costa_Al Автор
Наша плата Q1@2021
По CM4 не могу раскрывать ничего, но мы общаемся напрямую с Raspberry Pi
firefish
Зарелизили сегодня www.raspberrypi.org/products/compute-module-4