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

Программные продукты и системы /Software & Systems

№ 2 (110), 2015

УДК 004.451.2 Дата подачи статьи: 08.04.15

DOI: 10.15827/0236-235X. 110.135-139

ИССЛЕДОВАНИЕ МЕТОДОВ ПРОГНОЗИРОВАНИЯ ЗАГРУЖЕННОСТИ КОМПЬЮТЕРОВ И КОМПЬЮТЕРНЫХ СИСТЕМ

Ю.С. Бражникова, аспирант; Ю.А. Горицкий, д.т.н., профессор;

В.П. Кутепов, д.т.н., профессор, kutepov@qppmat.ru;

Н.А. Панков, младший научный сотрудник, nicolay.a.pankov@gmail.com

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

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

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

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

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

В силу примитивного характера средств управления КС в настоящее время программист, используя, например, кластер и MPI, должен сам определить оптимальную степень распараллеливания (зернистость) и необходимое количество компонентов КС, затем распределить процессы таким образом, чтобы достигалось желаемое время выполнения параллельной программы. В результате, как показывает практика, даже для этой простой модели параллелизма, применяемой в MPI и исключающей возможность порождения процессов (имеется в виду MPI-1), процессоры или компьютеры кластера используются всего на 10-15 %. Аналогичное состояние в решении проблемы управления наблюдается в обобществляемых или слабо связанных в отличие от кластеров КС, назы-

ваемых GRID, CLOUDS, то есть в глобальных компьютерных сетях. Управление подобными КС усложняется вследствие неоднородности их компонентов и большой удаленности выделяемых ресурсов, необходимости объективного учета оплаты за используемые пользователями ресурсы. Сложность проблемы создания эффективных средств управления большими КС заключается в том, что порождение процессов имеет случайный характер, то же самое относится к их сложности и, следовательно, к генерируемым процессами требованиям к различным ресурсам КС [2-6]. Поэтому в реализации на КС созданных нами высокоуровневых языков параллельного программирования (языка функционального параллельного программирования [7] и языка граф-схемного потокового программирования [8]) мы используем адаптивные методы для управления процессами и ресурсами в КС [5, 6]. Их главная особенность заключается в измерении и прогнозировании загруженности ресурсов КС (процессоров, памяти, каналов, периферийных устройств) и построении на этой основе системы решающих правил, позволяющих в динамике регулировать объем ресурсов, необходимый для эффективного выполнения программ и процессов. В статье приведены результаты экспериментального исследования методов прогнозирования загруженности процессоров КС - основного ресурса, по эффективности использования которого обычно определяют реальную производительность КС. Кроме того, дан сравнительный анализ полученных результатов, подтверждающий тезис о возможности с достаточно высокой точностью прогнозировать за-

135

Программные продукты и системы /Software & Systems

№ 2 (110), 2015

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

Экспериментальное исследование методов прогнозирования загруженности процессоров

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

Подобные методы давно используются в радиолокации и хорошо исследованы (см., например, [9]). Эти методы, реализованные как фильтры, мы используем в наших экспериментальных исследованиях прогнозирования изменения загруженности компьютеров и КС. В качестве объекта, для которого исследовалась проблема измерения и прогнозирования загруженности, использовался персональный компьютер с быстродействием 4х109 оп./сек. и объемом ОП, равным 4 Гб. Отметим, что современные кластеры строятся с такими же характеристиками компонентов.

Для получения достоверных результатов применялся широкий круг хорошо известных приложений, таких как Microsoft Visual Studio, MathСad, MSOffice, SQL Server, браузеры и др.

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

Прогноз изменений параметров загруженности есть смысл делать на 0,5-1 сек. вперед из-за нестационарности и непредсказуемости графиков загруженности процессора. Предсказываемое значение

загруженности 0про™ на момент будущего представляется как константа, равная полученному сглажен-

ному значению 0 в текущий момент времени:

0 пТ =0 „

