Труды Карельского научного центра РАН №8. 2017. С. 76-85 DOI: 10.17076/mat663
УДК 004.01:006.72 (470.22)
СТОХАСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ ВЫЧИСЛИТЕЛЬНОГО КЛАСТЕРА С ГИСТЕРЕЗИСНЫМ УПРАВЛЕНИЕМ СКОРОСТЬЮ ОБСЛУЖИВАНИЯ
А. С. Румянцев1, К. А. Калинина1, Т. Е. Морозова2
1 Институт прикладных математических исследований Карельского научного центра РАН, Петрозаводск
2 Петрозаводский государственный университет
Предлагается стохастическая модель многосерверной системы массового обслуживания с одновременным занятием и одновременным освобождением заявкой случайного числа серверов и пороговым (гистерезисным) управлением скоростью обслуживающих устройств. Для предложенной модели определены характеристики качества обслуживания и производительности системы. Представлены результаты численного эксперимента, иллюстрирующего зависимость характеристик модели от порога переключения. Предложенная модель позволяет оценить возможности экономии энергии на вычислительном кластере при контроле качества обслуживания без вмешательства в работу реальной системы.
Ключевые слова: стохастическое моделирование; гистерезисное управление; вычислительный кластер; энергоэффективность.
A. S. Rumyantsev, K. A. Kalinina, T. E. Morozova. STOCHASTIC MODELING OF A HIGH-PERFORMANCE CLUSTER WITH HYSTERETIC CONTROL OF SERVICE RATE
A stochastic model of a multiserver queueing system with simultaneous service of a customer by a random number of servers and threshold-based (hysteretic) control of the service rate is presented. The performance and quality-of-service measures of the model are defined. Numerical results of experiments studying the dependence of performance/energy measures on the service rate switching threshold are presented. The model allows studying the energy efficiency of a high-performance cluster under quality-of-service and performance constraints.
Keywords: stochastic modeling; hysteretic control; high-performance computing cluster; energy efficiency.
Введение
Высокопроизводительные вычислительные кластеры широко применяются для ускорения расчетов в науке и промышленности. Высокое энергопотребление кластеров и нерав-
номерность нагрузки дают потенциал для применения методов экономии энергии. Общие для всех многосерверных систем механизмы управления энергопотреблением доступны для непосредственного применения на уровне системного и пользовательского про-
граммного обеспечения вычислительного кластера. Среди таких механизмов наибольший потенциал экономии обеспечивают состояния пониженного энергопотребления ACPI (сон, глубокий сон, выключение), однако применение данных механизмов негативно отражается на качестве обслуживания. Это связано с тем, что уход системы в состояние пониженного энергопотребления и возвращение в рабочий режим требуют значительных временных затрат. Поэтому оптимизация управления механизмами ACPI на многосерверных системах, как правило, выполняется относительно компромиссного критерия, включающего качество обслуживания и энергопотребление, в аддитивном либо мультипликативном виде [7, 8, 10].
Важным отличием высокопроизводительного кластера от классической многосерверной системы (например, серверной фермы) является возможность запуска пользовательской программы одновременно на всех вычислительных узлах (серверах), что может служить препятствием для выключения части серверов с помощью ACPI.
Один из базовых механизмов экономии, оказывающих наименьшее влияние на качество обслуживания, состоит в управлении скоростью серверов вычислительного кластера (например, с помощью подсистемы cpufreq операционных систем Linux). Как правило, подобные механизмы основаны на переключении состояний методом порогового (в частности, гистерезисного) управления, например, с использованием специальных приложений (таких, как регулятор ondemand из подсистемы cpufreq ядра операционной системы Linux). Такое переключение происходит практически мгновенно, при этом снижение частоты и питающего напряжения оказывает существенное влияние на энергопотребление системы [9]. Кроме того, в отличие от механизма ACPI управление скоростью обслуживания оставляет доступными все серверы, не препятствуя запуску на них пользовательских программ.
На практике подбор параметров управления зачастую производится экспериментально, поскольку аналитические результаты доступны лишь для упрощенных моделей, например, для односерверных систем [1, 13]. При этом важно не только учитывать максимально возможную экономию, но и контролировать качество обслуживания. Подчеркнем, что поток заявок на обслуживание в системе имеет случайный характер [6]. Таким образом, возникает задача разработки стохастической модели вычислительного кластера с управлени-
ем скоростью обслуживания для подбора оптимальных параметров конфигурации.
Стохастические модели многосерверных систем с одновременным занятием и одновременным освобождением заявкой случайного числа серверов рассматривались в ряде работ. Так, в работе [4] рассмотрена двухсер-верная система с одновременным обслуживанием серверами одной заявки либо обслуживанием по отдельности двух последовательных заявок. В работе [12] представлена модель многосерверной системы, в которой заявке требуется случайное число процессоров на одно и то же случайное время, и с помощью матрично-аналитического метода проведен численный анализ основных характеристик системы. В работе [2] для двух серверов найдено стационарное распределение состояний системы. В работе [17] предложена модель процесса нагрузки вычислительного кластера, основанная на модификации рекурсии Кифе-ра - Вольфовица. В работе [3] доказан критерий стационарности двухсерверной системы, а в работе [14] матрично-аналитическим методом доказан критерий стационарности модели вычислительного кластера с любым числом серверов, входным потоком марковского типа и экспоненциальным распределением времени обслуживания. В то же время общим базовым предположением указанных моделей является постоянная скорость обслуживания на серверах системы.
В данной работе предлагается новая стохастическая модель вычислительного кластера с управлением скоростью серверов гистерезис-ного типа, обобщающая ранее предложенную модель процесса нагрузки [17].
Структура работы следующая. В первом разделе предложена стохастическая модель системы массового обслуживания с гистере-зисным управлением скоростью обслуживающих устройств, предложены рекуррентные соотношения для расчета динамики состояния системы, предложен способ построения вектора нагрузки в моменты наступления базовых событий. Во втором разделе представлены результаты численного эксперимента по анализу характеристик системы в зависимости от параметров управления.
Стохастическая модель вычислительного кластера с управлением скоростью обслуживания
Рассматривается система обслуживания, имеющая с серверов, которые одновременно могут работать на одной из двух скоростей, каждый при Этом выполняя Т\ или Т2 Г\)
единиц работы за единицу времени. На вход системы поступает поток заявок, пусть tj есть время поступления заявки с номером j ^ 1 (где ti = 0). Заявка j обладает двумя характеристиками: объемом работы Sj £ R+ и требуемым числом серверов Nj £ {1,...,c}, которые занимаются и освобождаются заявкой одновременно. Если свободных серверов для обслуживания заявки недостаточно либо в системе ожидают обслуживания другие заявки, то пришедшая заявка поступает в общую очередь. Поступление ожидающих заявок на обслуживание происходит в порядке прихода в систему (дисциплина обслуживания First Come First Served, FCFS). Поступившая на обслуживание заявка проводит на серверах время до исчерпания объема работы Sj, при этом в процессе ее обслуживания скорость серверов может меняться. Это означает, что реальное время обслуживания заявки j заранее неизвестно, но, очевидно, лежит в интервале
[Sj/T2,Sj/ri].
Предполагается, что в системе реализован двухпороговый механизм управления скоростью серверов. Все серверы системы мгновенно переключаются на высокую скорость Г2, если сумма оставшихся объемов работ заявок, находящихся в системе, включая вновь пришедшую заявку (суммарная работа), превышает наперед заданный порог k2. Если же суммарная работа в системе опустится ниже порога ki ^ ^2, то все серверы системы мгновенно снижают скорость до ri. Отметим, что включение высокой скорости r2 происходит лишь в моменты прихода заявок.
Управление скоростью обслуживающих устройств может оказывать влияние не только на энергопотребление системы, но и на метрики качества обслуживания, такие как среднее число заявок в системе/очереди, среднее время ожидания/пребывания заявки. Для нахождения оптимальной конфигурации системы необходимо определить как целевую функцию (связанную с энергопотреблением системы), так и ограничения, накладываемые на качество обслуживания. Целью дальнейшего анализа является построение математической модели системы и ее верификация методом имитационного моделирования.
Основные рекуррентные соотношения
Для дальнейшего анализа необходимо ввести ряд обозначений. Прежде всего заметим, что в системе возможны три типа базовых событий : приход заявки в систему, уход заявки из системы, снижение суммарной работы до уровня ki. Важно подчеркнуть, что, в отличие от классической многопроцессорной си-
стемы без управления скоростью обслуживания, в момент ухода заявки может произойти как уменьшение, так и увеличение числа заявок, находящихся на обслуживании (что связано с дополнительным параметром заявки — числом требуемых серверов), причем начать обслуживание могут несколько заявок одновременно. Таким образом, для исследования динамики системы важны все три указанных типа базовых событий. В то же время превышение суммарной работой уровня к.2 возможно лишь в момент прихода очередной заявки, поэтому множество моментов переключения на высокую скорость есть подмножество моментов прихода.
Обозначим Т — г-й момент наступления базового события в системе. В следующих обозначениях нижний индекс г означает, что объект рассматривается в момент времени Тг. Обозначим в момент времени Тг
• Мг — упорядоченное (в порядке поступления) множество номеров заявок, находящихся в системе;
• Вг(]), ^ е Мг — оставшаяся (незавершенная) работа заявки ], находящейся в системе;
• Яг — скорость серверов.
Будем называть {Мг, {Вг(]),] е Мг],Яг] состоянием системы в момент времени Тг. Следующие (необходимые для анализа) величины являются производными величинами от состояния системы в момент времени Тг:
• Мг = шах{^1 < ■ ■ ■ < эк е Мг :
^к=1 ^ с} С Мг — множество номеров заявок, находящихся на обслуживании;
• = ^eм¿ Вг{э) — суммарная работа;
• V = |Мг| — число заявок в системе;
• Яг = |Мг\Мг| — число заявок в очереди.
Необходимо подчеркнуть, что определение множества Мг номеров заявок, находящихся на обслуживании, в общем случае зависит от дисциплины обслуживания. Изменяя правило включения заявок из Мг в множество Мг, можно изменять дисциплину обслуживания системы без изменения модели.
Определим базис стохастической рекурсии. Будем полагать, что первым событием, наступающим в момент времени Т = ¿1 = 0, явля-
ется приход первой заявки. Тогда
образом:
Mi = {1}, Bi(1) = Si,
Rl = riI{Si < k2} + Г2/{Si > k2}
Mi = {1}, Wi = Si, Vi = 1, Qi = 0,
где I{■} есть индикатор события.
Изменение состояния системы при переходе от события i к событию i + 1 определим с помощью рекуррентных соотношений. Момент времени T+i наступления события с номером i + 1 можно определить как момент наступления ближайшего из трех событий: ближайшего прихода заявки, ближайшего потенциального ухода заявки и ближайшего потенциального момента включения пониженной скорости (полагаемого равным бесконечности, если суммарная работа ниже уровня ki) соответственно, т. е.
Ti+i = minj ÍA(Ti)+i,T¿ + min ^^,
I jeMí Ri
j • Bi(j)
di+i = arg min —-—. jeMí Ri
Ti +
Wi - ki
I {Wi > ki}Ri
(1)
Если же индикатор соответствующего события (приход/уход заявки) равен 0, то соответствующее одноэлементное множество считаем пустым.
Следующее соотношение определяет величину незавершенной работы заявки а, находящейся в системе в момент Т^+х:
Я а) — / ) - т^, а е М. п м+1 (4)
Яг+1(а) — 1 , а е М.+ДМ.. (4)
где А(£) — а, ^ ^ £ < , а ^ 1 есть число приходов в [0,£]. Можно заметить, что А(Т.) — а, если Т. — ^ для некоторого а. Подчеркнем, что указанные моменты наступления событий являются потенциальными, поскольку скорость обслуживания до этих моментов может измениться, тем самым изменив время наступления событий. Обозначим т. — Т.+х-Т. интервал времени между событиями, г ^ 1.
Для удобства введем следующие индикаторы: — индикатор того, что момент Т. есть приход заявки, т. е. — /{Т. — ¿А(т,)}; — индикатор ухода заявки в момент Т. (если минимум в (1) реализуется на втором элементе) и — индикатор включения пониженной скорости (из-за снижения суммарной работы до уровня кх). Отметим, что /А + + — 1. Можно считать, что указанные индикаторы являются метками, связанными с моментами событий Т , что позволяет единообразно определить изменения состояния системы в моменты наступления базовых событий.
Множество номеров заявок в системе М.+х в момент Т+х наступления г + 1-го события может измениться в связи с уходом либо приходом очередной заявки следующим образом:
М.+1 —М и {А(Т.+х) : /А+1 — 1}\
\К+х : /¿+1 — 1}, (2)
где ^+1 есть номер потенциально уходящей заявки в момент Т.+1, определяемый следующим
Таким образом, для заявки а, находившейся на обслуживании в момент Т., работа Я.(а) уменьшается к моменту Т +1 пропорционально скорости Л.. Для заявок, ожидающих в очереди, как и для вновь пришедшей заявки (если был приход заявки), работа равна первоначальной (зафиксированной в момент прихода заявки). Уходящая в момент Т +1 заявка исключается из дальнейшего рассмотрения. Заметим, что
М.+1 — (М. +1\М) и (М. п М.+1),
т. е. Я.+1(а) в (4) полностью определен для всех а е М.+1.
Скорость обслуживания на всех процессорах системы будет определяться следующим соотношением:
Л+1 —Т1/{^+1 < к1} + Т2/{^+1 > к2}
+ Л./{к1 <^+1 < к2}. (5)
Напомним, что величина ^+1 может быть определена через состояние системы в момент Т. с использованием рекурсии (4). Отметим, что в частном случае к1 — к2 скорость обслуживания становится производной величиной от состояния системы, поскольку зависит лишь от текущего состояния системы (не от предыдущего значения скорости).
Характеристики системы
Определим некоторые характеристики качества обслуживания предложенной модели. Для заявки а момент поступления на обслуживание можно определить следующим образом:
7 — ш1п{Т. ^ ^ : а еМ.}. (6)
Подчеркнем, что момент совпадает либо с моментом прихода 7 заявки а, либо с моментом ухода заявки, находившейся в системе в момент , уход которой освободит ожидаемые заявкой а ресурсы.
При этом время ухода самой заявки j можно определить как
:= {Тг : j = й,1? = 1}. (7)
С помощью (6), (7) можно определить такие важные характеристики качества обслуживания заявки j ^ 1, как:
С"
• — tj — время ожидания заявки;
• — ¿С — время обслуживания заявки;
• — tj — время отклика системы;
1? — 1-
Ъ._11
1?-1?
шах
замедление заявки;
1?— 1 тах(1?—1? ,То)
1
шах
1?- 1
N тах(1? —1? ,То)
1
усеченное свер-
^г = с — ^
N0
г ^ 1.
(8
свободна, но не выполняет полезной работы. Если же очередь пуста, то уровень загрузки является отношением числа занятых к общему числу серверов. Таким образом, уровень загрузки в момент Тг равен
с — {<3г = 0}
г ^ 1.
(10)
усеченное сверху
замедление заявки (для фиксированного То > 0);
ху нормированное замедление заявки.
Отметим, что замедление заявки (отношение общего времени пребывания заявки в системе ко времени ее обслуживания) является характеристикой, специфичной для вычислительных кластеров [5]. Усеченное сверху, как и нормированное по количеству процессоров замедление являются вариантами характеристики замедления заявки, исключающими выбросы исходной характеристики при малых значениях времени обслуживания заявки [5, 16].
Определим теперь характеристики производительности системы. Важной характеристикой, связанной с дисциплиной обслуживания, является потерянная работа. При непустой очереди данная характеристика отражает простой серверов, вызванный их нехваткой для заявки, ожидающей в начале очереди (когда требуемое число серверов превышает число свободных). Определим число свободных серверов в момент Тг:
Наконец, рассмотрим энергопотребление системы. Если в момент Тг в системе находится только одна заявка и эта заявка покидает систему, то момент Тг является моментом опустошения системы. Обозначим I0 = I{I? = 1,^г = 0} индикатор опустошения системы в момент Тг. Очевидно, тогда в момент Тг+1 возможен только приход заявки, а интервал [Тг,Тг+1) является интервалом простоя системы. В ином случае (т. е. при V > 0) система потратит за время тг энергию, соответствующую скорости Ег. Обозначим е(Е) = е11 {Е = Г1} + е2!{Е = Г2} функцию стоимости активного режима, где е0- есть стоимость единицы времени работы на скорости , j = 1, 2. Тогда энергопотребление за интервал [Тг, Тг+1) будет равно
Е := тг [ео!0 + е(Е)(1 — 10)] , (11)
где ео есть стоимость единицы времени работы в режиме простоя.
Предложенные рекуррентные соотношения (2)—(5) для вычисления последовательных состояний системы позволяют формулировать задачи оптимизации с ограничениями как на производительность системы, так и на качество обслуживания заявок. В качестве примера приведем постановку задачи минимизации среднего энергопотребления при выполнении фиксированного числа заявок N0, с учетом допустимого увеличения средней суммарной работы (деградации качества обслуживания). Обозначим среднее энергопотребление в системе с одним порогом переключения = ^2 = к
(к)
Е(к) = ^ г=1
Ег
Т
Тогда потерянная работа за интервал [Тг, Тг+1) равна
^тгЯг!{<?г > 0}, г ^ 1. (9)
Таким образом, потерянная работа является суммарной работой, которая могла быть выполнена на простаивающих серверах, при условии, что очередь системы непуста.
Еще одна важная характеристика производительности — уровень загрузки системы. Будем считать, что уровень загрузки равен 1, если в системе есть очередь. При этом простаивающая мощность, если она имеется, хотя и
N (к)
(12)
где N (к) ^ есть число базовых событий, наступивших в системе при обслуживании N0 заявок. При этом Е(0) есть среднее энергопотребление в системе без управления, работающей на высокой скорости Г2. Обозначим среднюю суммарную работу в моменты прихода заявок
W (к) =
Е
N (к)
г=1
Wг
N (к)
(13)
Тогда задача минимизации энергопотребления при ограничении на качество обслуживания
80
может быть сформулирована следующим образом:
E(k) ^ min,
fc^o
W(k) < (1 + e)W(0),
где e ^ 0 — неотрицательная константа, характеризующая деградацию качества обслуживания. Во втором разделе данной статьи представлены результаты численного эксперимента по решению данной задачи оптимизации.
Вектор нагрузки на серверы
Важной характеристикой системы является нагрузка (незавершенная работа на серверах) в момент Tj. Для исследования процесса нагрузки многопроцессорной системы применяется вектор Кифера - Вольфовица [11]. Процесс нагрузки представляет собой оставшуюся работу на серверах в момент непосредственно перед приходом очередной заявки. Отметим, что диспетчеризация заявки на серверы при построении вектора происходит сразу после прихода, поскольку заявка направляется на наименее занятый сервер. Как правило, серверы являются идентичными, и порядок серверов внутри вектора соответствует возрастанию оставшейся работы. Модификация рекурсии Кифера - Вольфовица для построения процесса нагрузки вычислительного кластера в моменты прихода заявок предложена в работе [17]. В данном разделе предложен метод построения вектора нагрузки на основе состояния системы в каждый момент времени Tj.
Рассмотрим множество неотрицательных упорядоченных векторов длины с:
Z = {x е R+ : < ••• < жс}.
Определим отображение а : Z х{1,...,с}х R+ ^ Z, осуществляющее планирование заявки (диспетчеризацию заявки на серверы). Отметим, что это отображение зависит от дисциплины обслуживания. Пусть W е Z — вектор нагрузки (незавершенной работы) на серверах. Предположим, что необходимо запланировать обслуживание заявки с объемом работы b е R+ и требуемым числом серверов n е {1,..., с}. В предположениях модели (уход на обслуживание в порядке поступления, дисциплина FCFS)
а := a[W, n, b] =
= R(W„ + b,..., Wra + b, Wra+i,..., Wc), (14)
n
где отображение R(-) упорядочивает компоненты вектора в порядке возрастания. Таким
образом, планирование заявки с объемом работы Ь и требуемым числом серверов п на обслуживание осуществляется на п наименее занятых серверов в системе, при этом заявке необходимо ожидать освобождения наиболее занятого из них (ожидать выполнения работы объема
Для получения вектора нагрузки в момент Т необходимо последовательно применить планирование ко всем заявкам | €
Мг, находящимся в системе. Результатом будет вектор нагрузки Иг(|Мг|), получаемый с помощью следующего соотношения:
ж (к) = а[Ж(к - 1),ВД* ], (15)
где к = 1,..., |Мг|, а базис индукции представлен нулевым вектором И (0) := 0 € 2. Иными словами, (15) означает, что планирование заявки л € Мг осуществляется с учетом текущей нагрузки в результате диспетчеризации заявок ^1,..., л^ь а также оставшегося времени обслуживания ^(л) и числа требуемых серверов . При этом заявке л необходимо дождаться выполнения величины работы [Иг(к — 1)]м,- (т. е. -й компоненты вектора нагрузки Иг(к — 1)) наиболее занятого из требующихся ей серверов.
Важно отметить связь предложенной модели с ранее исследованной моделью вычислительного кластера без управления скоростью обслуживания. В работе [15] для исследования критерия стационарности модели вычислительного кластера применялся матрично-аналитический метод. При этом состояние системы представляло собой двухкомпонентный марковский процесс {X(¿),У(¿),£ ^ 0}, где X(¿) есть число заявок в системе в момент ¿, а У(¿) есть число серверов, которые требуются шт{Х(¿),с} заявкам с наименьшими номерами среди находящихся в системе. Для данного процесса был предложен критерий стационарности в следующем виде:
С 1 С 8
ЛЕ5 Е т Ер? Е р* < l, (16)
г=1 ,7=г *=с-^'+1
где
р* = Р{Ж = ¿}, í = 1,..., с,
а р? есть л-я компонента ¿-кратной дискретной свертки вектора р := (р1,... , рС) с самим собой, т. е. р? = Р(ТУ1 + ■ ■ ■ + N = л), где
N есть независимые копии с.в. N. (Здесь 5 — типичный объем работы заявки, а N — типичное число требуемых серверов.) Для получения критерия стационарности исследовалась интенсивность перехода процесса между состояниями в моменты прихода и ухода заявок.
Отметим, что предложенная модель позволяет получить значения процесса {X(¿),Г(¿)} в указанные базовые моменты Тг. Действительно, предположим, что к1 = к2 = 0 (или к1 = к2 = те), что означает, что система всегда работает на скорости г2 (или г1). Тогда
X (Тг) = |Мг|,
Г (Тг ) = (% , . . . , ),
, . . . , ,7тт(с,
Это означает, что для исследования стационарности модели, работающей на постоянной скорости, можно применять ранее полученный критерий стационарности (16) (для пуассонов-ского входного потока и экспоненциального времени обслуживания).
Таким образом, предложенная модель позволяет исследовать метрики качества обслуживания вычислительного кластера с управлением скоростью обслуживающих устройств для определения оптимальной конфигурации, минимизирующей энергопотребление при контроле за качеством обслуживания.
Заметим, что для минимизации используемой памяти при проведении численных экспериментов состояние системы можно хранить в виде следующего множества:
{Тг; 1А,1?,!?; Е; (17)
{А(Тг+1) : !г+1 = 1} и {¿г+1 : = 1}}, г ^ 1.
Таким образом, хранится только время наступления события, тип события и, при необходимости, номер приходящей/уходящей заявки. Такая запись позволяет по индукции восстановить состояние системы в каждый момент времени Т .
ЧислЕнный эксперимент
Для иллюстрации возможности анализа характеристик системы с помощью разработанной модели проведены численные эксперименты. В экспериментах рассматривается система, состоящая из с =10 серверов, на вход которой поступает пуассоновский поток заявок интенсивности Л = 1. Размер работы распределен экспоненциально с Е£ = 1. Количество серверов, требующихся заявке, имеет равномерное распределение р1 = 1/с, t = 1, ...,с. Высокая и низкая скорость обслуживания выбирались следующим образом: в первом эксперименте критерий стационарности (16) был выполнен как для системы, работающей только на скорости п, так и для системы, работающей на скорости Г2. Во втором эксперименте критерий (16) был нарушен для системы, работающей на скорости п. Таким образом, использовались следующие пары значений: для
первого эксперимента ri = 0.9, r2 = 1.5; для второго эксперимента ri = 0.6, r2 = 1.5. В каждом эксперименте фиксировалось значение ki = k2 = k £ {1,..., 50}, затем генерировалось 100 траекторий процесса обслуживания, в каждой траектории проходило обслуживание 20 000 заявок. Стоимость энергопотребления в режиме простоя, на низкой и высокой скорости была выбрана следующим образом: e0 = 1,ei = 2,e2 = 4. Полученное в результате имитационного моделирования значение среднего энергопотребления (12) и средней суммарной работы (13) усреднялось по всем траекториям для данного k. Расчеты производились на кластере ЦКП КарНЦ РАН «Центр высокопроизводительной обработки данных». Результаты экспериментов представлены графически в форме зависимости Е(k) и W(k) от k = 1,..., 50. Приведем для сравнения базовые значения энергопотребления и качества обслуживания в системе без управления, работающей на скорости r2 (напомним, при этом k = 0): E(0) = 2.822888, W(0) = 1.636116; и на скорости ri (k = те): E(те) = 1.892117, W(те) = 6.528911.
На рисунке 1 представлен результат первого численного эксперимента. Видно, что с ростом значения порога переключения скорости k средние значения энергопотребления и качества обслуживания стремятся к Е(те) и W(те) соответственно.
На рисунке 2 представлен результат второго численного эксперимента. Видно, что с ростом значения порога переключения скорости k среднее энергопотребление стремится к постоянной величине из интервала (Е(0), Е(те)). В то же время в связи с нестационарностью системы, работающей на низкой скорости, средняя суммарная работа линейно растет.
Заключение
Предложена модель вычислительного кластера на основе рекуррентных соотношений, описывающих последовательные изменения состояния системы. Эта модель позволяет формализовать широкий круг систем с управлением скоростью обслуживания. Небольшие изменения ключевых соотношений модели позволяют охватить системы с различными дисциплинами обслуживания. Кроме того, модель может быть адаптирована для исследования эффекта от применения режимов пониженного энергопотребления ACPI. В дальнейшем планируется исследовать монотонность характеристик системы относительно управляющих последовательностей и ключевых параметров.
к к
Рис. 1. Среднее энергопотребление (левая часть), средняя суммарная работа (правая часть) в 10-серверной системе. Критерий стационарности выполнен для системы при г 1 = 0.9 и Г2 = 1.5
к к
Рис. 2. Среднее энергопотребление (левая часть), средняя суммарная работа (правая часть) в 10-серверной системе. Критерий стационарности нарушен при скорости г 1 = 0.6 и выполнен при скорости Г2 = 1.5
Работа поддержана грантом Президента РФ МК-Щ1.2017.1, грантами РФФИ 1507-02341, 15-07-02354, 15-07-02360, 16-0700622, 15-29-07974.
Литература
1. Bekker R., Borst S. С., Вохта О. J., Kella О. Queues with workload-dependent arrival and service rates / / Queueing Systems. 2004. Vol. 46. P. 537-556. doi: 10.1023/B:QUES.0000027998.95375.ee
2. Brill P. H., Green L. Queues in which customers receive simultaneous service from a random number of servers: a system point approach // Management Science. 1984. Vol. 30, no. 1. P. 51-68. doi: 10.1287/mnsc.30.1.51
3. Chakravarthy S. R., Karatza H. D. Two-server parallel system with pure space sharing and Markovian arrivals // Computers & Operations Research. 2013. Vol. 40, no. 1. P. 510-519. doi: 10.1016/j.cor.2012.08.002
4. Evans R. V. Queuing when Jobs Require Several Services which Need Not be Sequenced // Management Science. 1964. Vol. 10, no. 2. P. 298315. doi: 10.1287/mnsc.10.2.298
5. Feitelson D. G. Metrics for parallel job scheduling and their convergence // Lecture Notes in Computer Science. Job Scheduling Strategies for Parallel Processing. 2001. Vol. 2221. P. 188205. doi: 10.1007/3-540-45540-X_11
6. Feitelson D. G. Workload modeling for computer systems performance evaluation. Cambridge University Press, 2015. doi: 10.1017/CB09781139939690
7. Gandhi A., Harchol-Balter M., Das R., Lefurgy C. Optimal power allocation in server farms // ACM SIGMETRICS Performance Evaluation Review. 2009. Vol. 37. P. 157-168. doi: 10.1145/1555349.1555368
8. Gebrehiwot M. E., Aalto S. A., Lassila P. Optimal sleep-state control of energy-aware M/G/1 queues // Proceed. of the 8th Int. Conf. on Performance Evaluation Methodologies and Tools. 2014. P. 82-89. doi: 10.4108/icst.valuetools.2014.258149
9. Horvath T., Skadron K. Multi-mode energy management for multi-tier server clusters // Proceed. of the 17th Int. Conf. on Parallel Architectures and Compilation Techniques. 2008. P. 270-279. doi: 10.1145/1454115.1454153
10. Hyytia E, Righter R., Aalto S. Task assignment in a heterogeneous server farm with switching delays and general energy-aware cost structure // Performance Evaluation. 2014. Vol. 75-76. P. 17-35. doi: 10.1016/j.peva.2014.01.002
11. Kiefer J., Wolfowitz J. On the theory of queues with many servers // Transactions of the American Mathematical Society. 1955. P. 1-18. doi: 10.1090/S0002-9947-1955-0066587-3
12. Kim S. S. M/M/s Queueing System Where Customers Demand Multiple Server Use, Ph.D. Dissertation, Southern Methodist University, 1979.
13. Morozov E., Rumyantsev A. A State-Dependent Control for Green Computing // Lecture Notes in Electrical Engineering. Information Sciences and Systems. 2015. Vol. 363. P. 57-67. doi: 10.1007/978-3-319-22635-4_5
14. Morozov E., Rumyantsev A. Stability Analysis of a MAP/M/s Cluster Model by Matrix-Analytic Method // Lecture Notes in Computer Science. Computer Performance Engineering: 13th European Workshop. 2016. Vol. 9951. P. 63-76. doi: 10.1007/978-3-319-46433-6_5
15. Rumyantsev A., Morozov E. Stability criterion of a multiserver model with simultaneous service // Annals of Operations Research. 2017 (First Online: 2015). Vol. 252, no. 1. P. 29-39. doi: 10.1007/s10479-015-1917-2
16. Zotkin D., Keleher P. G. Job-length estimation and performance in backfilling schedulers // Proceed. of the Eighth Int. Symposium on High Performance Distributed Computing. 1999. P. 236-243. doi: 10.1109/HPDC.1999.805303
17. Морозов Е. В., Румянцев А. С. Модели многосерверных систем для анализа вычислительного кластера // Труды Карельского научного центра РАН. 2011. № 5. С. 75-85.
Поступила в редакцию 09.06.2017
References
1. Bekker R., Borst S.C., Boxma O. J., Kella O. Queues with workload-dependent arrival and service rates. Queueing Systems. 2004. Vol. 46. P. 537-556. doi: 10.1023/B:QUES.0000027998.95375.ee
2. Brill P. H., Green L. Queues in which customers receive simultaneous service from a random number of servers: a system point approach. Management Science. 1984. Vol. 30, no. 1. P. 51-68. doi: 10.1287/mnsc.30.1.51
3. Chakravarthy S. R., Karatza H. D. Two-server parallel system with pure space sharing and Markovian arrivals. Computers & Operations Research. 2013. Vol. 40, no. 1. P. 510-519. doi: 10.1016/j.cor.2012.08.002
4. Evans R. V. Queuing when Jobs Require Several Services which Need Not be Sequenced. Management Science. 1964. Vol. 10, no. 2. P. 298315. doi: 10.1287/mnsc.10.2.298
5. Feitelson D. G. Metrics for parallel job scheduling and their convergence. Lecture Notes in Computer Science. Job Scheduling Strategies for Parallel Processing. 2001. Vol. 2221. P. 188-205. doi: 10.1007/3-540-45540-X_11
6. Feitelson D. G. Workload modeling for computer systems performance evaluation. Cambridge University Press, 2015. doi: 10.1017/CB09781139939690
7. Gandhi A., Harchol-Balter M, Das R., Lefurgy C. Optimal power allocation in server farms. ACM SIGMETRICS Performance Evaluation Review. 2009. Vol. 37. P. 157-168. doi: 10.1145/1555349.1555368
8. Gebrehiwot M. E., Aalto S. A., Lassila P. Optimal sleep-state control of energy-aware M/G/1 queues. Proceed. of the 8th Int. Conf. on Performance Evaluation Methodologies and Tools. 2014. P. 82-89. doi: 10.4108/icst.valuetools.2014.258149
9. Horvath T., Skadron K. Multi-mode energy management for multi-tier server clusters. Proceed. of the 17th Int. Conf. on Parallel Architectures and Compilation Techniques. 2008. P. 270-279. doi: 10.1145/1454115.1454153
10. Hyytia E, Righter R., Aalto S. Task assignment in a heterogeneous server farm with switching delays and general energy-aware cost structure. Performance Evaluation. 2014. Vol. 7576. P. 17-35. doi: 10.1016/j.peva.2014.01.002
11. Kiefer J., Wolfowitz J. On the theory of queues with many servers. Transactions of the American Mathematical Society. 1955. P. 1-18. doi: 10.1090/S0002-9947-1955-0066587-3
12. Kim S. S. M/M/s Queueing System Where Customers Demand Multiple Server Use, Ph.D. Dissertation, Southern Methodist University, 1979.
13. Morozov E., Rumyantsev A. A State-Dependent Control for Green Computing. Lecture Notes in Electrical Engineering. Information Sciences and Systems. 2015. Vol. 363. P. 57-67. doi: 10.1007/978-3-319-22635-4_5
СВЕДЕНИЯ ОБ АВТОРАХ:
Румянцев Александр Оергеевич
научный сотрудник
Институт прикладных математических исследований Карельского научного центра РАН ул. Пушкинская, 11, Петрозаводск, Республика Карелия, Россия, 185910 эл. почта: [email protected] тел.: (8142) 763370
Калинина Ксения Алексеевна
аспирант
Институт прикладных математических исследований Карельского научного центра РАН ул. Пушкинская, 11, Петрозаводск, Республика Карелия, Россия, 185910 эл. почта: [email protected] тел.: (8142) 763370
Морозова Таисия Евсеевна
студентка
Петрозаводский государственный университет
пр. Ленина, 33, Петрозаводск, Республика Карелия,
Россия, 185910
эл. почта: [email protected] тел.: (8142) 719606
14. Morozov E., Rumyantsev A. Stability Analysis of a MAP/M/s Cluster Model by Matrix-Analytic Method. Lecture Notes in Computer Science. Computer Performance Engineering: 13th European Workshop. 2016. Vol. 9951. P. 6376. doi: 10.1007/978-3-319-46433-6_5
15. Rumyantsev A., Morozov E. Stability criterion of a multiserver model with simultaneous service. Annals of Operations Research. 2017 (First Online: 2015). Vol. 252, no. 1. P. 29-39. doi: 10.1007/s10479-015-1917-2
16. Zotkin D., Keleher P. G. Job-length estimation and performance in backfilling schedulers. Proceed. of the Eighth Int. Symposium on High Performance Distributed Computing. 1999. P. 236-243. doi: 10.1109/HPDC.1999.805303
17. Morozov E. V., Rumyantsev A. S. Mode-li mnogoservernykh sistem dlya analiza vychis-litel'nogo klastera [Multi-server models to analyze high performance cluster]. Trudy KarNTs RAN [Trans. KarRC RAS]. 2011. No. 5. P. 75-85.
Received June 9, 2017
CONTRIBUTORS:
Rumyantsev, Alexander
Institute of Applied Mathematical Research,
Karelian Research Centre, Russian Academy of Sciences
11 Pushkinskaya St., 185910 Petrozavodsk,
Karelia, Russia
e-mail: [email protected]
tel.: (8142) 763370
Kalinina, Ksenia
Institute of Applied Mathematical Research, Karelian Research Centre, Russian Academy of Sciences 11 Pushkinskaya St., 185910 Petrozavodsk, Karelia, Russia
e-mail: [email protected] tel.: (8142) 763370
Morozova, Taisia
Petrozavodsk State University
33 Lenin Pr., 185910 Petrozavodsk, Karelia, Russia
e-mail: [email protected]
tel.: (8142) 719606