Научная статья на тему 'Минимизация трафика в облачной инфраструктуре'

Минимизация трафика в облачной инфраструктуре Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
224
76
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ / ПЛАНИРОВАНИЕ / ТРАФИК / CLOUD COMPUTING / SCHEDULING PROBLEM / TRAFFIC

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Суханов Владимир Иванович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

MINIMIZING TRAFFIC IN THE CLOUD INFRASTRUCTURE

The article presents formulation of the scheduling problem of excessive placement of data on cloud nodes to minimize the information traffic costs

Текст научной работы на тему «Минимизация трафика в облачной инфраструктуре»

УДК 004.6: 004.75

МИНИМИЗАЦИЯ ТРАФИКА В ОБЛАЧНОЙ ИНФРАСТРУКТУРЕ

UDC 004.6: 004.75

MINIMIZING TRAFFIC IN THE CLOUD INFRASTRUCTURE

Суханов Владимир Иванович д.т.н., доцент

Уральский федеральный универсистет, Екатеринбург, Россия

Sukhanov Vladimir Ivanovich Dr.Sci.Tech., associate professor

Ural Federal University, Ekaterinburg, Russia

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

Ключевые слова: ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ, ПЛАНИРОВАНИЕ, ТРАФИК

The article presents formulation of the scheduling problem of excessive placement of data on cloud nodes to minimize the information traffic costs

Keywords: CLOUD COMPUTING, SCHEDULING PROBLEM, TRAFFIC

Облачные вычисления (Cloud Computing) - новое направление компьютерных технологий, которое решает много организационных, юридических и финансовых проблем пользователям, но требует от провайдеров предоставление широкого спектра сервисов и технологий, покрывающих возможные запросы со стороны клиентов. Облачные технологии основаны на инфраструктуре аппаратных и программных средств, содержащих набор вычислительных машин - узлов, объединенных локальной сетью передачи данных для приватных и сетью Интернет для публичных облаков. Организуют работу таких структур провайдеры, предоставляющие клиентам вычислительные услуги. Провайдер может располагать как собственной инфраструктурой, так и арендовать ее у поставщика IaaS.

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

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

Рисунок 1 — Схема взаимодействия подсистем и пользователей

облачной платформы

Эффективность предоставления услуг клиенту определяется во многом объемом накладных расходов на организацию вычислений на узлах

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

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

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

Комбинаторные задачи с нелинейными критериями относятся к классу NP-полных задач (Nondeterministic Polinomial) с экспоненциальной оценкой времени их решения [1]. Точное решение таких задач можно получить перебором всех допустимых распределений объектов по позициям, но затраты времени будут неприемлемы для нужд практики. Аналогичную оценку сложности имеют точные методы, основанные на

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

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

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

Машины узлов располагают ресурсами в объемах

Как и для потребителей ресурсов все соглашения о их номенклатуре и предоставляемых объемах остаются в силе.

Приложения при своей работе требуют пересылки данных друг-другу в среднем в единицу времени в объемах, задаваемых матрицей

a = (ain ... ,ai,k)T,i = 0_.,n- L

(І)

bj= (bj,1,... ,bj,k )T,j= ,m.

(2)

C = [cv} ,i= 1,... ,n;j = 1,... ,n.

(з)

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

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

X = {xij), i= 0,... ,n- 1, n, ...,2* n- 1,..., p* n- 1; j= 1,... ,m (4)

Переменная xj G {0,1}принимает значение 1, если приложение с номером i размещается в узле j, в противном случае - 0. Число элементов столбца матрицы размещения равно числу приложений, помноженному на число их копий. Для целей удобства записи номеров приложений и их копий, используемой в следующих конструкциях, нумерация строк начинается с нуля. Число столбцов равно числу узлов сети и их нумерация начинается с единицы.

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

m

V x.= 1, i= 0,1,... ,n- 1,n,...,2* n- 1,..., p* n- 1.

* j (5)

Запрет размещения нескольких копий приложения на одном узле будет выглядеть так:

xj* x(i + n*r)j= 0,i= 1,...,n;j = ^.^,m;r = 1,...,p- 1. (6)

То есть, если какая-то копия i-го приложения размещена на узле j, то другая копия того же приложения не может быть на том же узле: произведение соответствующих индикаторов присутствия равно нулю.

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

px n-1

Е xu x а (i mod n)r £ bur>r = 1,-,k;U= 1,...,m , (7)

j= 0

где (a mod b) - остаток от a по модулю b.

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

p* n- 1 p* n- 1

f (u,V )- Z Z xu* xjv * c (i mod n) (j mod n)

,= 0 j= 0 . (8)

Целевая функция задачи оптимального распределения приложений по узлам облака будет определяться суммой трафика между всеми парами узлов облака:

m m p * n— 1 p* n— 1 f ( U,V )= X X Z Z Xiu* xjv* c{ imod n) (j mod n)

u= 1 v = u+ 1 u= 1 v- u+1 i=0 j=0 . (9)

Таким образом, имеем поиск решения (4) задачи булевского комбинаторного программирования с нелинейными ограничениями (5 - 7) и нелинейной целевой функцией (9). Это хорошо известная проблема о разрезах в графе, точное решение которой имеет сложность NP-полной задачи [1]. Для получения решения в обозримое время с достаточной инженерной точностью приходится прибегать к эвристическим алгоритмам, не гарантирующим контролируемую погрешность.