Все рассмотренные методы сглаживания были экспериментально исследованы с помощью программ MathCAD. Для приведенной в статье реализации процесса загруженности вычислялись средняя и максимальная ошибки предсказания загруженности процессора и их дисперсии на 0,5 сек. вперед.

Экстраполятор на основе экспоненциального сглаживания. Экспоненциальное сглаживание -

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

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

В простейшем случае для нахождения очередного сглаженного значения используются только текущее измерение и предыдущее сглаженное значение. Формула прогнозирования имеет вид (в соответствии

с (1)): 0’прогн = d + 1C , где 0И - измеренное

значение параметра в n-й момент времени; 0п -сглаженное значение параметра в n-й момент времени; 1 - постоянная величина, имеющая смысл коэффициента сглаживания.

На рисунке 1 приведен пример прогнозирования на основе экспоненциального сглаживания загруженности процессора (X - график загруженности процессора, Exp - экспоненциальное сглаживание X). На этом рисунке и рисунке 2 промежуток между съемами данных принят равным 0,5 сек., количество измерений t =1200, прогноз приводится на 1 шаг вперед.

В данном методе ошибки предсказания загруженности в первую очередь зависят от параметра Е,. Средняя ошибка прогнозирования определяется по

формуле ^av

С (0п -0„ V

И=1 t

а максимальная

ошибка прогнозирования по формуле

^max = max(0„ -0n-1).

1< n<t

Значения ошибки прогнозирования в зависимости от параметра 1 приведены в таблице 1.

Экстраполятор с равномерным окном. При

экстраполяции с равномерным окном происходит усреднение по T предыдущим измерениям с равными весами. Формула экстраполятора с равномерным ок-

136

Программные продукты и системы /Software & Systems

№ 2 (110), 2015

1 t

ном имеет следующий вид: 9и = — , где Qn.k -

T k=i

измеренное значение параметра в (п-к)-й момент времени, k>1; 9и - сглаженное значение параметра в n-й момент времени; T - ширина окна (количество точек в окне).

Таблица 1

Зависимость ошибки прогнозирования от параметра 4

Table 1

A misprediction depending on 4 parameter

Пара- метр 4 Средняя ошибка прогнозирования Дисперсия ошибки Максимальная ошибка прогнозирования

0,1 0,094 8,7х10-3 0,49

0,2 0,087 7,1 х 10-3 0,473

0,3 0,085 6,6х10-3 0,462

0,4 0,083 6,3х10-3 0,454

0,5 0,08 6,3х10-3 0,45

0,6 0,08 6,4х10-3 0,449

0,7 0,081 6,6х10-3 0,45

Рассматривается одношаговый экстраполятор с равномерным окном. Экспериментальные данные ошибок прогнозирования загруженности процессора в зависимости от параметра ширины окна T для этого метода сглаживания приведены в таблице 2.

Таблица 2

Экспериментальные данные ошибок прогнозирования

Table 2

Misprediction experimental data

Пара- метр Т Средняя ошибка прогнозирования Дисперсия ошибки Максимальная ошибка прогнозирования

2 0,093 8,7х10-3 0,533

3 0,093 8,7х10-3 0,533

5 0,092 8,5х10-3 0,472

10 0,093 9,8х10-3 0,497

15 0,093 0,011 0,529

20 0,094 0,012 0,545

25 0,095 0,012 0,556

30 0,114 0,013 0,565

35 0,117 0,014 0,567

40 0,12 0,014 0,572

45 0,123 0,015 0,578

50 0,125 0,016 0,578

Экстраполятор с подбором весовых коэффициентов. При экстраполяции с подбором весовых коэффициентов происходит усреднение по T предыдущим измерениям с различными весами. Формула экстраполятора с подбором весовых коэффициентов

„ T

имеет следующий вид: 9и = Tct9п1, где 9n-i - изме-

i=i

ренное значение параметра в (п-Г)-й момент времени; 9и - сглаженное значение параметра в n-й момент; T - ширина окна; ct - вес 9п-,-го измерения.

Вес произвольного i-го измерения c, в первую очередь, определяется коэффициентом убывания весов ст и вычисляется по формуле с. = —d—, где

' T-.d.

=i j

а

d = e

Рассматривается одношаговый экстраполятор с подбором весовых коэффициентов. Средняя и максимальная ошибки прогнозирования загруженности в зависимости от параметров T и ст для этого метода сглаживания приведены в таблице 3.

Таблица 3

Средняя и максимальная ошибки прогнозирования

Table 3

An average and maximal misprediction

Пара- Средняя Дисперсия Максимальная

метр ошибка про- ошибки ошибка прогно-

а T гнозирования зирования

3 0,093 8,6х10-3 0,525

10 0,092 8,5х10-3 0,503

2 20 0,092 8,5х10-3 0,503

30 0,093 8,5х10-3 0,503

40 0,093 8,5х10-3 0,503

3 0,093 8,6х10-3 0,531

10 0,092 8,4х10-3 0,464

30 0,092 8,4х10-3 0,464

40 0,092 8,4х10-3 0,464

3 0,093 8,7х10-3 0,533

10 0,095 9х10-3 0,482

8 20 0,096 9,1 х 10-3 0,484

30 0,096 9,1 х 10-3 0,484

40 0,096 9,1 х 10-3 0,484

3 0,093 8,7х10-3 0,533

15 10 0,098 9,5х10-3 0,489

30 0,102 0,1 0,527

40 0,091 0,1 0,527

3 0,093 8,7х10-3 0,533

10 0,099 9,8х10-3 0,495

30 20 0,106 0,011 0,539

30 0,109 0,012 0,554

40 0,111 0,012 0,558

3 0,093 8,7х10-3 0,533

50 20 0,107 0,011 0,543

40 0,116 0,014 0,567

50 0,119 0,014 0,572

Медианный фильтр. Медианные фильтры достаточно часто применяются на практике для предварительной обработки цифровых данных как альтернатива средним арифметическим значениям отсчетов в оценке выборочных средних значений. Медианой числовой последовательности x1, x2, ..., xn при нечетном n является средний по значению член ряда, получающегося при упорядочивании этой последовательности по возрастанию (или убыванию). Для четных n медиану обычно определяют как среднее арифметическое двух средних отсчетов упорядоченной последовательности.

Медианный фильтр представляет собой оконный фильтр, последовательно скользящий по изменяющимся значениям сигнала и возвращающий на каждом шаге одно из значений, попавших в окно (апертуру) фильтра. Выходной сигнал yk скользящего медианного фильтра шириной 2n+1 для текущего отсчета k формируется из входного временного ряда ..., xk-1, xk, xk+1, ... в соответствии с формулой yk =

medfXk-n xk-n-b , xk-b xxk+b , xk+n-1, xk+n), где

