Вы здесь

Управление энергопотреблением системы на кристалле "Эльбрус-2С+" в состоянии простоя процессорного ядра

Описана система программного управления энергопотреблением, разработанная для двухъядерного микропроцессора «Эльбрус-2С+» в составе ВК «Монокуб». Управление выполняется средствами ОС «Эльбрус», основанной на ядре Linux-2.6.33. Приведены результаты измерений и некоторые особенности реализации.

Существенное значение для серверных платформ имеет проблема энергопотребления в состоянии простоя [1], вызванного временным отсутствием подлежащих выполнению задач. В системах на базе операционной системы (ОС) Linux при этом вызывается служебная функция, которая в наиболее простом случае представляет собой цикл, ожидающий прихода прерывания или установки специального флага, приводящего к перепланированию задач, т.е. конвейер команд работает, и подается питание. Таким образом, при простое часть энергии от источника питания тратится впустую. Для уменьшения энергопотребления в этом случае было предложено использовать состояния сна процессора, если они поддерживаются аппаратурой [2]. В принципе, могут вводиться несколько состояний С1–Сn, которые различаются глубиной сна – количеством отключаемых физических элементов и временем возврата в активное состояние C0.

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

Поставленная проблема решалась применительно к вычислительному комплексу (ВК) «Монокуб», построенному на базе микропроцессора (системы на кристалле) «Эльбрус-2С+», где интегрируются универсальная часть, включающая два процессорных ядра и северный мост, и кластер из четырех цифровых сигнальных процессоров (DSP). ВК «Монокуб» работает под управлением ОС «Эльбрус» на базе ядра Linux-2.6.33 и может быть использован для построения мощных серверных платформ.

В микропроцессор «Эльбрус-2С+» введены следующие механизмы аппаратной поддержки управления энергопотреблением, выполняемого средствами ОС:

  • система команд дает возможность реализовать состояние сна C1, основанное на отключении конвейера;
  • в составе северного моста имеются контроллеры, позволяющие обеспечить генерацию динамических прерываний по таймеру.

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

В состав программных средств, на основе которых решалась поставленная задача, входили как стандартные архитектурно-независимые модули Linux [3, 4], так и реализованные автором архитектурно-зависимые модули.

Важным фактором при проведении работы было наличие встроенного программно-недоступного алгоритма управления энергопотреблением, физически реализованного в микропроцессоре «Эльбрус-2С+». В связи с этим, помимо решения основной проблемы, в работе проведена сравнительная оценка эффективности встроенного алгоритма.

Подробнее... Загрузить файл 

Содержание:

Введение

1. Основной цикл управления энергопотреблением

Функциональное описание

Аппаратная поддержка состояний сна

Динамические прерывания от таймера

2. Экспериментальные результаты

Моделирование состояния сна с отключенным синхроимпульсом

Измерения времени

Заключение

Литература

Е.М. Кравцунов
С.В. Семенихин