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

Исследование задач оптимального распределения допустимых нагрузок серверных приложений на сервере Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Андриенко Екатерина Александровна, Гвоздинский Анатолий Николаевич, Ратай Станислав Константинович

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Андриенко Екатерина Александровна, Гвоздинский Анатолий Николаевич, Ратай Станислав Константинович

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

Investigation of problems of optimal distribution of allowable load server applications on the server

Nowadays most of enterprises need to store a large amount of data in electronic copies. Therefore there is a need to install servers. For its correct work you should to calculate allowable load services with characteristics such as: the minimal time of processing services; minimal contribution to processing services; minimum of errors. This work propose mathematical model of the linear programming based on models of simplexmethod and principle Bayes-Laplace. The result is obtained the best plan of the server work.

Текст научной работы на тему «Исследование задач оптимального распределения допустимых нагрузок серверных приложений на сервере»

УДК519.7

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

АНДРИЕНКО Е.А., ЕВОЗДИНСКИЙ А.Н., РАТАЙ С.К.

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

1. Введение

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

РИ, 2012, № 2

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

-увеличение обработки информации;

- повышение качества обработки;

- снижение времени на обработку информации;

- автоматическая генерация отчетов.

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

69

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

На любом предприятии используют серверы, создают многопользовательские центры, которые объединяют информацию всех работников-пользователей, что обеспечивает моментальный и очень удобный доступ к ней. Сервер обрабатывает огромный массив данных и предоставляет обмен информацией между всеми участниками одного проекта. Работа в учреждении или на предприятии становится более эффективной и отлаженной, так как увеличивается скорость выполнения задач и повышается ее надежность. Соответственно уменьшается количество ошибок и просчетов. С помощью серверов можно объединить также и материальные ресурсы, такие как факсы, принтеры и др. Поэтому понятно, что все это приводит только к огромной экономии времени и денег. Благодаря серверу мы общаемся по электронной почте, в сбербанках сотрудники распечатывают нам документы, а в супермаркетах кассиры очень быстро нас обслуживают. С помощью удаленного сервера мы всегда выходим в Интернет. Понятно, что совокупность серверов, которые обеспечивают доступ к удаленным собраниям ресурсов, и дает такое многообразие наполнения Интернета. Все сайты в Интернете хранятся на серверах. А доступ к серверам предоставляют хостинговые компании. Все это называется виртуальным хостингом. Безусловно, что чем надежнее, быстрее и безопаснее работает сервер, тем дороже обходится и серверное оборудование, а также программное обеспечение. Исходя из этих соображений, сервер является очень выгодным компонентом при работе в сети. Статистика гласит о том, что за 2011 год реализацию прошли 8,84 миллиона серверов. По сравнению с 2010 годом темп роста составил примерно 17%.

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

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

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

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

2. Постановка задачи и математическая модель

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

- достигнуть минимума времени на обработку запросов;

- минимум затрат на обработку запросов приложений (служб);

- достигнуть минимума ошибок.

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

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

F(x) = 6ОХ1 + 25x2 + 15хз ^ min (1) при условиях:

0.3xj + 0.5x2 + 0.4x3 < 300, (2)

0.5xj + 0.7x2 + 0.8x3 < 800, (3)

1.3x1 + 0.1x2 + 1.2x3 < 200, (4)

x1 > 500; x2 > 300, (5)

- минимум затрат на обработку запросов приложений (служб):

F(x) = 55x1 + 30x2 + 8x3 ^ min (6)

при условиях:

0.8x1 + 0.5x2 + 0.3x3 < 250, (7)

0.3x1 + 0.5x2 + 0.6x3 < 500, (8)

70

РИ, 2012, № 2

0.8xj + 0.1x2 + 1.1x3 < 150, (9)

xj > 400; x2 > 150, (10)

- достижение минимума ошибок:

F(x) = 25x1 + 10x2 + 30x3 ^ min (11)

при условиях:

0.6x1 + 0.7x2 + 0.4x3 < 200, (12)

0.6x1 + 0.75x2 + 0.8x3 < 700, (13)

1.4x1 + 0.5x2 + 1.4x3 < 300, (14)

x1 > 550; x2 > 350. (15)

