Методы прогнозирования2015.secrus.org/2015/files/078_kudinova.pdf ·...

16
1 Одиннадцатая независимая научно-практическая конференция «Разработка ПО 2015» 22 - 24 октября, Москва Мелехова А., Кудинова М., Веринов А. Методы прогнозирования процессорной нагрузки МФТИ (ГУ), Odin

Upload: others

Post on 11-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Методы прогнозирования2015.secrus.org/2015/files/078_kudinova.pdf · 2015-10-19 · 1 Одиннадцатая независимая научно-практическая

1

Одиннадцатая независимая научно-практическая конференция «Разработка ПО 2015»

22 - 24 октября, Москва

Мелехова А., Кудинова М., Веринов А.

Методы прогнозирования

процессорной нагрузки

МФТИ (ГУ), Odin

Page 2: Методы прогнозирования2015.secrus.org/2015/files/078_kudinova.pdf · 2015-10-19 · 1 Одиннадцатая независимая научно-практическая

2

План презентации

• Задачи предсказания процессорной нагрузки.

• Различные методы предсказания:• регрессионные,

• вероятностные,

• управление обратной связью,

• кластеризация.

• Возможные критерии выбора подходящего метода.

Page 3: Методы прогнозирования2015.secrus.org/2015/files/078_kudinova.pdf · 2015-10-19 · 1 Одиннадцатая независимая научно-практическая

3

Области применения

• Оптимальное распределение ресурсов:• серверы,

• GRIDs.

• Миграция виртуальных машин.

• Предсказание энергопотребления.

Page 4: Методы прогнозирования2015.secrus.org/2015/files/078_kudinova.pdf · 2015-10-19 · 1 Одиннадцатая независимая научно-практическая

4

Свойства нагрузки

• Характеристики временного ряда нагрузки:• горизонт стационарности,

• автокорреляции.

• Наличие априорной информации о шуме.

• Наличие дополнительных параметров, оказывающих

влияние на процессорную нагрузку.

Page 5: Методы прогнозирования2015.secrus.org/2015/files/078_kudinova.pdf · 2015-10-19 · 1 Одиннадцатая независимая научно-практическая

5

Временной ряд нагрузкиCPU usage, %

Time, sec

Page 6: Методы прогнозирования2015.secrus.org/2015/files/078_kudinova.pdf · 2015-10-19 · 1 Одиннадцатая независимая научно-практическая

6

Методы

• Регрессионные (Box–Jenkins).

• Вероятностные (Байесовский классификатор).

• Управление обратной связью (фильтр Калмана).

• Кластеризация (на основе дополнительных архитектурных

параметров).

Page 7: Методы прогнозирования2015.secrus.org/2015/files/078_kudinova.pdf · 2015-10-19 · 1 Одиннадцатая независимая научно-практическая

7

Регрессия

Credit to P. Dinda “Host load prediction using linear models” 2000.

• (AR) Авторегрессия: 𝑧𝑡= 𝑖=1𝑝

𝜃𝑖𝑧𝑡−𝑖 + 𝑎𝑡.

• (MA) Модель скользящего среднего: 𝑧𝑡= 𝑗=1𝑞

𝜓𝑗𝑎𝑡−𝑗 + 𝑎𝑡.

• ARMA, ARIMA: 𝑧𝑡 =𝜓 𝐵

𝜃 𝐵 1−𝐵 𝑑 𝑎𝑡, где 𝐵𝑎𝑡 = 𝑎𝑡−1.

Page 8: Методы прогнозирования2015.secrus.org/2015/files/078_kudinova.pdf · 2015-10-19 · 1 Одиннадцатая независимая научно-практическая

8

Байесовский классификатор

CPU load100%0%

Prior P(w)

Интервал предсказанияВыборка

3) Рассчитываются P(w|x) для каждого w:

4) Принимается решение о классификации.

1) Для каждого класса w рассчитывается априорная вероятность.

2) На основании выборки вычисляется набор параметров нагрузки.

CPU load

Time

𝑃 𝑤𝑖 𝑥𝑗 =𝑝 𝑥𝑗 𝑤𝑖 𝑃 𝑤𝑖

