January 25, 2019

Cоздание небольшой фермы из плат NanoPi NEO4

NanoPi NEO4 сейчас самый дешевый маленький одноплатный компьютер на базе шестиядерного процессора Rockchip RK3399, который включает в себя два «быстрых» 64-разрядных ядра Cortex A72 и четыре «экономичных» ядра Cortex-A53, так что приглядитесь к ним, если вы планируйте создание фермы с низкими затратами, небольшим форм-фактором и относительно хорошей производительностью.

В рамках своей работы над балансировщиком нагрузки HAProxy, Вилли Тарро часто приходится запускать ресурсоёмкие сборки. Для ускорения процесса он создал несколько ферм, работающих на недорогих платах для разработки. До этого у него была ферма из пяти плат MIQI с процессором Rockchip RK3288 с четырьмя «быстрыми» 32-разрядными процессорами Cortex-A17 и управляемая с помощью сетевой платой ClearFog Pro. Теперь он решил построить еще одну подобную ферму, но вместо этого на новых NanoPi NEO4.

В своем блоге, Вилли подробно рассказывает о настройке оборудования и ПО, в этом тексте будет краткое изложение основных моментов их его обзора.

Аппаратная сборка и DIY радиатор

Как видно из фотографии выше, ферма состоит с пятьи плат NanoPi NEO4, подключенных к плате ClearFog Pro через Gigabit Ethernet. Но радиатор выглядит как-то странно и совсем не похож на радиатор, предоставляемый FriendlyElec. Вилли хотел сэкономить немного горизонтального пространства, поэтому он сделал свой собственный радиатор из L-образного алюминиевого блока шириной 5,2 см и толщиной 2 мм.

Он просверлил четыре монтажных отверстия в алюминиевом блоке и сначала добавил керамическую прокладку для охлаждения процессора, но, в конечном итоге, переключился на медные прокладки в сочетании с винтами и пружиной, чтобы держать процессор, пластину и алюминиевый блок в хорошем контакте без приложения больших усилий.

После того, как все пять плат подготовлены аналогичным образом, подключаем их к большему радиатору, взятому из старой системы Pentium2 с использованием большой ленты с термопленкой, использование винтов будет не практичным.

Установка и оптимизация программного обеспечения (разгон)

Интересно, что образ Ubuntu от FriendlyElec был установлен на внутреннюю память компьютера (еММС) из завода. Вилли отключил «чепуху, связанную с systemd», а также графический режим, это было необходимо для его варианта использования. Важный совет при установке — не дублировать флэш-память с одной платы для установки на другие, так как она также заменит MAC-адрес, что может вызвать проблемы при работе плат с интернетом.

Поскольку это ферма собиралась для программ написанных на языке C, был установлен distcc, а также различные компиляторы из kernel.org.

Чтобы получить максимальную производительность платы, он разогнал их ядра Cortex-A72 до 2,2 ГГц и ядра Cortex-A53 до 1,8 ГГц, за исключением одного, которое ограничил до 1,7 ГГц. По практическим соображениям, автор ограничил все ядра до 1,7 ГГц. Для разгона требуются некоторые исправления ядра для linux 4.4.138 и скрипт для изменения частот:

# cat set-speed-neo4-1.sh 
echo 2 > /sys/kernel/debug/clk/sclk_ddrc/clk_enable_count
echo 928000000 > /sys/kernel/debug/clk/sclk_ddrc/clk_rate
echo 1 > /sys/devices/system/cpu/cpufreq/boost 
echo 1704000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq
echo 2208000 > /sys/devices/system/cpu/cpufreq/policy4/scaling_max_freq
echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor 
echo performance > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor 
echo performance > /sys/devices/platform/dmc/devfreq/dmc/governor

Заключительные слова

Обсуждаются также некоторые улучшения, такие как замена платы ClearFog Pro с избыточным питанием на NanoPi NEO2 и 8-портовый коммутатор Gigabit Ethernet, а также добавление кнопки сброса на плату для облегчения отладки.

Вилли сделал следующие выводы:

Получилось хорошее обновление предыдущей фермы, и я чувствую себя более уверенно, "взламывая" ее благодаря съемной eMMC памяти, которую я могу легко перезагружать со своего ПК. Платы легко "прокачать", так как все источники и документы доступны, что радует.

Источник: cnx-software.ru

ARMLab- канал про одноплатные компьютеры в Телеграм