Целевые функции F(x), представленные в выражениях (1), (6), (11), выражают возможные значения нагрузок, при которых сервер может корректно обрабатывать, передавать, принимать данные, определенные пользователем. Таким образом, для получения оптимального плана необходимо минимизировать целевые функции F(x) с соблюдением всех условий задачи, которые накладывают ограничения на F(x).

В выражениях (1)-(15) описана задача для нахождения экстремумов линейных функций в условиях системы линейных ограничений.

3. Исследования методов решения

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

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

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

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

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

Процесс нахождения оптимального плана предполагает реализацию 3 -х элементов:

1) определение первоначального допустимого базисного для решения задачи распределения нагрузок;

2) правило перехода к лучшему решению для нахождения max нагрузок;

3) критерий проверки оптимальности для решения данной задачи.

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

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

- вероятности появления состояния Fj известны и не зависят от времени;

- решение реализуется (теоретически) бесконечно много раз;

- для малого числа реализаций решения допускается некоторый риск.

При достаточно большом количестве реализаций среднее значение постепенно стабилизируется. Поэтому при полной (бесконечной) реализации какой-либо риск практически исключён.

4. Алгоритмы решения задачи

Для использов ания конкретных методов решений стоит сформулировать следующие примеры для таких методов:

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

Шаг 1. Формулировка ЗЛП (формирование целевой функции и системы ограничений распределения нагрузок на сервер). Из этого следует, что решается задача на отыскание максимума. Следует привести

РИ, 2012, № 2

71

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

F(x) = бОх^ + 25x2 + 15хз ^ min (16)

при условии, что:

0.3х1 + 0.5х2 + 0.4х3 < 300, (17)

0.5х1 + 0.7х2 + 0.8х3 < 800, (18)

1.3х1 + 0.1х2 + 1.2х3 < 200, (19)

х1 > 500; х2 > 300. (20)

В этих выражениях х1, х2, х3 — критерии, по которым рассчитываются нагрузки на серверы.

Шаг 2. Приведение задачи к канонической форме, что является переводом функции ограничений в систему уравнений. Для этого нужно вводить дополнительные неотрицательные переменные. При этом следует знать, что эти переменные должны иметь тот же знак, что и свободные члены системы ограничений. Если это условие не выполняется, то нужно использовать метод искусственного базиса (М-метод).

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

F^) = 60х1 + 25х2 + 15х3 ■ min (21)

при тех же ограничениях:

0.3х1 + 0.5х2 + 0.4х3 - - х 4 = 300, (22)

0.5х1 + 0.7х2 + 0.8х3 - - х 5 = 800, (23)

1.3х1 + 0.1х2 + 1.2х3 - - х6 = 200. (24)

В результате этого можно получить систему ограничений данной задачи по 3-м критериям.

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

Таблица 1

Cj Ci=60 Cn=25 Сз=15 C4=0 Cj=0 Cs=0

Базис Сі Po=Xo Pi Pi Pi P4 Pi Ps

Р4 0 300 0J 0,5 0,4 -l 0 0

Pi 0 SOO 0,5 0,7 o,s 0 -l 0

Ps 0 200 u 0,1 12 0 0 -1

Fj 0 0 0 0 0 0 0

Лі - -60 -25 -15 0 0 0

Итак, в левом столбце записываются основные (базисные) переменные, в первой строке перечисляются все переменные задачи. Крайний правый столбец содержит свободные члены системы ограничений b1,b2,...,bm. В последней строке таблицы, которая называется оценочной, записываются коэффициенты целевой функции, а также ее значение. В рабочую область таблицы занесены коэффициенты aij при переменных системы ограничений.

Шаг 4. Проверка условия Cj > 0. Если условие не действительно - осуществляется переход к шагу 5, если да - задача решена. Таким образом, на данном шаге проверяется наличие положительных элементов в последней строке симплексной таблицы.

Шаг 5. Выбор разрешающего столбца и строки. Столбец выбирается в соответствии со следующим условием:

0 = х7хік, хік > ^ (25)

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

где k - номер разрешающего столбца.

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

Шаг 6. Проверка условий: если хк > 0 , то опорный

план и есть решением задачи; хк < 0 - следует рассмотреть шаг 7.

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

Шаг 7. Пересчет элементов симплекс-таблицы и переход к новому базисному решению.

