Каждый год в мире выпускают больше миллиарда смартфонов. Люди меняют устройства каждые два-три года, потому что хотят новые функции, лучшую камеру или просто более быстрый отклик. В итоге тонны вполне работоспособной техники оказываются на свалках, хотя их процессоры, память и накопители ещё способны выполнять серьёзные задачи. Как-то это не очень здорово, согласитесь.

Авторы одного интересного проекта решили попробовать создать из телефонов вычислительный кластер. В ходе реализации этого плана выяснилось, что отдельные ядра современных мобильных процессоров по скорости в однопоточном режиме не уступают серверным решениям, а иногда и превосходят их. Как это работает и что может получиться? Давайте посмотрим.

Вместо свалки - новая жизнь

Университет Сан-Диего вместе с Google нашли способ превратить старые смартфоны в мощные вычислительные кластеры. Специалисты извлекают из гаджетов самое главное — материнские платы с процессорами и памятью, а всё лишнее вроде экранов и аккумуляторов просто выбрасывают. Полученные «голые» платы объединяют в группы, подключают к общему питанию и заставляют работать как единое целое. В итоге получается компактный серверный блок, который использует уже готовое «железо» для серьезных вычислений вместо того, чтобы собирать новые системы с нуля. 

Для работы в кластерах платы переводят с Android на полноценный Linux. Мобильная ОС перегружена фоновыми процессами и жесткими алгоритмами энергосбережения, которые некорректно работают в серверной среде, включая агрессивную выгрузку задач из оперативной памяти. Установка стандартного дистрибутива Linux превращает смартфонные компоненты в полноценные вычислительные узлы. Это позволяет администрировать систему привычными серверными инструментами и исключить внезапные остановки или троттлинг. 

Источник

Инженеры объединяют платы в кластеры по 25–50 штук. Этот размер выбран не случайно: совокупная мощность такой стойки сопоставима с производительностью одного современного серверного процессора в профильных задачах. Для управления распределенными вычислениями используют системы оркестрации контейнеров. Это позволяет запускать приложения сразу на десятках плат и централизованно управлять нагрузкой, как в полноценном дата-центре. Предварительные тесты подтвердили жизнеспособность архитектуры: система работает стабильно и без критических сбоев даже в режиме круглосуточной эксплуатации. 

К осени следующего года планируется запуск кластера из двух тысяч плат. Такой мощности хватит, чтобы одновременно обслуживать около сотни учебных курсов по информатике. Проект решает не только задачу получения недорогих вычислительных ресурсов, но и дает ценную информацию о том, как долго потребительское «железо» способно выдерживать интенсивную нагрузку. Собранные данные по надежности, охлаждению и энергопотреблению станут фундаментом для дальнейшего масштабирования таких решений. 

Причины конкурентоспособности мобильных процессоров

Современные мобильные процессоры значительно эволюционировали благодаря переходу на кастомные ARM-ядра с упором на высокую однопоточную производительность (IPC). В отличие от серверных архитектур, где приоритет отдается масштабируемости и многопоточности, мобильные SoC (System-on-Chip) проектировались для обеспечения мгновенного отклика интерфейса и быстрой обработки сценариев взаимодействия с пользователем.

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

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

Источник

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

Реальные тесты и компактные эксперименты

Университет уже протестировал кластер из двадцати плат на реальных задачах, используя его для автоматической проверки студенческих работ по параллельному программированию. Нагрузка включала интенсивные матричные вычисления, которые на одном устройстве выполнялись около пятидесяти секунд. Система успешно обрабатывала одновременные запросы от группы численностью более семидесяти человек. По времени отклика и пропускной способности такая связка зачастую превосходила стандартные облачные инстансы начального уровня, доказывая, что для многих учебных сценариев вторичное использование смартфонного «железа» — это полноценная и эффективная альтернатива новым серверам. 

Источник

Отказ от аренды дорогостоящих облачных мощностей в пользу собственных ресурсов позволяет не только сократить расходы, но и уменьшить зависимость от выпуска нового оборудования, снижая экологическую нагрузку. Параллельно с этим университет получает уникальную площадку для исследования: можно на практике изучить, как потребительское «железо» ведет себя при круглосуточных нагрузках в серверной среде, и собрать важные данные о его реальной долговечности и эффективности. 

Что еще? Параллельно в Эстонии работают над более компактными решениями. Там взяли старые модели Nexus, удалили встроенные аккумуляторы и подключили внешнее питание. Это исключает риск утечки химических веществ в окружающую среду. Четыре платы объединили в единый блок с помощью напечатанных на 3D-принтере держателей и корпусов. Получившийся мини-кластер обошёлся примерно в 8 евро на одно устройство.

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

Авторы видят потенциал этой технологии далеко за пределами подводных исследований. Такие мини-кластеры можно устанавливать на городских остановках для анализа пассажиропотока и оптимизации маршрутов общественного транспорта или использовать в полевых научных экспериментах, где критически важны автономность и низкая стоимость развертывания. В целом, уже понятно, что даже сильно устаревшие модели смартфонов зачастую превосходят специализированные решения для интернета вещей (IoT) по вычислительной мощности, предлагая гораздо более гибкие возможности для обработки данных на местах. 

Сложности внедрения и возможные направления развития

У подхода есть и ограничения. Главное из них — небольшой объём памяти на одном устройстве. Если задача не помещается целиком, приходится делить её между несколькими узлами. Это усложняет программу и увеличивает время на передачу данных между устройствами. Кроме того, потребительские платы не предназначены для постоянной максимальной нагрузки в течение многих месяцев или лет подряд.

В крупных проектах как раз планируют проверить долговечность такого железа при круглосуточной работе. Нужно понять, как оно справляется с охлаждением, стабильностью питания и возможными отказами. Ещё одна сложность — разница между устройствами разных лет и моделей. Приходится учитывать неодинаковую производительность ядер и объём памяти, что усложняет равномерное распределение задач по всем узлам.

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

Комментарии (0)