Но не зря говорится, что голь на выдумки хитра. Ученые МИФИ Галина Исаева и Федор Исаев предложили объединять смартфоны в распределенные вычислительные системы и использовать их для научных расчетов. Этим сборным командам вполне по силам тягаться с полноценными серверами.
Отметим, что такой вариант "кластера" из телефонов впервые был испытан еще лет пятнадцать назад, но дальше по самым разным причинам дело не пошло. Российские ученые решили вернуться к этой идее. Главная проблема вылезла сразу. Им оказалась "разношерстность" участников команды. В одной сети могут оказаться флагманский Samsung с мощнейшим процессором, старый Huawei и бюджетный Xiaomi. Разница в производительности между ними может достигать 10-12 раз. Более того, при длительной работе мощные смартфоны перегреваются и снижают частоту, теряя до 60% производительности. Как утрясти силу одних и слабость других, привести их к общему балансу?
Ученые создали алгоритм, который работает как умный диспетчер. Перед началом вычислений он оценивает пиковую мощность каждого устройства, а затем следит, как "сборники" выполняют свою задачу. В процессе работы каждый из них постоянно "жалуется" оператору на температуру и загрузку. На основе этих данных алгоритм корректирует, какой объем вычислений дать каждому смартфону. Например, если телефон начинает греться, система автоматически снимает с него часть задач, а когда остывает, возвращает ему нагрузку. Крайний случай - отказ одного из смартфонов. На такое ЧП алгоритм реагирует мгновенно, возвращая незавершенные подзадачи обратно в общую очередь и перераспределяя их между работающими смартфонами.
В ходе тестирования на сложной задаче, требующей миллиарда шагов вычислений, алгоритм показал отличные результаты по качеству и времени расчетов, а главное, что работал как единый слаженный механизм. Разработка открывает путь к созданию дешевых мобильных вычислительных ферм для научных групп, образовательных учреждений и экстренных служб в полевых условиях, где нет доступа к интернету и серверам.