𝑘=1𝑚 𝑝 𝑥𝑗 𝑤𝑘 𝑃 𝑤𝑘

x1

x2

x3

w1

w2 … wi

wn

W_mean

Page 9: Методы прогнозирования2015.secrus.org/2015/files/078_kudinova.pdf · 2015-10-19 · 1 Одиннадцатая независимая научно-практическая

9

Предсказание паттернами• Предсказание средних значений нагрузки на нескольких

последовательных интервалах времени.

Интервал предсказанияВыборка

CPU load

Time

m1

m2m3

Page 10: Методы прогнозирования2015.secrus.org/2015/files/078_kudinova.pdf · 2015-10-19 · 1 Одиннадцатая независимая научно-практическая

10

Управление обратной связью

• Предсказание на 1 шаг вперед.

• Динамическая проверка точности предсказания во время

исполнения.

• Уточнение предсказанных значений на следующий интервал с

учетом ошибки в предыдущем интервале.

Page 11: Методы прогнозирования2015.secrus.org/2015/files/078_kudinova.pdf · 2015-10-19 · 1 Одиннадцатая независимая научно-практическая

11

Фильтр Калмана

• Модель системы: 𝑢𝑘+1 = 𝑢𝑘 + 𝑡𝑘, 𝑡𝑘 – нормально

распределенный шум.

• 𝑢𝑘+1 = 𝑢𝑘 – априорная оценка нагрузки.

• 𝑢𝑘 = 𝑢𝑘 + 𝐾 · 𝑒𝑟𝑟𝑘 – апостериорная оценка.

• Калмановский коэффициент усиления (Kalman gain, 𝐾 ) –

важность измерений по отношению к априорной оценке.

Page 12: Методы прогнозирования2015.secrus.org/2015/files/078_kudinova.pdf · 2015-10-19 · 1 Одиннадцатая независимая научно-практическая

12

Фильтр Калмана

Credit to E. Kalyvianaki et al. “Adaptive Resource Provisioning for Virtualized Servers” 2014.

Page 13: Методы прогнозирования2015.secrus.org/2015/files/078_kudinova.pdf · 2015-10-19 · 1 Одиннадцатая независимая научно-практическая

13

Кластеризация

Предсказывалось энергопотребление.

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

MPC, IPC, CTPC, CPU.

Основной параметр: Power level.

• Гауссовы смесиМногомерные нормальные распределения с различными

средними значениями и матрицами ковариации.

Credit to G. Dhiman “A system for online power prediction in virtualized environments using Gaussian Mixture Models” 2010.

IPC

MPC

Page 14: Методы прогнозирования2015.secrus.org/2015/files/078_kudinova.pdf · 2015-10-19 · 1 Одиннадцатая независимая научно-практическая

14

Выбор подходящей модели

• Важно знать:• требуемый горизонт прогнозирования,

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

системы,

• априорную информацию о поведении системы.

• Изучить характеристики нагрузки:• горизонт стационарности,

• значения автокорреляционной функции.

Page 15: Методы прогнозирования2015.secrus.org/2015/files/078_kudinova.pdf · 2015-10-19 · 1 Одиннадцатая независимая научно-практическая

15

Предлагаемый подход

• Определение характеристик нагрузки.

• Выбор нескольких подходящих моделей.

• Сравнение результатов отобранных моделей.

Page 16: Методы прогнозирования2015.secrus.org/2015/files/078_kudinova.pdf · 2015-10-19 · 1 Одиннадцатая независимая научно-практическая

16

Буду рада ответить на Ваши вопросы.

• С рассмотренными методами можно более подробно

ознакомиться в следующих статьях:• AR, ARIMA – Dinda, P.A. и O’Hallaron, D.R. Host load prediction using

linear models. 2000.

• Байесовский классификатор – Di, S. и др. Host load prediction in a

Google compute cloud with a Bayesian model. 2012.

• Фильтр Калмана – Kalyvianaki, E. и др. Adaptive Resource Provisioning

for Virtualized Servers. 2014. и Kalman, R.E. A New Approach to Linear

Filtering and Prediction Problems. 1960.

• Кластеризация методом Гауссовских смесей – Dhiman, G. A system for

online power prediction in virtualized environments using Gaussian Mixture

Models. 2010.