med(z0), ., z(m), ., z(2n+i)) = z(n+0, z(m) - элементы вариационного ряда, ранжированные в порядке возрас-

137

Программные продукты и системы /Software & Systems

№ 2 (110), 2015

тания значений, Z(1)<Z(2)<^<Z(2b+1). Медианная фильтрация реализуется в виде процедуры локальной обработки отсчетов в скользящем окне, которое включает определенное число отсчетов сигнала. Для каждого положения окна выделенные в нем отсчеты ранжируются по возрастанию или убыванию значений. Средний по своему положению отсчет в ранжированном списке называется медианой рассматриваемой группы отсчетов. Им заменяется центральный отсчет в окне для обрабатываемого сигнала. В силу этого медианный фильтр относится к числу нелинейных фильтров, заменяющих медианным значением аномальные точки и выбросы независимо от их амплитудных значений, и является устойчивым по определению, способным аннулировать даже бесконечно большие отсчеты.

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

Медианные фильтры имеют следующие недостатки:

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

- фильтр вызывает уплощение вершин треугольной функции;

- подавление гауссовского шума менее эффективно, чем у линейных фильтров;

- двумерная обработка приводит к более существенному ослаблению сигнала.

Авторами были промоделированы различные реализации медианных фильтров, где в качестве верхней границы окна брался текущий показатель измерения загруженности (рис. 2), таким образом,

9 ИЛ™ = 11n-T 1 1+И 9n ) , 1 6

