Именно поэтому Amazon Web Services предоставляет клиентам льготные тарифы, если они заранее арендуют у Amazon серверы ("зарезервированные экземпляры"). Клиентам гарантирован доступ на следующий год, поскольку они уже заплатили за сервер, а Amazon получает разницу между стоимостью и ценой, взимаемой с клиента (самый дешевый зарезервированный экземпляр Linux GPU в AWS, эквивалентный PS4, стоит более 2000 долларов за один год). Если клиент хочет получить доступ к серверам, когда они ему нужны ("точечные экземпляры"), он может обнаружить, что их нет в наличии, или что есть только GPU низшего класса. Последний момент является ключевым: мы не решим проблему нехватки вычислительной техники, если единственный способ сделать удаленные серверы доступными - это использовать, а не заменять старые.
Есть еще один способ улучшить модель затрат: консолидировать серверы в меньшем количестве мест. Вместо того чтобы содержать центры потокового вещания облачных игр в Огайо, Вашингтоне, Иллинойсе и Нью-Йорке, компания может построить один или два. По мере увеличения количества и разнообразия клиентов спрос стабилизируется, что приводит к повышению среднего коэффициента использования. Конечно, это также означает увеличение расстояния между удаленными GPU и конечным пользователем, что приводит к увеличению задержек. И это не решает проблему расстояния между пользователями.
Перенос вычислительных ресурсов в облако влечет за собой множество новых расходов. Например, постоянно включенные устройства, работающие в центрах обработки данных, создают значительное количество тепла - гораздо большее, чем суммарное тепло серверов, стоящих на комоде в гостиной семьи. Обслуживание, защита и управление этим оборудованием требуют больших затрат. Переход от потоковой передачи ограниченных битов данных к контенту с высоким разрешением и высокой частотой кадров также означает значительное увеличение затрат на пропускную способность. Да, Netflix и другие компании справляются с этой задачей, но они обычно передают менее 30 кадров видео в секунду (а не 60-120) с низким разрешением (например, 1K или 2K, а не 4K или 8K, как было обещано в Google Stadia), не в режиме реального времени и с близлежащих серверов, которые хранят файлы, а не выполняют интенсивные вычислительные операции.
В обозримом будущем, как мне кажется, будет действовать так называемый "закон Суини" - улучшения в локальных вычислениях будут опережать улучшения в пропускной способности, задержках и надежности сети. Хотя многие считают, что закон Мура, который был введен в 1965 году и гласит, что количество транзисторов в плотной интегральной схеме удваивается примерно каждые два года, сейчас замедляется, вычислительная мощность CPU и GPU продолжает расти быстрыми темпами. Кроме того, сегодня потребители часто заменяют свои основные вычислительные устройства, что приводит к огромным улучшениям в вычислительных системах конечных пользователей каждые два-три года.
Мечты о децентрализованных вычислениях
Неутолимая потребность в увеличении вычислительной мощности - в идеале, расположенной как можно ближе к пользователю, но, в крайнем случае, на близлежащих промышленных серверных фермах - неизбежно приводит к третьему варианту: децентрализованным вычислениям. С таким количеством мощных и часто неактивных устройств в домах и руках потребителей, рядом с другими домами и руками, кажется неизбежным, что мы разработаем системы для совместного использования их большей частью незадействованной вычислительной мощности.
По крайней мере, в культурном плане идея коллективно используемой, но находящейся в частной собственности инфраструктуры уже хорошо понятна. Каждый, кто устанавливает у себя дома солнечные батареи, может продавать излишки энергии в местную сеть (и, косвенно, своему соседу). Элон Маск провозглашает будущее, в котором ваша Tesla будет зарабатывать на аренде как самоуправляемый автомобиль, когда вы не используете ее сами - это лучше, чем просто стоять в гараже 99 % срока службы.
Уже в 1990-х годах появились программы для распределенных вычислений с использованием обычного потребительского оборудования. Один из самых известных примеров - SETI@HOME Калифорнийского университета в Беркли, где потребители добровольно использовали свои домашние компьютеры для поиска инопланетной жизни. Суини рассказывал, что одним из пунктов его "списка дел" для шутера от первого лица Unreal Tournament 1, который вышел в 1998 году, была "возможность игровых серверов общаться друг с другом, чтобы мы могли иметь неограниченное количество игроков в одной игровой сессии". Однако спустя почти 20 лет Суини признался, что эта цель "похоже, все еще находится в списке наших желаний".5