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

Виртуализация как базовая технология абстракции для большинства облаков IaaS, позволяющая обеспечить совместное выполнение виртуальных машин на физическом сервере. Знакомство с основными проблемами прогнозирования нагрузки на аппаратные серверы.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 01.02.2019
Размер файла 174,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

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

В данной статье авторы освещают проблему прогнозирования нагрузки на аппаратные серверы при реализации технологии виртуализации. Рассмотрены существующие подходы к решению данной проблемы. Описано применение Байесовской сети для прогнозирования нагрузки.

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

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

Технология виртуализация имеет ряд особенностей, например, возможность динамического изменения конфигурации виртуальной машины во время выполнения [3, 4]. Еще одним свойством виртуализации является то, что виртуальные машины могут перемещаться без прерывания выполнения с одного физического узла на другой, что открывает широкий спектр возможностей управления со стороны инфраструктуры, поскольку сопоставление физических ресурсов виртуальным может динамически изменяться в зависимости от спроса и доступности. С данным свойством связано появление динамического аспекта задачи размещения виртуальных машин [5], заключающегося в перемещении распределенных виртуальных машин для обеспечения их максимальной производительности и соответствия концепции green computing. В качестве математического аппарата используются теория массового обслуживания, либо методы линейного программирования, использующие статистику загрузки сервера.

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

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

Одним из методов прогнозирования нагрузки является применение регрессионных моделей, описанное в работе [7]. Здесь авторы предсказывают процессорную нагрузку на машину в распределенных системах с помощью моделеи? Бокса -- Дженкинса: AR, MA, ARMA, ARIMA и ARFIMA. Кроме моделеи? Бокса -- Дженкинса, в статье рассматривались еще три примитивных метода, с которыми производилось сравнение: среднее значение на предыдущем интервале - BM («simple windowed-mean predictor»), среднее как долгосрочное предсказание - MEAN («long-term mean predictor»), и экстраполяция последнего значения - LAST. Точность прогноза определялась среднеквадратичным отклонением. Авторами были сделаны выводы о том, что нагрузка на сервер предсказуема, для предсказания можно использовать линеи?ные модели, все модели, за исключением MA, показали соотносимые результаты а пределах средне-квадратичного отклонения.

Ещё один способ прогнозирования нагрузки - использование фильтра Калмана, который применяется для динамического управления ресурсами в многоуровневых (многокомпонентных) серверных приложениях, каждый уровень/компонент которых работает в отдельной виртуальной машине. Критерием эффективности управления является максимизация производительности приложения. Большое внимание уделяется выявлению связей между компонентами приложения, так как при возрастании нагрузки на один компонент, с большой вероятностью она возрастет на связанные с ним. Таким образом, в [8] фильтр Калмана используется для двух основных целей. Во-первых, для отслеживания использования ресурсов (нагрузки) и предсказания их потребления на следующем шаге. Во-вторых, он помогает определить зависимости между компонентами приложения. Такой подход применяется, когда нужно предсказать поведение системы на один шаг вперед. При этом можно динамически проверять точность предсказания во время исполнения, уточняя предсказанные значения на следующий интервал с учетом ошибки в предыдущем интервале. Фильтр Калмана можно применять для краткосрочных предсказаний, но не для долгосрочных, где он не эффективен. Фильтр Калмана широко используется в области автономной или вспомогательной навигации. Он хорошо подходит для оценки загрузки облачного приложения, поскольку он был первоначально разработан для оценки изменяющихся во времени состояний в динамических системах. Этот подход по существу использует метод фильтрации для устранения шума сигнала использования ресурсов, исходящего из погрешности техники измерения, при этом обнаруживая его реальные основные колебания. Для достижения лучшего QoS и более высокого использования ресурсов.

Еще одним инструментом прогнозирования рабочей нагрузки являются нейронные сети. Сеть реализуется с использованием электронных компонентов или имитируется программным обеспечением. Нейронная сеть используется для прогнозирования нагрузки, которая в качестве входных параметров использует статистические данные [9, 10]. В качестве неи?роннои? сети можно определить произвольныи? параметризированныи? граф вычислении?, тем самым задать желаемую структуру модели. Веса искусственнои? неи?роннои? сети, как правило, оптимизируются с использованием метода обратного распространения ошибки [11].

Наиболее подходящий для предсказания нагрузки - это метод Байеса, который может точно предсказать нагрузку на хост в течение длительного периода времени. Метод прогнозирования на основе Байесовской модели используется для прогнозирования средней нагрузки на долгосрочном временном интервале, а также средней нагрузки на последующих временных интервалах. Использование Байесовской модели для прогнозирования эффективно сохраняет важную информацию о колебаниях нагрузки и шуме [12]. Для любого заданного интервала прогнозирования он представляет собой набор последовательных сегментов, длины которых увеличиваются экспоненциально. Он предсказывает среднюю нагрузку по каждому временному сегменту. Основная идея состоит в том, чтобы генерировать заднюю вероятность из предыдущего распределения вероятностей и доказательств времени выполнения недавних колебаний нагрузки, согласно классификатору Байеса [13, 14].

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

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

