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

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

CC BY
324
21
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
оптимальное распределение допустимых нагрузок / симплексный метод / стохастический принцип Байеса-Лапласа / optimal distribution of permissible loads / simplex method / stochastic Bayes-Laplace principle

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

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

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

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

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

Investigation of methods about optimal loads to the server

The basic method of optimizing the allocation of allowable loads on the server using certain conditions. To find the solutions was chosen simplex method and stochastic principle Bayes-Laplace. Actuality optimal distribution of load on the server. Question server maintenance is very important to developers or owners of large highly frequented projects. The results of this study are of great practical importance for the development plan of the server in terms of minimizing mistakes, time for processing requests and cost for technical equipment.

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

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

УДК 519.7

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

ГВОЗДИНСКИЙ А.Н., СТОЛЯРЕНКО К.С._

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

1. Введение

Актуальность исследования. Последние десятилетия ХХ века отмечены событиями, существенным образом трансформировавшими современную технологическую р еально сть. Речь идет об активно м вхождении в жизнь общества новейших информационных технологий, произошедшем в результате бурного развития электроники, а также необходимости использования автоматизации бизнес-процессов как в коммерческой, так и некоммерческой деятельности предприятия. Внедрение IT-технологий и автоматизация рабочих мест кадров необходима для того, чтобы всегда оставаться конкурентоспособным на рынке как внешнем, так и внутренним. Внедрение таких технологий и их использование дают массу преимуществ. Это может быть и быстрый поиск информации во внутренних базах или хранилищах, и исключение дублирования информации. К преимуществам можно отнести:

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

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

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

- автоматическое создание отчетов.

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

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

На любом предприятии используют серверы, создают многопользовательские центры, которые объединяют информацию всех работников-пользователей, что обеспечивает моментальный и очень удобный доступ к ней. Сервер обрабатывает огромный массив данных и предоставляет обмен информацией между всеми участниками одного проекта. Работа в учреждении или на предприятии становится более эффективной и слаженной, так как увеличивается скорость выполнения задач и повышается ее надежность. Соответственно уменьшается количество ошибок и просчетов. С помощью серверов можно объединить также и материальные ресурсы, такие как факсы, принтеры и др. Поэтому понятно, что все это приводит только к огромной экономии времени и денег. Благодаря серверу мы общаемся по электронной почте, в сбербан-ках сотрудники распечатывают нам документы, а в супермаркетах кассиры очень быстро нас обслуживают. Понятно, что совокупность серверов, которые обеспечивают доступ к удаленным собраниям ресурсов, дает такое многообразие наполнения Интернета. Все сайты в Интернете хранятся на серверах. А доступ к серверам предоставляют хостинговые компании. Все это называется виртуальным хостингом. Безусловно, чем надежнее, быстрее и безопаснее работает сервер, тем дороже обходится и серверное оборудование, а также программное обеспечение. Поэтому сервер является очень выгодным компонентом при работе в сети. Статистика гласит о том, что с каждым годом Интернет разрастается все быстрее и быстрее. В 2012 году web вырос более чем в два раза: год начался с 330 млн зарегистрированных веб-сайтов, а к декабрю эта цифра возросла к 743 млн. Сайт «internetlivestats.com» в режиме онлайн фиксирует каждый новый сайт, блог сообщение и твиты, которые появляются во всемирной паутине. Количество созданных сайтов к 2016 году перевалило за 1 млрд.

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

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

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

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

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

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

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

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

- минимум ошибок.

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

- минимум времени на обработку запросов:

F(x) = 60x! + 25x2 + 15x3 ^ min (1)

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

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

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

1.3xj + 0.1x2 + 1.2x3 < 200; (4)

xj > 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)

0.8x1 + 0.1x2 + 1.1x3 < 150; (9)

x1 > 400; x2 > 150; (10)

- минимум ошибок:

F(x) = 55xj + 30x2 + 8x3 ^ min (11)

0.6xj + 0.7x2 + 0.4x3 < 200; (12)

0.6xj + 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. Исследования методов решения

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

К математическому программированию относится: 1. Линейное программирование. 2. Нелинейное программирование. 3. Теория графов. 4. Целочисленное программирование. 5. Стохастическое линейное программирование. 6. Задачи теории массового обслуживания. 7. Динамическое программирование. 8. Геометрическое программирование.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

