Предсказание потребления процессорного времени в виртуальных средах (1187413), страница 4
Текст из файла (страница 4)
С этими данными, после симуляции возможно исследовать частоту и степень нехватки процессорного времени, вызванную слишком агресивным запуском новых нагрузок.22При нехватке ресурсов, алгоритм предсказания получает симулируемое потребление процессорного времени, а не историческое. Когданагрузке не удаётся выделить запрашиваемое процессорное время, еёпрогресс замедляется. Замедление прогресса нагрузки приводит к увеличению длительности её выполнения, никакой потери прогресса приуменьшении производительности не предусмотренно.23Глава 5.
Содержание работыВ этой главе описываются использованные данные и проделанныеисследования. Исследовательская часть работы состоит из двух основных частей. Вначале, были опробованы различные алгоритмы предсказания потребления процессорного времени, используя тренировочные данные, и на тестовых данных была оценена их точность. Затем, был разработан алгоритм для предсказания распределения прогнозируемого потребления процессорного времени, который был применён при симуляции планирования нагрузки на сервер.5.1Постановка задачиСуществующие работы по предсказанию процессорной нагрузкииспользовали различные источники данных, и зачастую фокусировалисьна предсказании потребления для всего сервера.
Для балансирования нагрузки на сервера больший интерес представляет предсказание потребления ресурсов отдельными нагрузками, ведь общая нагрузка на серверуже во многом определяется планировщиком. Поэтому первой задачейявляется сравнение существующих подходов к предсказанию потребления процессорного времени отдельными нагрузками на едином источнике данных.Выбранный лучший метод предсказания потребления процессорного времени должен быть практически применим для распределения нагрузок.
В частности, для контроля вероятности перегрузки необходимоиметь представление о степени неопределённости предсказания. Отсюдавторая задача: адаптировать алгоритм предсказания для получения неточечного прогноза, а распределения вероятностей, и продемонстрировать применимость прогнозов для эффективного распределения нагрузок. Устройство симулирующей среды и обоснование его выбора изложено в главе 4.245.2Использованные данныеВ большинстве рассмотренных статей использовались различныеэталонные нагрузки.
Этот подход имеет свои достоинства, как то: контроль за сбором данных, контроль конфигурации системы, действительное отрабатывание механизмов операционных систем и оборудования.Однако, этот способ сбора данных затратен по времени и ресурсам, и,что более важно, все наблюдаемые тренды явно или неявно порождаютсяисследователями. Рост или падение нагрузки через минуту определяется лишь заведомо заданными настройками и устройством конкретноготеста, для которых нет объективных причин отражать общие тенденциивозникающих в действительности нагрузок.
В такой среде, безусловно,можно испытывать алгоритмы на характерных и краевых случаях, ноне в среднем.В силу слабой применимости синтетических нагрузок для нашихцелей, было решено опираться на записи о работе реального кластера.Были использованы логи 29 дней работы кластера компании Google. Вних запечатлено исполнение задач на порядка 12.5 тысячах физическихмашин в мае 2011 года. Этот набор данных нередко используется в публикациях о потреблении ресурсов в виртуальных средах [5; 10; 35–37], изоткрыто доступных он один из самых крупных и недавних.Алгоритмы обучались и тестировались на строго разделённых повремени нагрузках.
Следуя опыту [5], для обучения были взяты данныеиз дней с 1 по 25, включительно, тестировались обученные алгоритмына днях с 26 по 29. Нагрузки, время работы которых пересекало границы выбранных временных интервалов, не участвовали в экспериментах.Первая половина тестовых дней была использована для валидации алгоритмов, а вторая была отложена для итогового сравнения и проверкиалгоритмов.255.2.1Описание данныхДанные о работе нагрузок записывались, как правило, с периодом в5 минут.
Для каждой нагрузки доступна информация о запрашиваемыхею квотах, её приоритете, пользователе и др.Для нагрузок в каждый отчёт времени записывались следующиединамические показатели:– среднее потребление процессорного времени (mean CPU usagerate),– объём доступной нагрузке памяти (canonical memory usage),– объём отведённой нагрузке памяти (assigned memory usage),– объём непривязанных ни к какому процессу страниц кэша(unmapped page cache memory usage),– объём используемого кэша (total page cache memory usage),– максимальный за интервал измерения объём доступной нагрузкепамяти (maximum memory usage),– доля времени работы с дисками (mean disk I/O time),– среднее использование локального дискового пространства(mean local disk space used),– максимальное за интервал измерения потребление процессорноговремени (maximum CPU usage),– максимальная за интервал измерения доля времени работы сдисками (maximum disk I/O time),– циклов процессора на инструкцию (cycles per instruction – CPI),– доступов к памяти на инструкцию (memory accesses perinstruction – MAI).5.2.2Подготовка данныхВначале, из логов работы кластера были извлечены нагрузки, полностью лежащие в тренировочном интервале времени, и тестовом интер-26вале времени.
Потребления ресурсов нагрузками были отнормированы,так что большинство динамических величин были приведены в общиймасштаб. Данные об квотах, использованные для нормировки потребления ресурсов, были сохранены и использованы для предсказаний.5.2.3Выбор горизонта предсказанияВыбор желаемого горизонта прогнозирования определяется последующим применением прогноза. Данная работа рассматривает прогнозирование потребления процессорного времени, как инструментальную задачу для распределение вычислительной нагрузки в распределённой системе. Поэтому горизонт прогнозирования должен быть заведомо больше характерного времени, за которое возможно разрешить перегрузкуотдельного сервера, и период времени с наибольшей вероятностью перегрузки должен оказаться внутри горизонта прогнозирования.Рисунок 5.1 — Распределение длин нагрузок27На графике 5.1 представлено распределение длин нагрузок в тренировочных данных.
Это распределение имеет медиану на 20 минутах (4отчёта), и среднюю длину 47.2 минуты (9.44 отчёта). Иными словами,большая часть нагрузок, для которых будет прогнозироваться потребление процессорного времени, через 20 минут уже будут завершены. Поэтому было решено зафиксировать горизонт прогнозирования 20 минут.5.2.4Выбор признаковДо применения алгоритмов предсказания, стояла задача выборавеличин, на основании которых будут производиться предсказания.Для повышения однородности входов алгоритмов, потребления ресурсов нагрузками были отнормированы на квоту потребления этих ресурсов. Поскольку данные о квотах всё ещё остались в числе входов большинства применённых алгоритмов, информация об истинном масштабеосталась доступной алгоритмам предсказания.Были взяты:– статические характеристики нагрузки: запрос по процессорномувремени, дисковому времени, памяти– последние 5 измерений всех динамических величин, дополненныенулями– среднее за всё время для всех динамических величин– скользящее среднее всех динамических величин, с = 0.5 и =0.8– индекс честности [5; 10] всех динамических величин– время со старта выполнения285.3Сравнение моделей предсказанияДругие работы, освещающие предсказание потребления процессорного времени, зачастую затрагивали потребление процессорного временидругими сущностями (физический сервер, виртуальная машина), либооценивали точность на синтетических данных, либо же на других исторических данных.
Для получения сравнимой оценки точности в выбраннойпостановке эксперимента, модели из этих работ были заново применены.Большинство исследований использовало те или иные линейные модели,отличающиеся набором входных параметров. В приведённом ниже сравнении приняли участие линейные и нелинейные модели. Линейной моделью была линейная регрессия с регуляризацией Тихонова, нелинейноймоделью выступала специально спроектированная трёхслойная нейронная сеть, которая использует все техники, описанные в разделе 2.3.Алгоритмы предсказания сравнивались на различных наборахвходных параметров: последние 5 измерений потребления процессорноговремени, последние измерения всех динамических параметров нагрузки,и полный набор всех параметров, приведённых в разделе 5.2.4.Для сравнения моделей использовался коэффициент детерминации2 для каждого из четырёх горизонтов, и его среднее значение по горизонтам.
Значение 2 выражает долю объяснённой дисперсии прогнозируемой величины. Например, 2 = 0.9 означает, что дисперсия ошибкипредсказания составляет десятую часть дисперсии предсказываемой величины.Рeзультаты сравнения приведены на графике 5.2. Как видно, лучший результат был получен при использовании нелинейной модели навсех входных данных. Использование лишь последних измерений динамических величин оказывается недостаточным. Нелинейные модели показывают существенно более высокую точность на дальних горизонтахпрогнозирования, чем линейные модели.29Рисунок 5.2 — Сравнение точности предсказания различных моделей5.4Предсказание распределенияУспешное применение искусственной нейронной сети для оценкисреднего значения предстоящего потребления процессорного временинеобходимо распространить на оценку всего вероятностного распределения.На тренировочных данных 23% предсказываемых значений равны0, и 20% значений равны 1.
Такая особенность не согласуется с непрерывными распределениями, т.е. истинное распределение имеет непрерывнуюи дискретную составляющие. Распределение ошибок предсказательноймодели на примерах, истинное значение нового потребления процессорного времени которых не равно 0 или 1, имеет характерную для распределения Лапласа форму (рис. 5.3), поэтому для описания непрерывнойсоставлябщей было решено брать именно его.В качестве алгоритма предсказания были выбраны вариационныенейронные сети (стр. 13). Выходами сети являются параметры пред-30Рисунок 5.3 — Распределение ошибок предсказания нового потребленияиз отрезка [0.0001, 0.9999]сказываемого распределения. При обучении минимизируется расстояниеКульбака — Лейблера от эмпирического распределения до предсказываемого, или логарифм функции правдоподобия истинного потребленияпроцессорного времени в предсказанном распределении. В силу описанных в предыдущем абзаце особенностей распределения потребления, было выбрано следующее параметрическое семейство вероятностных распределений:(|0 , , 1 , , ) = ·exp (−| − |)+0 ·( = 0)+1 ·( = 1)2(, )11exp (−(1 − ∆ − )) − exp ((∆ − ))22Дельта-функция Дирака делает вычисление правдоподобия затруднительным, поэтому дельта-функции на концах единичного отрезка были заменены узкими (∆ = 10−4 ) равномерными распределениями.(, ) нормирует распределение Лапласа, чтобы учесть ограниченностьносителя.(, ) = 1 −315.4.1Особенности обученияДля успешного обучения построенной модели оказалось важнымприменение ряда приёмов.Ключевым моментом в обучении было строгое разделение тренировочных примеров, применённых для обучения предсказания параметра, и примеров, применённых для обучения остальных выходов нейронной сети.