Управление энергопотреблением информационно ёмких онлайн-сервисов

В 2009-м году Вольф Дитрих Вебер, сотрудник компании Google, представил на конференции CIDR доклад на тему электропитания. Его авторы не были сбиты с толку разнообразием неточных публикаций об энергопотреблении ЦОД, а предлагаемый подход оказался действительно практичным. Авторы «Энергообеспечения компьютера размером со склад» утверждают, что энергия – самый ценный ресурс в ЦОД – должна использоваться сверх имеющейся мощности. Точно так же, как авиакомпании иногда продают больше билетов, чем реальное количество мест – ведь это их основной источник прибыли, – операторы ЦОД должны с избытком использовать энергию.

Недозагрузка ЦОД

Большинство операторов ЦОД поступают следующим образом: из критической нагрузки – максимума энергии, доступной ЦОД – вычитают потери при распределении и нагрузку системы охлаждения, затем вычитают еще как минимум 10-20%, чтобы предотвратить риск потери питания или штрафных санкций за превышение лимита – и устанавливают столько серверов, на сколько хватит этой мощности.

Но вся штука в том, что практически ни в одном ЦОД потребление даже не приближается к 100% (более того, не приближается даже к 50% – но это уже другая тема для разговора) – чрезвычайно маловероятно, что потребление всех серверов одновременно достигнет пика. При определенном уровне диверсификации нагрузок, даже если определенные сервисы на пике активности достигнут 100%, мы обычно можем воспользоваться тем, что пиковые нагрузки на разрозненных сервисах не полностью коррелируют. Понимая это, мы можем запитать большее количество серверов, чем то, на которое у нас хватило бы энергии при критической нагрузке.

Решение по аналогии

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

  1. Задержка на все рабочие нагрузки, которые не отразятся на пользователе (к примеру, административные и операционные пакетные задачи);
  2. Остановка всех некритических нагрузок или нагрузок, работающих по принципу максимальных усилий (без гарантии результата);
  3. Принудительное понижение потребление энергии серверами.

Этот последний вариант является излюбленной темой исследований, но почти никогда не реализуется на практике – ведь это соответствовало бы возможности одновременно усадить двух людей на одно место, если продано слишком много билетов на авиарейс. Это как бы работает, но не совсем безопасно, и не является лучшим способом заслужить благодарность клиентов. Иными словами, третий вариант уменьшает ресурсы, доступные всем рабочим нагрузкам, тем самым понижая общее качество услуги. Для большинства предприятий такой подход не оправдан экономически. Поэтому лучшие решения – первый и второй варианты.

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

Лучшее решение проблемы недозагрузки

Лучшее решение для такого рода рабочих нагрузок – это то, что Баррозо и Хоелзле называют «Сети ЦОД с пропорциональным энергопотреблением». По сути, цель энергетически пропорциональных вычислений в том, чтобы сервер, загруженный на 10%, потреблял 10% энергии, необходимой при его 100% загрузке. Очевидно, существует определенная постоянная составляющая, так что этой цели никогда не достичь в полной мере, но чем ближе мы к ней приблизимся – тем меньше будет стоимость рабочих нагрузок информационно ёмких онлайн-сервисов (OLDI) и их влияния на окружающую среду.

Хорошая новость состоит в том, что есть определенные сдвиги в лучшую сторону. Когда идея энергетически пропорциональных вычислений была впервые представлена на рассмотрение, многие серверы в состоянии простоя потребляли 80% энергии, требующейся при полной загрузке. На сегодня хороший сервер во время простоя потребляет всего 45%. Нам еще очень далеко до желаемого, но все-таки делаются заметные улучшения. К примеру, центральные процессоры на сегодняшний день показывают довольно высокий результат по этой характеристике; основная «тяжесть вины» лежит на остальных компонентах сервера. Память имеет хорошие возможности, при этом производители мобильной электроники показывают, каких высот можно достичь в этой области. По мнению Джеймса Гамильтона, одним из важных источников дальнейшего прогресса будет оставаться «воровство» идей у производителей мобильных телефонов и применение их в серверном оборудовании.

В работе «Управление энергопотреблением при обработке большого потока данных» исследовательская группа Google и Мичиганского университета занимается проблемой энергетической пропорциональности OLDI, концентрируясь на поиске, рекламе и машинном переводе, предоставляемых компанией Google.

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