Суммируя показатели выделенной виртуальным машинам памяти, получаем показатель задействованной оперативной памяти на определенном сервере в 9:10, 9:20, 9:30 и т.д. Исходя из этого, сложив все значения и поделив на кол-во временных интервалов в час, можно рассчитать средний объем использованной оперативной памяти в следующие временные промежутки: 9:00-10:00, 10:00-11:00, 11:00-12:00 и т.д.

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

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

Согласно теореме Байеса, вероятность принадлежности нагрузки x к классу вычисляется следующим образом:

(1)

где - вероятность, что нагрузка x принадлежит классу , - вероятность встретить нагрузку x среди других нагрузок класса (плотность распределения класса ), - априорная вероятность класса появления нагрузки класса , - безусловная вероятность появления нагрузки x.

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

Наиболее вероятным классом , которому будет принадлежать нагрузка x, является тот класс, для которого условная вероятность принадлежности максимальна:

(2)

Таким образом, необходимо вычислить вероятность для всех классов и выбрать тот, для которого вероятность имеет максимальное значение.

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

- средняя нагрузка

(3)

- индекс честности (fairness index) - характеризует степень колебаний нагрузки. Чем больше индекс честности, тем стабильнее нагрузка:

(4)

- уровневое состояние (type state) - пара (кол-во уникальных присутствующих уровней нагрузки или классов; кол-во переходов между уровнями нагрузки), характеризует разброс значений нагрузки и степень их дрожания;

- первая и последняя нагрузка (first-last load) - пара (начальный уровень нагрузки; конечный уровень нагрузки), грубо характеризующая тренд.

Далее делается существенное допущение, которое объясняет, почему данный классификатор называется наивным: знаменатель может быть опущен, так как для одной и той же нагрузки x вероятность P(x) будет одинаковой, значит ее можно не учитывать:

(5)

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

(6)

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

(7)

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

Для прогнозирования будущей нагрузки предлагается выделение десяти классов: 0-10%, 10-20% и т.д. использования оперативной памяти сервера (рис.1). Классификация осуществляется на основе рассчитанной на каждом интервале средней нагрузке, а также первого и последнего значения. Таким образом были рассчитаны апостериорные вероятности принадлежности нагрузки классам. Несмотря на сравнительно невысокую точность полученных результатов, их вполне достаточно для расчета количества серверов, требуемого для выполнения всех необходимых ВМ.

Таким образом, конечная цель облачных вычислений - предоставить пользователю более качественные и эффективные услуги. Эффективное обслуживание состоит из минимальной стоимости услуг, максимальной скорости работы и безотказности. Также, физические машины, которые простаивают, можно отключать, что экономят энергию и соответствует концепции green computing. Количество включенных физических серверов должно быть сведено к минимуму. Важно предотвращать перегрузки: емкость физической машины должна быть достаточной для удовлетворения потребностей в ресурсах всех запущенных на ней виртуальных машин. Должно осуществляться распределение и перераспределение ресурсов в соответствии с прогнозом поведения в прошлом и SLA.

Рисунок 1. Разбиение статистических данных на классы

сервер виртуализация прогнозирование

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

Список литературы

сервер виртуализация прогнозирование

1.Makoviy K. et al. Server hardware resources optimization for virtual desktop infrastructure implementation //CEUR Workshop Proceedings. - 2017. - Т. 1904. - С. 178.

2.Speitkamp B., Bichler M. A mathematical programming approach for server consolidation problems in virtualized data centers //IEEE Transactions on services computing. - 2010. - Т. 3. - №. 4. - С. 266-278.

3.Dawoud W., Takouna I., Meinel C. Elastic virtual machine for fine-grained cloud resource provisioning //Global Trends in Computing and Communication Systems. - Springer, Berlin, Heidelberg, 2012. - С. 11-25.

4.Kalyvianaki E., Charalambous T., Hand S. Self-adaptive and self-configured cpu resource provisioning for virtualized servers using kalman filters //Proceedings of the 6th international conference on Autonomic computing. - ACM, 2009. - С. 117-126.

5.Mi H. et al. Online self-reconfiguration with performance guarantee for energy-efficient large-scale cloud computing data centers //Services Computing (SCC), 2010 IEEE International Conference on. - IEEE, 2010. - С. 514-521.

Размещено на Allbest.ru

...