Для элементов разрешающей строки используются следующие формулы:

хч = хч/хгк , (26)

хч = хч-хп*хік/хгк , (27)

j = 0, (r + m), (28)

где r - номер разрешающей строки; к - номер разрешающего столбца; хГ) ,х^ - новые значения пересчитываемых элементов.

По окончании пересчета осуществляется возврат к шагу 4.

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

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

Базовый план выглядит так:

х* = ||112.9; 532.26; 0; 0; 370.97; 0||.

В результате получили значение целевой функции:

FW = 25*532.26 + 0*370.97 + 60*112.9 = 20080.

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

72

РИ, 2012, № 2

(приложений, служб) на сервере могут составить не больше 20080 запросов.

Аналогично вычислениям на минимальное время выполнения служб можно получить значение критерия на минимум затрат при обработке запросов приложений (служб).

Оптимальный план будет выглядеть так:

x* = |jl56.5; 250; 0; 0; 328.13; 0||,

F(x) = 30*250 + 0* 328.13 + 55*156.5 = 16093.

Минимальное время выполнения служб будет при подаче 16093 запросов на сервер.

При достижении минимума ошибок во время выполнения обработки информации на сервере с помощью служб или приложений будут другие данные:

х* = ||0;0; 214.29; 114.29; 528.57; 0||,

F(x) = 0*114.29 + 0* 528.5 + 30 *214.29 = 6428.

Минимум ошибок будет достигнуто при выполнении 6428 запросов.

Критерий Байеса-Лапласа предъявляет к ситуации, в которой принимается решение о распределении нагрузок приложений на сервер.

Расчет критерия Байеса-Лапласа выглядит так:

KfL =Е PjUj, (29)

J

iBL = arg max(KBL ), (30)

i

Шаг 1. Определение вероятностей состояний сервера для данной задачи. Они будут равны

p1 = 0.3; p2 = 0.5; p3 = 0.2.

Шаг 2. Составление матрицы ценности. Соответственно она будет состоять из альтернативных решений, которые включают в себя состояния сервера и решений.

Это показано в табл. 2:

Таблица 2

Состояния сервера Альтернативные решения 12 3

Решение I 10000 15366 9370

Решение 2 3750 14S00 7650

Решение 3 9630 15560 9320

Шаг 3. Определение критериев по Байесу-Лапласу. Значения критериев будут равны:

kBL = 0.3 * 10000 + 0.5 * 15366 + 0.2 * 9870 = 12657;

KBL = 11555; K3BL = 12533.

Шаг 4. Определение наилучшего решения - максимального. Для данной задачи теперь можно определить, что наилучшим решением является первое:

iBL = arg max(12657,11555,12533) = 1, KBL = 1.

Т аким образом, было найдено решение для распределения нагрузок на сервер: из трех решений первое было наилучшим по критерию Байеса-Лапласа.

4. Выводы

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

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

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

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

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

Работа сотрудников любой фирмы во многом зависит от эффективности работы сервера. Хорошо отлажен-

РИ, 2012, № 2

73

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

Литература: 1. Бондаренком. Ф., Гвоздинский А.М. Оптимизационные задачи в системах принятия решений.

Поступила в редколлегию 13.04.2012

Рецензент: д-р техн. наук, проф. Куземин А.Я.

Андриенко Екатерина Александровна, студентка группы КН-08-4 кафедры искусственного интеллекта ХНУРЭ. Научные интересы: методы принятия решения в системах искусственного интеллекта. Адрес: Украина, 61202, Харьков, ул.Целиноградская, 36, к.516, тел. (050)-287-26-87.

Гвоздинский Анатолий Николаевич, канд.техн.наук, профессор кафедры искусственного интеллекта ХНУ-РЭ. Научные интересы: оптимизация процедур принятия решений в сложных системах управления. Адрес: Украина, 61166, Харьков, ул.акад. Ляпунова, 7, кв. 9, тел. 702-38-33.

Ратай Станислав Константинович, студент группы КН-08-2 кафедры информационно-управляющие системы ХНУРЭ. Адрес: Украина, 61202, Харьков, ул. Отокара Яроша, 15, кв. 67, тел. (093)-246-83-35.

74

РИ, 2012, № 2

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