В эпоху больших данных и искусственного интеллекта проблема вычислительных мощностей стоит как никогда остро. Суперкомпьютеры и облачные серверы стоят огромных денег, недоступных для многих университетов и малых предприятий. Но что, если суперкомпьютер уже лежит у вас в кармане?
Доцент Галина Исаева и аспирант Федор Исаев из Национального исследовательского ядерного университета МИФИ предложили радикальное решение: использовать для сложных научных расчетов обычные смартфоны. И не просто использовать, а объединять их в мощные распределенные вычислительные системы, способные тягаться по производительности с полноценными серверами.
Идея не нова — первые эксперименты с «кластерами» из телефонов проводились еще пятнадцать лет назад. Однако российские ученые пошли дальше. Они столкнулись с главной проблемой мобильных вычислений: гетерогенностью. Представьте: в одной сети оказываются флагманский Samsung с мощнейшим процессором, старый Huawei и бюджетный Xiaomi. Разница в производительности между ними может достигать 10–12 раз [citation:0]. Более того, при длительной работе мощные смартфоны перегреваются и снижают частоту (троттлинг), теряя до 60% производительности. А ведь каждый телефон еще и выполняет фоновые задачи — от обновления приложений до работы мессенджеров.
Просто разбить задачу на равные части в такой «разношерстной» толпе невозможно — мощные узлы быстро простаивают в ожидании слабых. Традиционные методы балансировки нагрузки либо игнорируют реальное состояние устройств, либо работают только в стабильных проводных сетях.
Алгоритм-«диспетчер»
Ученые разработали комбинированный алгоритм, который работает как умный диспетчер. Перед началом расчетов система оценивает пиковую мощность каждого устройства по количеству ядер и их частоте. Но это лишь стартовая точка. В процессе работы каждый узел постоянно «жалуется» управляющему узлу на температуру, текущую частоту и загрузку. На основе этих данных алгоритм в реальном времени корректирует, какой объем вычислений дать каждому смартфону.
«Если телефон начинает греться, система автоматически снимает с него часть задач, не позволяя процессору троттлить. А когда он остывает — возвращает нагрузку», — поясняют авторы.
Особенно важна встроенная отказоустойчивость. В беспроводной сети узлы постоянно отключаются — кто-то вышел из комнаты, у кого-то села батарея. В таких случаях алгоритм мгновенно возвращает незавершенные подзадачи обратно в общую очередь и перераспределяет их между работающими смартфонами. Система продолжает считать как ни в чем не бывало.
«Мозг» в деле
Для теста ученые использовали задачу численного интегрирования — сложную функцию, требующую миллиарда шагов вычислений. Сравнивались разные подходы. Статическая балансировка (по пиковой частоте) показала время на уровне стационарного ПК, но при длительной нагрузке «поплыла» — троттлинг свел на нет все преимущества.
Их собственный комбинированный метод GRID продемонстрировал впечатляющие результаты: время выполнения сократилось в 2,5 раза по сравнению со статикой для длительных задач, а дисперсия нагрузки (разброс времени выполнения на разных узлах) оказалась минимальной — всего 0,31. Это значит, что кластер работал как единый слаженный механизм, где ни один узел не простаивал и не перегревался [citation:0].
Пока это прототип, но у разработки колоссальный потенциал. Она открывает путь к созданию дешевых мобильных вычислительных ферм для научных групп, образовательных учреждений и даже для экстренных служб в полевых условиях, где нет доступа к интернету и серверам. Исследователи уже планируют углубляться в энергоэффективность и адаптацию под реальные сценарии, чтобы облачные технологии стали действительно доступными для всех.
Подробнее см. в статье, опубликованной в журнале "Моделирование, оптимизация и информационные технологии".
Источник: Минобрнауки России


