Первый одноплатник линейки Nvidia Jetson компания Nvidia представила в 2019 году. Достоинство устройства — высокая производительность и небольшой размер. Кроме того, есть и еще один плюс — это совместимость с Raspberry Pi. Недавно команда студентов Южного методистского университета (Даллас, штат Техас, США), представила компактный суперкомпьютер на основе 16 устройств Nvidia Jetson Nano. Почему именно первая модель одноплатного ПК использовалась в проекте и для кого разработали кластерную систему на его основе?
Возможности одноплатного ПК Nvidia Jetson Nano
Эта система — младший модуль линейки Jetson. Предназначен он для встраивания в устройства вроде видеокамер, роботов, интерактивные терминалы и разного рода ИИ-системы. Форм-фактор — SO-DIMM, как у оперативной памяти для ноутбуков.
Характеристики одноплатника
Процессор: четырёхъядерный ARM Cortex-A57 MPCore @ 1.4 GHz.
Графический процессор: Maxwell со 128 ядрами CUDA.
Аппаратный кодек видео: кодирование 4K@30fps (кодек H.264/H.265) и декодирование 4K@60fps.
Видеовыход: HDMI 2.0 или DP1.2 | eDP 1.4 | DSI (1×2).
RAM: 4 ГБ LPDDR4 64-бит; 25,6 ГБ/с.
Флэш-память: 16 ГБ eMMC (для операционной системы).
Интерфейсы: 1×1/2/4 PCIE, 1×USB 3.0, 3×USB 2.0, Gigabit Ethernet.
Ввод-вывод: 1×SDIO / 2×SPI / 6×I2C / 2×I2S / пины GPIO.
Операционные системы: Linux.
Размеры: 69,5×45 мм.
Подключение: 260-пиновый коннектор SO-DIMM DDR4.
Среди многих возможностей устройства стоит выделить три наиболее интересных для разработчиков:
128-ядерный GPU, который даёт возможность запускать GPU-ориентированные задачи. Это CUDA, Tensorflow и другие.
Совместимость с Raspberry Pi благодаря наличию 40-пинового разъёма с разными интерфейсами, включая I2C, SPI. Есть и разъём камеры, который тоже совместим с Raspberry Pi.
Наличие большого количества портов и разъемов. В первую очередь это 2 видеовыхода, Gigabit-Ethernet и USB 3.0. Софт можно установить и запускать с SD-карты — есть слот для карт такого формата. К сожалению, встроенного беспроводного модуля нет, но есть возможность использования модуля USB-WiFi.
Кластерный суперкомпьютер размером с десктопный ПК
Первая модель одноплатного компьютера от Nvidia привлекла внимание DIY-энтузиастов со всего мира. Многие начали разрабатывать собственные проекты на базе этого одноплатника. Некоторые из этих проектов стали известными. Например, кластерный суперкомпьютер размером с десктопный ПК, построенный на базе 16 Nvidia Jetson Nano. Да, есть уже и новые версии Nano, но разработчики проекта, о котором идет речь, решили выбрать именно Nvidia Jetson Nano. Одна из причин - наличие интегрированного GPU-модуля, чего нет у большинства прочих одноплатных ПК.
Разработка кластерной системы заняла почти полгода. Первый прототип представлял собой несколько одноплатных ПК, размещённых на обычном столе и соединённых между собой при помощи подручных средств. О внешнем виде прототипа может говорить тот факт, что некоторые корпуса были сделаны из картонных коробок.
Финальная версия выглядит уже вполне профессионально — это прозрачный акриловый корпус, в котором аккуратно установлены 16 одноплатников от Nvidia.
Кроме аппаратного обеспечения, важное значение играет и софт. Его авторы проекта тоже планируют задействовать для обучения инженеров кластерных систем. Сейчас команда разрабатывает программный стек ПО, при помощи комплекта разработки программного обеспечения NVIDIA JetPack. На текущем этапе система пригодна для решения достаточно сложных задач из сферы машинного обучения. Это может быть прогнозная аналитика, работа с массивами данных, полученных в ходе исследований научных организаций, работе с изображениями.
Тем не менее, кластерная система создана не для того, чтобы разрабатывать климатические модели различных регионов Земли или искать новые формы фолдинга белковых молекул. Миниатюрный суперкомпьютер разрабатывался в образовательных целях — дать возможность инженерам сложных электронных систем разобраться в принципах работы суперкомпьютеров. «Мы начали работу над проектом, чтобы наглядно продемонстрировать то, что происходит внутри суперкомпьютера», — заявили авторы проекта.
Одно из достоинств системы — размер. Миниатюрный суперкомпьютер помещается на обычном рабочем столе. Это идеальный вариант для обучения инженеров и студентов IT-специальностей кластерной структуре вычислительных систем, ИИ-технологиям, разработке различных моделей и т.п. Авторы обещают открыть ПО и «железо» системы, чтобы другие разработчики могли использовать наработки проекта в своих целях.
Грядет новая версия суперкомпьютера
Останавливаться на достигнутом разработчики не собираются. Они планируют улучшить производительность своей системы за счёт интеграции старшей модели одноплатного ПК от Nvidia.
Новая модель, представленная в сентябре 2022 года, выделяется на фоне своих именитых конкурентов вроде Raspberry Pi производительностью и широким набором функций. Базируется система на процессоре с 6 ядрами ARM Cortex-A78AE, которые работают на частоте до 1,5 ГГц. Графическая система старшей модели включает 1024 ядра CUDA в топовой конфигурации с частотой 625 МГц. Плюс ещё 32 тензорных ядра на основе архитектуры Ampere. У младшей модели GPU ограничен вдвое меньшим количеством ядер CUDA.
Что касается оперативной памяти, то у Jetson Nano это LPDDR5, объем ОЗУ в самой продвинутой версии — 8 ГБ. У младшей модели установлено 4 ГБ ОЗУ. К сожалению, встроенной памяти нет — для работы с данными потребуется установить SSD NVMe.
В общем, одноплатник получился достаточно производительным. Jetson Orin Nano рассчитан на 4x10<sup>12</sup> триллионов операций в секунду (40 триллионов, TOPS). При этом его энергопотребление — всего 7-15 Вт в зависимости от выполняемой задачи. Размеры девайса — всего 70х45 мм.
В таком небольшом объёме разработчики смогли разместить большое количество интерфейсов и коннекторов, включая 3xUART, 2xSPI, 2xI2S, 4xI2C, CAN, DMIC, DSPK, PWM и GPIO. Достоинство устройства ещё и в совместимости с модулями от Raspberry Pi.
Другие кластерные мини-суперкомпьютеры
Системы с подобной структурой стали достаточно популярными с распространением одноплатников. В качестве альтернативных кластерных миниатюрных суперкомпьютеров стоит привести проекты Turing Pi и Mixtile Blade 3.
Что касается Turing Pi, то такая система предназначена для создания производительной ARM-системы, которую можно использовать как для разработки распределённых приложений, так и в качестве обычного, хотя и мощного, сервера.
Одно из достоинств этого суперкомпьютера в возможности работы с разными модулями-одноплатниками:
Turing RK1 с 8-ядерным процессором Rockchip RK3588, 6 TOPS NPU и вплоть до 32GB RAM
Raspberry Pi CM4 с 4-ядерным Broadcomm BCM2711 процессором и вплоть до 8GB RAM
NVIDIA Jetson Nano — 4-ядерный процессор ARM Cortex-A57 с объемом ОЗУ вплоть до 4 ГБ
NVIDIA Jetson TX2 NX с 2 ядрами NVIDIA Denver 2 и 4 ядрами ARM Cortex-A57, плюс поддержкой вплоть до 4 ГБ RAM
NVIDIA Jetson Xavier NX с 5-ядерным процессором NVIDIA Carmel и вплоть до 16 ГБ RAM
Кроме плат, о которых идёт речь, можно устанавливать и модули расширения, включая 5G-модемы, LoRaWAN-шлюзы и Zigbee.
Mixtile Blade 3
Это тоже одноплатный ПК, только с возможностью объединения отдельных плат-модулей при помощи специального шлейфа в кластерную систему. Правда, сами модули недешёвые: их стоимость составляет $170. Но если есть необходимость в развертывании производительного кластерного суперкомпьютера, причём для решения прикладных задач, то это хороший вариант.
Разработчики утверждают, что систему можно собрать из 75 плат, получив таким образом 600-ядерный ПК с энергопотреблением ниже 1500 Вт. Поставляют разработчики и корпуса для кластерных ПК на базе Mixtile Blade 3.
Перспективы миниатюрных кластерных систем
Они очень удобны благодаря своей портативности и производительности. Их могут использовать как научно-исследовательские организации, так и бизнес. Кластерные мини-суперкомпьютеры относительно недорогие, но они способны решать многие важные задачи, включая работу с нейросетями, машинным обучением и т.п. Вероятно, с популяризацией одноплатных ПК и повышением их производительности количество кластерных проектов, подобных описанным выше, будет лишь увеличиваться.