Лпрогн

-И+1

ренное и предсказываемое значения параметра в n-й и (п+1)-й моменты времени; T - ширина окна. Ошибки прогнозирования для медианного фильтра в зависимости от T представлены в таблице 4.

Таблица 4

Ошибки прогнозирования для медианного фильтра

Table 4

Mispredictions for a median filter

Пара- метр T Средняя ошибка прогнозирования Диспер- сия ошибки Максимальная ошибка прогнозирования

3 0,072 5,2х10-3 0,5

5 0,074 5,4х10-3 0,53

10 0,078 6,1х10-3 0,535

15 0,084 7х10-3 0,56

20 0,089 7,8х10-3 0,575

25 0,093 8,6х10-3 0,58

30 0,095 9х10-3 0,58

35 0,098 9,5х10-3 0,58

40 0,105 0,011 0,58

45 0,105 0,011 0,58

50 0,11 0,012 0,58

Сравнение методов

В таблице 5 приведены наилучшие значения средней, максимальной и дисперсии ошибки прогнозирования для каждого из методов.

Таблица 5

Наилучшие значения ошибки прогнозирования

Table 5

The best values of misprediction

Метод Средняя ошибка прогнозирования Диспер- сия ошибки Максимальная ошибка прогнозирования

Экспоненциальное сглаживание (5=0,5) 0,08 6,3х10-3 0,45

Экстраполя-тор с равномерным окном (T =5) 0,092 8,5х10-3 0,472

Экстраполя-тор с подбором ширины окна (а=4, T=10, 30, 40) 0,092 8,5х10-3 0,464

Медианный фильтр(T=3) 0,072 5,2х10-3 0,5

Из приведенных данных видно, что экспоненциальное сглаживание, экстраполятор с равномерным окном и экстраполятор с подбором ширины окна и весовых коэффициентов дают близкие результаты. Медианный фильтр в среднем дает улучшение результатов на 25-35 % по сравнению с предыдущими методами.

Средняя дисперсия ошибки при прогнозировании для данной реализации путем выбора константы по предыдущему значению составила 0,101.

Значения средней ошибки прогнозирования загруженности процессора путем выбора единственной константы для всей реализации (например, предпо-

138

Программные продукты и системы /Software & Systems

№ 2 (110), 2015

лагаем, что процесс всегда принимает значение 0,3) следующие:

Константа Ошибка

0,1 0,263

0,2 0,165

0,3 0,118

0,4 0,147

0,5 0,203

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

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

Помимо всего, медианный фильтр достаточно просто реализуется на практике и требует немного

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

Литература

1. Проект по составлению рейтинга и описанию 500 самых мощных вычислительных систем мира. URL: http://www.top500. org (дата обращения: 05.04.2015).

2. Кутепов В.П., Фальк В.Н. Формы, языки представления, критерии и параметры сложности параллелизма // Программные продукты и системы. 2010. № 3. С. 16-26.

3. Кутепов В.П. О параллелизме с разных сторон // Параллельные вычисления и проблемы управления: матер. 5-й Междунар. конф. М.: Изд-во ИпУ РАН, 2010.

4. Тауб С., Шафри Х. Улучшенная поддержка распараллеливания в следующей версии Visual Studio // Журнал для разработчиков MSDN Magazine. 2008. № 11 (83).

5. Кутепов В.П. Интеллектуальное управление процессами и загруженностью в вычислительных системах // Изв. РАН. ТиСУ. 2007. № 5.