Из-за размера кэша данных, необходима память всех серверов, поэтому, когда объем рабочей нагрузки падает, каждый сервер становится все менее загруженным, но не может полностью достичь состояния ожидания. Они должны оставаться онлайн, быть доступными для выполнения следующего запроса в рамках требуемой задержки. В упоминаемой работе делаются следующие выводы:

  • Активные режимы CPU с низким потреблением энергии – это лучший отдельно взятый механизм управления энергией, но сами по себе они недостаточны для достижения энергетической пропорциональности;
  • Существует острая необходимость улучшения режимов низкого потребления при простое для общего кэша и внутрипроцессорных контроллеров памяти;
  • Существуют значительные возможности экономии потребления системной памяти с помощью режимов пониженного питания (на сегодняшний день это хорошо реализовано в мобильных системах, а значит, такие технологии существуют);
  • Даже при условии пакетной обработки запросов, полные системные режимы низкого питания при простое не дают приемлемого соотношения между увеличением задержки и экономией энергии;
  • Самая большая надежда для энергетической пропорциональности при условии сохранения приемлемой задержки кроется в скоординированных активных общесистемных режимах пониженного питания.

Масштабирование

Подводя итог по рабочим нагрузкам OLDI такого типа, как описаны в этой работе, можно сказать, что цели по небольшой величине задержки достигаются путем распределения большего кэша данных между операционными серверами. Спускаясь от пиковых значений до минимальных, эти серверы становятся менее загруженными, но никогда не достигают простоя, так что не могут быть полностью переключены в системный режим пониженного питания.

Джеймс Гамильтон (сотрудник Amazon Web Services) предлагает рассматривать эти рабочие нагрузки как двухмерную сетку, каждый ряд которой – полная копия кэша, распределенная между сотнями серверов. Один ряд способен обслужить рабочую нагрузку и полностью удовлетворить условия задержки для данного приложения, но в рамках одного ряда невозможно масштабирование. Чтобы масштабироваться до рабочей нагрузки, которая не может быть обслужена одним рядом, нужно добавлять новые ряды.

Когда в систему поступает поисковый запрос, он отправляется к сотням систем – но только в рамках одного ряда. Рассматривая рабочую нагрузку вышеописанным образом, утверждает автор, мы получаем определенную возможность сделать OLDI масштабируемыми, если речь идет о размерах со склад. Когда нагрузка приближается к пику, добавляется больше рядов. Когда же нагрузка падает до минимума, используется меньше рядов, в то время как неиспользуемые ряды могут быть задействованы для обработки других рабочих нагрузок.

Эта техника масштабирования на уровне рядов позволяет достичь почти полной пропорциональности на уровне всего ЦОД. Правда, здесь имеются две проблемы:

  1. рабочая нагрузка не может быть масштабирована ниже уровня ряда – причина описана в упомянутой работе;
  2. Если рабочая нагрузка очень динамична и быстро перепрыгивает обратно к пику, большее число рядов должно оставаться в режиме готовности – и это еще больше уменьшает энергетическую пропорциональность предлагаемой техники.

Если рабочая нагрузка намного выше, чем один ряд, и прогнозируемым образом изменяется от минимумов до пиков, эта техника масштабирования по рядам дает очень хорошие результаты. Но она не срабатывает, если рабочая нагрузка резко изменяется или, если же требуется масштабирование на уровне меньше одного ряда.

Прикрепленные документы

  1. Сети ЦОД с пропорциональным энергопотреблением (756,6 кБ) Загрузок: 3381
  2. Управление энергопотреблением при обработке большого потока данных (489,2 кБ) Загрузок: 5563
Теги:
#Электроснабжение (ИБП, ДГУ)

Оставить комментарий

Ваше имя:
E-mail:
(Не обязательно)
Текст комментария:
Введите код с картинки:  

Дополнительные материалы

ПРОФЕССИОНАЛЬНОЕ обучение проектированию систем вентиляции и кондиционирования

Можно ли зимой включать кондиционер на обогрев

Вытяжка в стену: как подобрать и правильно сделать своими руками

3 способа сделать увлажнитель воздуха для квартиры и дома своими руками

Всё самое важное про турбодефлекторы: что такое, принцип работы, внешний вид, как подобрать

Вентиляция в квартире: самое полное руководство простым языком

Встраиваемая вытяжка на кухне: важные нюансы по устройству и подключению

Вытяжка в дачном туалете: как сделать правильно своими руками