Подобные документы

  • Виртуализация как изоляция вычислительных процессов и ресурсов друг от друга. Ее основные категории: виртуализация платформ и ресурсов. Свойства и отличительные признаки полной и частичной эмуляции. Понятие и принципы применения паравиртуализации.

    контрольная работа [2,3 M], добавлен 14.06.2022

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

    эссе [26,5 K], добавлен 26.05.2014

  • Роль, место, структура прогнозирования и предсказывания в информационно-аналитической работе. Характеристика его методов: имитационного моделирования, морфологического анализа,"дерева целей", неформального прогнозирования. Основные правила их составления.

    контрольная работа [90,3 K], добавлен 19.04.2011

  • Математические модели, построенные по принципу организации и функционирования биологических нейронных сетей, их программные или аппаратные реализации. Разработка нейронной сети типа "многослойный персептрон" для прогнозирования выбора токарного станка.

    курсовая работа [549,7 K], добавлен 03.03.2015

  • Стратегия иерархического, многослойного управления большими системами. Метод согласования модели. Двухуровневое решение задачи статической оптимизации. Метод прогнозирования взаимодействия. Согласование цели, однородность. Время отклика прогнозирования.

    лекция [201,0 K], добавлен 29.09.2008

  • Исследование задачи и перспектив использования нейронных сетей на радиально-базисных функциях для прогнозирования основных экономических показателей: валовый внутренний продукт, национальный доход Украины и индекс потребительских цен. Оценка результатов.

    курсовая работа [4,9 M], добавлен 14.12.2014

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

    реферат [1,0 M], добавлен 23.09.2014

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

    доклад [23,6 K], добавлен 20.12.2008

  • Основные понятия технологии Flash; сфера применения. Использование методов хранения информации на стороне клиента в клиент-серверных Flash-приложениях; использование места на жестком диске в классе sharedobject. Создание интерактивных учебных материалов.

    дипломная работа [598,0 K], добавлен 25.06.2012

  • Прогнозирование валютных курсов с использованием искусственной нейронной сети. Общая характеристика среды программирования Delphi 7. Существующие методы прогнозирования. Характеристика нечетких нейронных сетей. Инструкция по работе с программой.

    курсовая работа [2,2 M], добавлен 12.11.2010

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

    дипломная работа [888,9 K], добавлен 29.03.2015

  • Состав базовых станций Compact TETRA: все необходимые компоненты для управления сайтом аппаратные и программные средства. Контроллер базовой станции с программным обеспечением для коммутации. Диспетчерское рабочее место, индивидуальный и групповой вызовы.

    реферат [599,6 K], добавлен 29.10.2010

  • Разработка модулей для автоматического развертывания виртуальных сред и технология их резервного копирования. Схемы сетевого взаимодействия виртуальных сред и их состав (настройка гостевых операционных систем и служб) для каждого из специалистов.

    дипломная работа [3,7 M], добавлен 06.03.2013

  • Проект автоматизированной системы прогнозирования относительного курса валютных пар для международной валютной биржи Forex с использованием нейронных сетей. Требования к техническому обеспечению. Обоснование выбора средств автоматизации программы.

    курсовая работа [1,3 M], добавлен 05.01.2013

  • Основы прогнозирования банкротства предприятия с помощью индекса Альтмана. Создание программы для расчета коэффициента "Z" с помощью языка программирования Delphi. Расчет показателя эффективности активов по балансовой прибыли и доли оборотных средств.

    курсовая работа [881,8 K], добавлен 30.01.2012

  • Использование совокупных универсальных средств управления функциями системы. Основные возможности антивирусных программ. Совместное использование ресурсов сети. Оптимизация размещения информации. Периферийные устройства персонального компьютера.

    отчет по практике [31,5 K], добавлен 25.06.2012

  • Понятие экспертных систем, их классификация, виды и структура. Построение продукционной модели экспертной системы прогнозирования результатов сессии на основании анализа успеваемости, ее реализация в языке логического программирования Visual Prolog.

    дипломная работа [1,6 M], добавлен 25.01.2011

  • Классификация ЭВМ: по принципу действия, этапам создания, назначению, размерам и функциональным возможностям. Основные виды электронно-вычислительных машин: суперЭВМ, большие ЭВМ, малые ЭВМ, МикроЭВМ, серверы.

    реферат [22,8 K], добавлен 15.03.2004

  • Основные этапы развития вычислительных машин. Роль абстракции в вычислительной технике. Понятие "алгоритм" в контексте понятия "вычислительная техника". Изобретатели механических вычислительных машин. Многообразие подходов к процессу программирования.

    презентация [104,7 K], добавлен 14.10.2013

  • Возможности Macromedia Flash для создания красочных и, в тоже время, компактных Web-ресурсов. Улучшенные возможности для создания графики, использование скриптов, форм и подключение серверных возможностей. Пользовательский интерфейс и среда разработки.

    статья [202,1 K], добавлен 01.05.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.