F(x) = 60xj + 25x2 + 15x3 ^ min (16)

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

0.3xj + 0.5x2 + 0.4x3 < 300; (17)

0.5xj + 0.7x2 + 0.8x3 < 800; (18)

1.3xj + 0.1x2 + 1.2x3 < 200; (19)

xj > 500; x2 > 300; (20)

В этих выражениях xi , Х2 , X3 - критерии, по которым рассчитываются нагрузки на серверы.

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

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

F(x) = 60x1 + 25x2 + 15x3 ^ min (21) при тех же ограничениях:

0.3x1 + 0.5x2 + 0.4x3 - x4 = 300; (22)

0.5x1 + 0.7x2 + 0.8x3 - x5 = 800; (23)

1.3x1 + 0.1x2 + 1.2x3 - x6 = 200; (24)

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

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

Таблица 1

с, С:-60 С:-2? Cj-15 С4Ч) Cj-o Cs-0

Бззмс С, Рз-Хо Pi Р; Pj Рд Pj Pi

Рч 0 300 0,J 0.S 0,4 .1 0 0

Pi 0 ню 0,5 ОД 0.1 0 .1 0

P« 0 200 и 0,1 U 0 0 -1

Fj 0 0 0 0 0 0 0

- -60 -25 -15 0 0 0

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

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

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

6 = X;/х;к ,х;к >0, (25)

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

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

Шаг 6. Проверка условий:

- если х к > 0, то опорный план и есть решением задачи;

- хк < 0 следует рассмотреть шаг 7.

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

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

х'г] = хг]/х гк > (26)

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

х г] = ху - хп *х¡к/ хгк, (27)

j = 0,(г + т), (28)

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

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

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

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

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

«И II

х = Ц 12.9;532.26;0;0;370.97;0||.

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

F(x) = 25*532.26 + 0*370.97 + 60*112.9 = 20080.

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

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

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

* м м

x = |156.5;250;0;0;328.13;0||,

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

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

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

* м м

x = ||0;0;214.29;114.29;528.57;0||,

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

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

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

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

K iBL =z pju j, (29)

j

iBL = arg imax(KiBL). (30)

Шаг 1. Определение вероятностей состояний сервера для данной задачи. Они будут равны pi=0.3; p2=0.5; Р3=0.2.

Шаг 2. Составление матрицы ценности.

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

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

Таблица 2

Состояния etptcpa Альтернативные решения 12 3 Решение 1 10000 1536« »70

Решение: 3750 USOO 7650

Решение; 9650 15560 9320

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

K1BL = 0.3 * 10000 + 0.5 * 15366 + 0.2 * 9870 = 12657; K2BL = 11555;

K3BL = 12533;

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

iBL = argmax(12657,11555,12533) = 1, KBL = 1.

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

5. Выводы

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

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

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

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

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

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

Литература: 1. Гвоздинский А.Н., ГубинВ.А., ШергинВ.Л. Методы оптимизации в организационном управлении», ХНУРЭ, 2014. 395с.2. Бондаренко М.Ф. Оптишзацшт за-дачi в системах прийняття ршень: тдручник / М.Ф. Бондаренко, А.М. Гвоздинський. Харюв: ХТУРЕ, 1998. 219 с.

Transliterated bibliography:

1. Gvozdinskiy A.N., Gubin V.A., Shergin V.L. Metodyi optimizatsii v organizatsionnom upravlenii», HNURE, 2014. 395s.

2. Bondarenko M.F. OptimIzatslynl zadachI v sistemah priynyattya rIshen: pIdruchnik / M.F. Bondarenko, A.M. Gvozdinskiy. HarkIv: HTURE, 1998. 219 s.

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

Рецензент: д-р техн. наук, проф. Путятин Е.П.

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

Столяренко Константин Сергеевич, студент группы СА-14-1 кафедры прикладной математики ХНУРЭ. Научные интересы: проектирование клиент-серверных приложений под мобильную платформу iOS, разработка баз данных и их комплексное взаимодействие. Адрес: Украина, 61072, Харьков, пер. Отакара Яроша, 12А, кв. 155, тел. +38 066-706-58-69.

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