Первая проблема - наличие и поиск допустимых решений, удовлетворяющих ограничениям (5 - 7). В реальных условиях

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

m m

F (X )= Z Z

Допустимый план X может удовлетворять кроме ресурсных еще ряду условий:

приложений;

• рекомендациям по диапазонам допустимых для приложений узлов;

• несовместимости приложений друг с другом.

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

Для элементов х еЯ определим расстояние от границы множества

Центрами в Я будут планы Х°, для которых г (х°)= тахг (х). Планы центра X обладают максимальным запасом устойчивости при изменении внешней обстановки при их реализации. Для сравнительной оценки состояния ресурсов целесообразно перейти к нормированной величине потребления ресурсов позициями:

Шагом процесса ф будет закрепление одного объекта в некоторой позиции плана. Выбор ф на шаге ^ переводит процесс из состояния х5 в состояние ф(). Состояние х' достижимо из х (х ® х'), если существует последовательность шагов ф1> -. ,Ф р, переводящая х в х'. Множество состояний ^ достижимое из Я/ (Я/ ® ЯД если из каждого состояния х е Я/ достижимо некоторое х е Яя .

• декларациям, определяющим обязательные закрепления

Я:

Л

] ,и . л

^ V /=1

У

Пусть Я (р) - множество допустимых планов, достижимых из позиции р(х*). Оценка

*

д(р) = тах |Ди(х) - Ди(х )\

и,хё Я()

характеризует близость множества Я (р) к центру X совокупности Я. Экстремальным переходом из позиции х* будем называть выбор р° из условия

3(р°) = тт 3(р)

реф *

Глубиной рефлексии г алгоритма поиска решения будем называть число подмножеств К! ® К+1 ® ••• ® К+г, просматриваемых на каждом шаге *. Каждое Я *+I может быть представлено разбиением

Я * + I = Я * + I и Я * + I , Я * + I 1 Я * + I =0 .

Таким образом, каждое подмножество содержит состояния, из которых можно построить допустимый план. Оценка свойства непустоты Я*+г может быть произведена с ростом г с большей точностью. Ввиду ограниченных вычислительных возможностей ЛПР фиксирует величину г, например, полагая г = 1.

Рассмотрим случай (для больших значений г полученные результаты распространяются индуктивно), когда ЛПР затрачивает минимальное время на решение задачи. При этом он располагает знаниями на один шаг процесса: текущее состояние х*, возможные управления р е ^* и множество Iх!+1 =р(х*),} достижимых состояний. Для всех х+ зададим нечеткую функцию Л( х*+1), определяющую степень

принадлежности х+ целевому множеству Я*+;. Воспользуемся эвристической гипотезой: величина Л(х*+1) является неубывающей функцией от размера запаса 1- ^(х*+1) ресурсов. Следовательно, максимизация запасов на шаге * способствует достижению целевого множества Я. Свойства объектов и позиций определяют различную зависимость между распределяемыми ресурсами. В связи с этим рассмотрим следующие ситуации.

Построение начального допустимого плана может требовать значительного трудно прогнозируемого времени при больших значениях глубины рефлексии. Здесь сказывается экспоненциальный рост числа просматриваемых вершин дерева решений. Поэтому в инженерной практике целесообразно ориентироваться на алгоритмы с контролируемым временем работы. Таким алгоритмом может быть последовательное улучшение плана [2, 3] за счет перестановки приложений в узлах.

Выберем произвольным способом некоторое подмножество приложений Е С {е 1...небольшой мощности, например, \Е \£ 3. При небольшом числе объектов в Е можно перебором найти их наилучшее расположение по узлам сети, не затрагивая позиций остальных приложений. Число проб в этом случае не превышает т|Е 1, что вполне приемлемо для современных ЭВМ. Поиск их нового размещения следует выполнять с учетом ограничений (5 - 7) задачи. Если новое размещение улучшает старое, то заменяем им старое и продолжаем попытки улучшить план. Если все попытки не приводят к улучшению, то заканчиваем поиск решения основной задачи.

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

растет как число сочетаний СП , где п - общее число объектов; к = |Е | -мощность группы. Поэтому часто из соображений экономии времени ограничиваются величиной к = 2.

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

Последнее замечание. Получаемый в результате последовательного процесса неулучшаемый план существенно зависит от начального допустимого плана. Описанный процесс аналогичен известным методам управляемого спуска, в частности, градиентному. Результатом такого процесса является попадание в локальный минимум целевой функции. Если у ЛПР есть достаточный ресурс времени, то целесообразно повторять процесс поиска для различных начальных планов, выбрав из всех локальных решений наилучшее.

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

1. Гэри М., Джонсон Д. Вычислительные машины и трудно решаемые задачи. - М.: Мир, 1982. - 416 с.

2. Михалевич В.С., Кукса А.И. Методы последовательной оптимизации в дискретных задачах оптимального распределения ресурсов. - М., :Наука, 1983. -208 с.

3. Емеличев В.А., Комлик В.И. Метод построения последовательности планов для решения задач дискретной оптимизации. - М.: Наука, 1981. - 207 с.

Работа поддерживается Министерством образования и науки Российской Федерации, ГК 07.514.11.4026 (шифр 2011-1.4-514-104-009)

i Надоели баннеры? Вы всегда можете отключить рекламу.