Современный мир разработки программного обеспечения и вычислительных задач все активнее принимает архитектуру ARM, позволяющую создавать энергоэффективные и мощные системы, конкурирующие с традиционными x86 платформами. В поисках подходящей рабочей машины, отвечающей специфическим требованиям, я решил собрать собственную систему на базе Ampere Altra — процессора, зарекомендовавшего себя в серверной отрасли благодаря большому количеству ядер и высокой тактовой частоте. Мой опыт, впечатления и выводы могут быть полезны всем, кто заинтересован в использовании ARM-серверов вне крупных дата-центров и для индивидуальной работы. В начале пути выбор процессора и материнской платы был ключевым моментом. Ampere Altra — это 64-ядерный ARM-процессор с архитектурой AArch64, который идеально подходит для параллельных вычислений и современных многозадачных решений.
В моем случае была возможность приобрести не 64-ядерную модель Q64-22, а более мощную — Q80-30 с 80 ядрами и тактовой частотой 3.0 ГГц. Такая масштабируемость производительности становится значительным преимуществом для работы с виртуальными машинами и ресурсоемкими приложениями. Очень важным аспектом стало решение вопроса с материнской платой. К сожалению, на рынке практически отсутствуют недорогие решения, ориентированные на ARM-процессоры серверного класса.
Единственным доступным и приемлемым вариантом оказалась плата AsrockRack ALTRA8BUD-1L2T, изначально предназначенная для дата-центров, что говорит о высоком уровне надежности и поддержке необходимых функций управления питанием и охлаждением. Этот выбор позволил сохранить баланс между стоимостью и функциональностью. Крайне интересен выбор системы охлаждения. Процессор Ampere Altra использует сокет LGA 4926, для которого доступные варианты кулеров крайне ограничены. Мне удалось найти и приобрести Arctic Freezer 4U-M, один из немногих совместимых решений, что обеспечило эффективное охлаждение даже при высоких нагрузках.
Правильное охлаждение — залог стабильной работы и долгого срока службы одноплатного сервера. При выборе системной памяти я решил пойти дорогой экономии, приобретя использованные модули памяти SK-Hynix по 16 ГБ каждый, суммарно 128 ГБ. Несмотря на то, что эти планки не были в официальном списке поддерживаемой памяти Ampere, после нескольких попыток с перезагрузкой и переподключением они показали стабильную работу. Для серъезных технических задач этот факт важен: покупка поддерживаемого серверного оборудования — дорогое удовольствие, а возможность использовать «серую» комплектацию с гарантией работоспособности существенно снижает затраты на сборку. Еще одним вызовом стал выбор корпуса.
Производитель материнской платы отправлял сигнал к глубокой MicroATX-конфигурации, что осложнило поиск подходящего варианта. Пришлось внимательно изучить десятки моделей, обращая внимание на удобство прокладывания кабелей, вентиляцию и монтажные отверстия. В итоге выбор пал на Endorfy 700 Air. Помимо вместительности и качественной вентиляции, корпус оказался оснащенным дополнительным отверстием для PCIe-кабелей, что значительно облегчит установку видеокарт и дополнительных компонентов. Блок питания — отдельная история.
Дело в том, что платформа Ampere Altra требует питания напрямую по 12V без традиционного 24-пинового ATX-коннектора. Моя материнская плата поддерживает три разъема EPS12V, два из которых были подключены при помощи блока питания MSI MPG A850G, оснащенного комплектом соответствующих кабелей. Такой нестандартный подход к питанию характерен для серверных систем, что показывает разницу между домашними ПК и промышленными установками. Я решил дополнить систему NVMe SSD объемом 2 ТБ от Lexar, что обеспечивает молниеносную загрузку операционной системы и работу с данными. Для видеоподсистемы была выбрана Radeon Pro WX2100, низкопрофильная карта профессионального уровня — выбор обусловлен воспоминаниями о предыдущих сборках и желанием проверить совместимость новых ARM-систем с различными графическими решениями.
Сам процесс сборки был увлекательным и принес многие неожиданные открытия. Например, плата с кулером выглядела компактно, а видеокарта практически сливалась с корпусом за счет своего минимального профиля. За задней стенкой корпуса я разместил адаптер питания и компактно уложил кабели, используя пространство за материнской платой — важный момент в организации любого серверного или мощного ПК. Суммарно вся система обошлась в районе 7 700 польских злотых (около 1 800 евро). Хоть при первоначальном замысле расчетная стоимость и была ниже, улучшение процессора до 80 ядер и дополнительные покупки оперативной памяти немного увеличили бюджет.
В условиях рынка серверного железа подобные затраты являются вполне разумными для персональной разработки и тестирования на ARM. Что касается будущего использования, планируется установка Fedora 42 как основной операционной системы с ядрами, поддерживающими страницы памяти как в 4 КБ, так и в 64 КБ. Создание многочисленных виртуальных машин с RHEL и CentOS Stream разных версий позволит тестировать и разрабатывать ПО под различные дистрибутивы корпоративного Linux. В перспективе интерес представляет установка более мощной видеокарты Radeon RX 6700XT для оценки возможностей ARM-систем в роль настольных ПК с тяжелой графикой. В целом, такая платформа открывает широкие возможности для творческих и технических экспериментов.
Архитектура ARM становится все более привлекательной не только для серверов, но и для индивидуальных разработчиков и исследователей. В моем случае использование Ampere Altra обеспечивает гибкость, которую сложно получить на традиционных x86 системах, а также новый взгляд на будущее вычислительных платформ. Несмотря на некоторые сложности с подбором совместимых комплектующих и нюансы сборки, опыт создания собственной ARM-системы на Ampere Altra оказался крайне полезным. Этот проект не только реализовал потребности в разработке с поддержкой 64K страниц памяти, но и дал глубокое понимание особенностей серверной архитектуры на базе ARM. Такая машина отлично подойдет как для тестирования, так и для повседневной работы с Linux в условиях повышенной нагрузки и многозадачности.