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

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

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

Слишком много турбо-пользователей — и могут возникнуть проблемы с питанием. Общая производительность страдает
Подобная стратегия поведения называется спринтерской, и она далека от оптимальной, если вести речь об общей эффективности ЦОД — в том числе и об эффективности энергопотребления. Предсказать поведение каждого пользователя нельзя, но, как оказалось, достаточно достоверно описать их поведение можно с помощью популяционной модели и метода самосогласованного поля.
Решение, предложенное исследователями из Университета Дьюка (Duke University) и Университета Ватерлоо (University of Waterloo), в общих чертах звучит просто: вместо захвата всех ресурсов (включая турборежим) любой ценой, пользователю следует запрашивать такой режим только по достижению некоего порога. Сам порог при этом определяется характером и объемами нагрузки, а также физическими характеристиками ЦОД.

Разумная стратегия поведения (внизу) сглаживает опасные пики энергопотребления в ЦОД
Такой подход не требует централизованного распределения мощностей «по запросу» и позволяет энергосистемам серверов реагировать на пользовательские системы быстрее. Если большинство пользователей руководствуется «правилом порога», вычислительные ресурсы ЦОД расходуется эффективнее, а вероятность выхода энергопотребления за допустимые пределы существенно снижается.
Как уже было сказано, для определения «порога» требуется профиль ЦОД, который можно получить на основе анализа его загруженности. Подобный мониторинг требует наличия соответствующей инфраструктуры, но сам анализ может происходить и на основе неких априорных данных, которые будут уточняться в процессе эксплуатации. Для этого предлагается использовать машинное обучение с подкреплением (reinforcement learning) или похожие методы.
Источник: