Недавно увидел на Хабре статью «Распределенная игровая сеть как альтернатива GFN» и решил написать о своем опыте участия в такой сети. Так получилось, что я один из первых участников программы, описанной в статье. И я не геймер, а как раз владелец нескольких производительных ПК, мощности которых используются сетью.
Чтобы сразу понятно было о чем речь — мои сервера используются подключающимися к сети геймерами сервиса облачного гейминга. В статье, о которой говорилось выше, упоминаются SONM, Playkey и Drova. Я опробовал в работе сервис от Playkey и теперь постараюсь рассказать о нюансах распределенной сети и работы в ней.
Принцип работы сети
Кратко опишу, как все это работает. Облачный игровой сервис ищет владельцев мощных ПК, которые готовы предоставить вычислительные ресурсы своих машин за деньги. Когда игрок подключается к облачному сервису, тот автоматически подбирает ближайший к пользователю сервер, и игра запускается именно на этой машине. В итоге задержки минимальны, геймер играет и радуется, облачный сервис и владелец сервера получают деньги, заплаченные геймером.
Как я попал во все это?
Мой опыт работы в IT — около 25 лет. Много лет я руковожу малым частным предприятием, которое специализируется на разработке навигационных систем. Игры люблю, но увлеченным геймером назвать меня вряд ли можно. В компании около двух десятков мощных машин, ресурсы которых используются далеко не полностью.
Как-то я стал искать возможность загрузить их с пользой для компании, то есть — получить дополнительный доход. Видел несколько зарубежных и отечественных сервисов, которые предлагали сдавать ресурсы своих ПК за деньги. Большая часть предложений — это, конечно, майнинг, который меня не привлекал от слова совсем. Фейков в этой сфере в свое время было 99%.
Но вот идея загрузить серверы играми понравилась, идея оказалась близкой по духу. Сначала подал заявку на бета-тестирование, ее приняли сразу, но вот приглашение на участие пришло через полтора года.
Привлекало то, что от меня требовалось лишь аппаратное обеспечение, причем на одном физическом сервере можно было запустить несколько виртуальных машин, что я и сделал в дальнейшем. Все остальное — установка специализированного ПО, настройка, обновления — сервис взял на себя. И это было отлично, поскольку свободного времени у меня не так много.
После того, как развернул систему, опробовал игру по распределенной сети со стороны игрока (подключился к своему же серверу, который в момент игры находился в нескольких километрах). Сравнил просто с игрой в облаке. Разница была ну очень ощутимой — в первом случае процесс можно было сравнить с игрой на собственном ПК.
Оборудование и сети
Я тестировал работу распределенной сети на разном оборудовании. Что касается ПК, это были рабочие станции на базе процессоров Intel от i3 до i9, с разными по объему и частоте модулями оперативной памяти. В компьютерах установлены накопители HDD и SSD с интерфейсами SATA и NVME. И, конечно, видеокарты Nvidia серий GTX 10×0 и RTX 20×0.
Для участия в программе бета-тестирования я использовал 4 сервера на базе процессоров i9-9900 с объемом оперативной памяти 32/64 ГБ, расположив на каждом по 3 виртуальные машины. Итого получилось 12 относительно мощных виртуальных машин, которые соответствовали критериям программы. Это оборудование я расположил на полке шириной в метр. Корпуса были хорошо продуваемыми, с мощными системами охлаждения и противопылевыми фильтрами.
Сетевое оборудование использовал тоже разное, пропускная способность варьировалась от 100 Мбит/с до 10 Гбит/с.
Как оказалось, большая часть домашних роутеров с пропускной способностью до 100 Мбит/с не подходят для распределенной сети. Собственно, даже обычная работа в сети с такими девайсами — проблема. А вот гигабитные роутеры с 2-х или 4-х ядерными процессорами подходят идеально.
Вот так выглядит сервер на три виртуальные машины
Нагрузка на серверы
Участником программы распределенной сети я стал еще до пандемии. Тогда компьютеры были загружены примерно на 25-40%. А вот после, когда все больше людей переходили на режим изоляции, нагрузка стала расти. Сейчас загрузка некоторых виртуальных машин доходит до 80% в сутки. Пришлось перенести тестовые и профилактические работы на утренние часы, чтобы не создавать игрокам неудобства.
С ростом популярности сервиса увеличилась и нагрузка на меня и моих коллег — ведь нужно следить за работой виртуальных и физических машин. Иногда происходят сбои, которые нужно устранять. Тем не менее, пока что мы справляемся, все идет хорошо.
Загрузку своих виртуальных машин я вижу в админ панели. Здесь показано, какие машины и насколько загружены, количество времени, которое потратил игрок, какая игра запускалась и т.п. Подробностей довольно много, так что можно залипнуть на пару часов, изучая все это.
Техническое обслуживание
Как и писал, не обходится без сложностей. Основная проблема — отсутствие автоматизированного мониторинга системы и оповещения владельцев серверов о проблемах. Надеюсь, что вскоре эти функции будут добавлены. Пока же мне приходится заглядывать в личный кабинет, отслеживая параметры работы оборудования, мониторить температуру компонентов серверов, следить за сетью и т.п. Помогает опыт работы в IT-сфере. Возможно, у кого-то с недостаточным техническим бэкграундом могут возникнуть проблемы.
Правда, большую часть сложностей удалось решить в самом начале участия в программе тестирования. Было бы неплохо составить подробный мануал по настройке, но, думаю, это вопрос времени.
Самое интересное — доходы и затраты
Понятно, что эта программа не SETi@home, основная цель владельцев ПК — заработать. Оптимальное решение для этого — мощный компьютер с несколькими виртуальными машинами. Доля накладных расходов в этом случае гораздо меньше, чем если использовать одну физическую машину. Конечно, для того, чтобы поднять виртуальную машину, а потом запустить на ней игровой сервис, нужны технические знания и опыт. Но было бы желание — научиться можно.
Энергопотребление гораздо меньше, чем в случае майнинга. Я знаю, о чем говорю, поскольку в свое время пробовал разные варианты добычи цифровых монет, хотя и не долго. Вот средние показатели энергопотребления по данным тестов:
- 1 сервер (i5 + 1070) — виртуальная машина ~80 кВт/мес.
- 1 сервер (i9 + 3*1070) — 3 виртуальные машины ~130 кВт/мес.
- 1 сервер (i9 + 2*1070ti + 1080ti) — 3 виртуальные машины ~180 кВт/мес.
В самом начале программы бета тестирования оплата за машинные ресурсы была чисто символической, $4-10 в месяц из расчета за одну виртуальную машину.
Потом оплату подняли до $50 в месяц из расчета за одну виртуалку, при условии непрерывной работы виртуальной машины. Это фиксированный платеж. Сервис вскоре обещает ввести поминутную тарификацию, тогда, по моим расчетам, получится около $56 в месяц за одну виртуалку. Неплохо, даже если учитывать, что часть дохода съедают налоги, банковские комиссии, а также счета за электроэнергию и услуги провайдеров.
По моим расчетам окупаемость оборудования, если его приобрести исключительно для игрового сервиса, составляет около трех лет. В то же время продолжительность жизни (включая физический износ и моральное устаревание) компьютерного железа — года четыре. Вывод простой — лучше всего принять участие в программе, если ПК уже есть. Положительным моментом является то, что сейчас востребованность самого сервиса выросла. Компания планирует ввести новую поминутную тарификацию, о чем я говорил выше, поэтому и срок окупаемости, вероятно, снизится уже в ближайшем будущем.
Мысли по поводу и перспективы сервиса
Думаю, что программа распределенного гейминга — отличный вариант для геймеров с мощными ПК, которые смогут окупать свои затраты на собственное оборудование. Им самим не нужны облачные игры, но если есть дорогая машина, почему бы не вернуть часть затрат или даже не окупить оборудование полностью? Кроме того, подходит вариант участия в программе распределенного гейминга и компаниям вроде моей, где есть не используемые на 100% мощности. Их можно конвертировать в деньги, что особенно важно в текущих кризисных условиях.
Распределенный гейминг — это некий облачный смартбокс, который доступен широкому кругу потребителей. Он дает возможность получать вознаграждение владельцам мощных машин, предоставляя ресурсы сторонним пользователям. Ну а геймеры, в итоге, не испытывают проблем с облачными играми, поскольку сервера располагаются от них максимум в паре десятков километров, а не сотен или даже тысяч, как это часто случается с пользователями большинства сервисов облачного гейминга. И чем масштабнее будет распределенная сеть, тем выше будет качество игры.
В ближайшем будущем облачный и распределенный гейминг будут сосуществовать, дополняя друг друга. В текущих условиях, когда нагрузка на игровые сервисы растет, это идеальный вариант. Популярность игр и игровых сервисов будет увеличиваться и в будущем, после того, как закончится пандемия, так что распределенный гейминг будет набирать обороты.