6. Kutepov V.P. Scheduling parallel processes and load balancing in large-scale computing systems. Proc. Intern. Symp. on Distributed Computing and Application for Business? Engineering and Science. China, 2007, vol. 1.

7. Кутепов В.П., Шамаль П.Н. Реализация языка функционального параллельного программирования FPTL на многоядерных компьютерах // Изв. РАН. ТиСУ. 2014. № 3.

8. Кутепов В.П., Маланин В.Н., Панков Н.А. Граф-схемное потоковое параллельное программирование: язык, процессная модель, реализация на компьютерных системах // Изв. РАН. ТиСУ. 2012. № 1.

9. Айфичер Э., Джервис Б. Цифровая обработка сигналов. Практический подход // М.: Вильямс, 2004.

DOI: 10.15827/0236-235X.109.135-139 Received 08.04.15

A RESEARCH OF COMPUTER AND COMPUTER SYSTEMS LOAD PREDICTION METHODS

Brazhnikova Yu.S., Postgraduate Student; Goritsky Yu.A., Dr.Sc. (Engineering), Professor;

Kutepov V.P., Dr.Sc.

Abstract. The problem of process and resource management in large scale computer systems with thousands of components is important and has not been solved yet. Thus, a user has to determine the amount of resources needed for a computer system in advance and distribute parallel program fragments to achieve a desired acceleration effect and minimize resource usage. However, even for simple paralleling logic problems such a static planning strategy results in average resource utilization is no more than 15-20 %.

The paper is devoted to the problem of computing system load level forecasting to create adaptive methods and algorithms for resource dynamic management and optimization algorithms. The paper presents the data of an experimental investigation of predicting workload of processors. It is based on various filtration methods of high-frequency signal which is processes assessable workload. The results show that among well known filters the median filters are the most precise. The results are used for the development of adaptive algorithms intended for resources optimization, in particular, for allocation of processor resources in computers and large computer systems.

Keywords: computer systems, parallel processes, computer systems load management.

References

1. The Top500 list of the fastest computer systems being used today. Available at: http://www.top500.org (accessed April 5, 2015).

2. Kutepov V.P., Falk V.N. Forms, languages and complexity parameters of the parallelism. Programmnye produkty i sistemy [Software & Systems]. 2010, no. 3, pp. 16-26 (in Russ.).

3. Kutepov V.P. On parallelism from different points of view. Parallelnye vychisleniya i problemy upravleniya: mater. 5-y Mezhdu-nar. konf. [Proc. of the 5th Int. Conf. “Parallel Computing and Management Problems”]. Moscow, ICS RAS Publ., 2010.

4. Articles Series on Parallel Programming. MSDN Magazine. 2008, no. 11 (83).

5. Kutepov V.P. Intelligent Scheduling Processes and Controlling Workload in Computing Systems. Izvestiya RAN. Teoriya i systemy upravleniya [Journal of Computer and Systems Sciences International]. 2007, no. 5, pp. 726-741.

6. Kutepov V.P. Scheduling parallel processes and load balancing in large-scale computing systems. Proc. Intern. Symp. on Distributed Computing and Application for Business. Engineering and Science. China, 2007, vol. 1.

7. Kutepov V.P., Shamal P.N. Implementation of Functional Parallel Typified Language (FPTL) on Multicore Computers. Izvestiya RAN. Teoriya i systemy upravleniya [Journal of Computer and Systems Sciences International]. 2014, vol. 53, no. 3, pp. 345-359.

8. Kutepov V.P., Malanin V.N., Pankov N.A. Flowgraph Stream Parallel Programming: Language, Process Model, and Computer Implementation. Izvestiya RAN. Teoriya i systemy upravleniya [Journal of Computer and Systems Sciences International]. 2012, vol. 51, no. 1, pp. 65-80.

9. Ifeachor E., Jervis B. Digital Signal Processing: A Practical Approach. Addison-Wesley Publ., 1993, 784 p. (Moscow, Vilyams Publ., 2004, 992 p.).

139