Быков А - Инженерный вестник

advertisement
Задача распределения заданий между клиентом и сервером в
имитационном моделировании на основе технологии облачных
вычислений и результаты экспериментов по ее решению
Инженерный вестник # 01, январь 2014
УДК: 004.738.5 : 519.854 : 519.872
автор: Быков А. Ю.
Россия, МГТУ им. Н.Э. Баумана
abykov@bmstu.ru
Введение
В технологии распределенных вычислений одной из решаемых задач является задача
распределения заданий между элементами вычислительной системы, также эту задачу
называют задачей балансировки нагрузки [1, 2]. Применительно к сети Интернет
рассматривается задача балансировки нагрузки между серверами [3].
Обычно в облачных вычислениях большинство задач решается на стороне Webсервера, так как вычислительные мощности клиента могут быть ограничены, например,
клиентами могут быть различные мобильные устройства. На стороне клиента обычно
решаются интерфейсные задачи. Часто клиентами являются настольные компьютеры или
ноутбуки, которые могут иметь вычислительные мощности, достаточные для решения
многих задач. В этом случае некоторые вычислительные задачи могут решаться на стороне
клиента. Для более эффективного использования существующих вычислительных ресурсов
возникает задача распределения заданий между клиентом и сервером в облачных
вычислениях.
Рассмотрим, как может решаться задача распределения заданий в имитационном
моделировании (ИМ), если при разработке моделей использовать специальную библиотеку
классов языка Java, описанную в [4]. Один из подходов к моделированию на стороне клиента
описан в [5]. В [6] представлены эксперименты по тестированию клиента и сервера для
выбора наиболее подходящего объекта для проведения ИМ, данные эксперименты
ориентированы на выбор объекта для проведения экспериментов в заданных условиях для
2307-0595, Инженерный вестник , №01, Январь 2014
518
одного задания ИМ. Если задание не одно, то актуальной является задача распределения
заданий между клиентом и сервером. Под заданием в данном случае понимается выполнение
на ЭВМ реализации имитационной модели.
Задача распределения заданий при ИМ решается при следующих условиях. Все
исходные коды файлов моделей на языке Java находятся на сервере (время загрузки на
сервер не учитывается). Каждая имитационная модель представлена отдельным классом
языка Java, производным от класса Syst библиотеки классов для имитационного
моделирования [4]. Данные модели могут выполняться как на стороне сервера и запускаться
внутри приложения языка Java, называемого сервлетом, так и на стороне клиента в виде
приложения Java, называемого апплетом и выполняемого через Web- браузер. Время
компиляции исходных кодов файлов моделей на сервере при расчете общего времени
выполнения комплекса заданий учитывать не будем, так как это величина постоянная, как
правило, намного меньшая времени проведения имитационных экспериментов и от этой
постоянной величины не зависит распределение заданий выполнения экспериментов.
Цель данной статьи состоит в рассмотрении одной математической постановки задачи
распределения заданий между клиентом и сервером при имитационном моделировании с
использованием технологии облачных вычислений для минимизации общего времени
выполнения комплекса заданий. Алгоритм решения этой задачи реализован на сервере и
выполняется после тестирования клиента и сервера алгоритмами, описанными в [6].
Представленный подход распределения заданий относится к статическим методам
балансировки нагрузки.
В первом разделе представлены исходные данные для задачи распределения заданий
ИМ между клиентом и сервером при использовании технологии облачных вычислений. Во
втором разделе сформулирована математическая постановка задачи распределения заданий,
являющаяся задачей булевого программирования с нелинейным показателем качества,
задающим общее время выполнения комплекса заданий и требующим минимизации, и
линейными ограничениями. В третьем разделе представлены результаты экспериментов по
распределению заданий ИМ между клиентом и сервером, в заключении представлены
оценки относительной погрешности вычисления предложенного показателя качества и
предложения по дальнейшему использованию представленного подхода к распределению
заданий.
http://engbul.bmstu.ru/doc/697425.html
519
1 Исходные данные для задачи распределения заданий
Для формулировки математической постановки задачи введем в рассмотрение
базисное множество и параметры:
{

} – множество заданий на проведение имитационных экспериментов с
моделями, задания необходимо распределять между клиентом и сервером,
{

} – множество индексов этих заданий, соответственно;
– оценка временной вычислительной сложности i – го задания проведения
имитационных экспериментов, например, для имитационной модели такой грубой
оценкой может служить примерное число событий, обрабатываемых в модели
(определяется априорно числом заявок, проходящих через модель, и числом событий,
происходящих с этими заявками, такими как вход заявки в очередь, поступление на
обслуживание и др.);

– оценки вычислительной мощности клиента и сервера определяются
экспериментально при тестировании клиента и сервера [6], для заданий имитационного
моделирования будем задавать числом событий, обрабатываемых в единицу времени при
экспериментах с типовой моделью на сторонах клиента и сервера;

– скорость запуска апплета в браузере, будем измерять в байтах в секунду, как
показал эксперимент [6], запуск в браузере апплета после загрузки занимает какое- то
время, большее, чем запуск аналогичного настольного приложения в Java, будем
полагать, что время зависит от размера файла апплета и файлов загружаемых библиотек,
а также быстродействия компьютера и, возможно, от типа используемого браузера;

– объем данных результатов, которые должны передаваться по сети от
сервера на клиентский компьютер при необходимости, если i–е задание выполняется на
сервере (при выполнении задания на клиентском компьютере результаты по сети не
передаются);

– объем программного модуля апплета, загружаемого на сторону
клиента, для решения i – го задания;

- объем архива пакета библиотеки классов языка Java для имитационного
моделирования, который загружается с сервера на клиентский компьютер при
необходимости моделирования на нем;

– оценка средней скорости передачи данных от сервера клиенту.
2307-0595, Инженерный вестник , №01, Январь 2014
520
2 Математическая постановка задачи
Введем
булевы
{
переменные
}
{
}
Значения
.
переменных определяются следующим образом:

, если i – ое задание решается на компьютере клиента,
– в противном
случае;

, если i – ое задание решается на сервере,
Тогда ⃗
‖
– в противном случае.
‖ – вектор булевых переменных.
На значения данных переменных наложены ограничения, выражающие условие того,
что каждое задание должно решаться один раз или на компьютере клиента, или на
компьютере сервера:
.
(1)
Суммарная длительность выполнения всего комплекса заданий имитационного
моделирования определяется максимальным значением из трех времен:
∑
(
)
( ⃗)
∑
∑
{
(
(
) ( ⃗)
(
)
)
, (2)
( ⃗)
}
где ( ⃗ ) - коэффициент определяющий необходимость передачи архива пакета библиотеки
классов языка Java для имитационного моделирования от сервера клиенту. Этот
коэффициента равен 1, если хотя бы одно задание выполняется на стороне клиента, и 0 – в
противном случае. Формально:
( ⃗)
{
(3)
В этом показателе за время выполнения всего комплекса заданий берется
максимальное значение из трех времен:
http://engbul.bmstu.ru/doc/697425.html
521
 время клиентского компьютера, затраченное на выполнение его заданий, с учетом
времени передачи клиентских модулей и библиотеки классов для имитационного
моделирования;
 время сервера, затраченное на выполнение заданий сервера, с учетом времени
передачи результатов моделирования по сети клиенту;
 время передачи всех данных по сети, так как канал передачи считается отдельным
ресурсом (также как компьютеры клиента и сервера), то при большом объеме
передаваемых данных или низкой скорости передачи данных по сети время передачи
может превышать время решения заданий.
Таким образом, постановку задачи распределения заданий между клиентом и
сервером с целью минимизации времени выполнения комплекса заданий можно записать
так:
( ⃗)
{
где
⃗⃗
(4)
- множество допустимых решения, заданное системой равенств (1).
Сформулированная задача (4) является задачей булевого программирования с
нелинейным показателем качества (2) и линейными ограничениями (1). Для ее решения
могут быть использованы специальные методы дискретного программирования [7].
3 Проведение экспериментов по распределению заданий имитационного
моделирования между клиентом и сервером
При проведении экспериментов использовались различные типовые модели систем
массового обслуживания (СМО) (потоки заявок и обслуживания являются пуассоновскими)
[8]:
многоканальная СМО с отказами
неограниченной
очередью,
(задача
многоканальная
Эрланга),
СМО
с
одноканальная СМО с
неограниченной
очередью,
одноканальная СМО с ограниченной очередью и замкнутая одноканальная СМО с m
источниками заявок. То есть, использовались модели пяти типовых СМО, имеющих
аналитическое решение. Для каждой модели были использованы по две реализации с разной
трудоемкостью модели (разным временем моделирования), итого распределялись десять
заданий для имитационного моделирования. Текст исходного кода одной из реализаций
2307-0595, Инженерный вестник , №01, Январь 2014
522
подобных моделей на языке Java с использованием библиотеки классов для ИМ представлен
в [4].
В режиме распределения заданий вначале в форму HTML страницы вводятся и
редактируются исходные коды моделей, они сохраняются на сервере под разными именами.
Далее вводятся параметры реализаций моделей:
 размер исходного Java- файла реализации модели, определяется автоматически на
сервере;
 трудоемкость реализации модели оценивалась априорно приблизительно по числу
событий, обрабатываемых в модели, число транзактов (заявок) в среднем проходящих
за время моделирования через блоки модели, умноженное на число блоков;
 объем данных с результатами моделирования, также оценивался приблизительно с
точностью до 10 КБ (у всех реализаций моделей задано 10 КБ, реально немного
меньше), учитывая, что при достаточно высокой скорости передачи данных по сети,
такие объемы не существенно влияют на общее время моделирования.
Задача распределения заданий между клиентом и сервером решается на сервере, для
ее решения был использован метод вектора спада [9], являющийся приближенным методом с
полиномиальной трудоемкостью и применимым для нелинейного показателя качества.
Эксперименты проводились при следующих характеристиках клиента и сервера
(производительность сервера существенно превышает производительность клиента): серверпроцессор Intel ® Core ™ i5-2410, тактовая частота 2,3 ГГц; клиент- процессор Intel ®
Celeron ® CPU 1,80 ГГц.
Web- страница с введенными параметрами реализаций моделей представлена на
рисунке 1, результаты решения задачи распределения заданий между клиентов и сервером,
выведенные на Web- страницу, представлены на рисунке 2. Из таблицы, представленной на
рисунке 2, видно, что из 10 моделей модели 2, 4 и 7 назначены для решения на стороне
клиента, остальные модели решаются на сервере. Внешний вид Web- страницы с апплетом и
результатами моделирования представлены на рисунках 3 и 4.
Исходные коды реализаций всех моделей позволяют их выполнять как на стороне
сервера в виде консольного Java- приложения (результаты выдаются на отдельную Webстраницу), так и на стороне клиента в апплете, апплет находится на той же странице, где и
результаты моделирования, полученные на сервере. В апплете могут запускаться несколько
моделей, результаты для каждой модели выводятся в отдельное диалоговое окно.
http://engbul.bmstu.ru/doc/697425.html
523
2307-0595, Инженерный вестник , №01, Январь 2014
524
Рисунок 1 – Web- страница с параметрами реализаций моделей
http://engbul.bmstu.ru/doc/697425.html
525
2307-0595, Инженерный вестник , №01, Январь 2014
526
Рисунок 2 – Web- страница с результатами решения задачи распределения заданий
http://engbul.bmstu.ru/doc/697425.html
527
2307-0595, Инженерный вестник , №01, Январь 2014
528
Рисунок 3 – Web- страница с апплетом и результатами моделирования (начало)
http://engbul.bmstu.ru/doc/697425.html
529
2307-0595, Инженерный вестник , №01, Январь 2014
530
Рисунок 4 – Web- страница с апплетом и результатами моделирования (завершение)
http://engbul.bmstu.ru/doc/697425.html
531
Заключение
Эксперимент показал, что при ИМ время передачи данных по сети намного меньше
времени выполнения заданий по стороне клиента или сервера, данный параметр не
существенно влияет на итоговый результат. Рассчитанное на математической модели
общее время выполнения комплекса заданий имитационного моделирования составляет ≈
81,57 с (максимальное из трех времен – время моделирования на стороне сервера).
Реальное время проведения экспериментов с этими моделями на клиенте и на сервере
составило ≈ 85,73 с (максимальное из трех времен – время моделирования на стороне
клиента). Относительная погрешность в данном примере ≈ 5 %. Результаты
экспериментов с другими исходными данными дали относительную погрешность в
интервале 5- 10 %, что подтверждает приемлемость представленной постановки задачи
распределения заданий между клиентом и сервером.
Подобные постановки задач для распределения заданий кроме имитационного
моделирования могут быть использованы в информационных системах, в которых
решается
множество
однотипных
задач,
например,
в
подсистеме
баллистико-
навигационного обеспечения системы управления космическими аппаратами различного
целевого назначения. Направлением дальнейших исследований является разработка
динамических методов балансировки нагрузки для подобных систем.
Благодарности
Исследование выполнено при поддержке Министерства образования и науки
Российской Федерации, соглашение о предоставлении гранта № 14.B37.21.0401.
Список литературы
1. Хританков А.С. Модели и алгоритмы распределения нагрузки. Модель коллектива
вычислителей.
Модели
с
соперником
//
Информационные
технологии
и
вычислительные системы. 2009. № 2. С. 65-80.
2. Хританков А.С. Модели и алгоритмы распределения нагрузки. Алгоритмы на основе
сетей СМО // Информационные технологии и вычислительные системы. 2009. № 3. С.
33-48.
2307-0595, Инженерный вестник , №01, Январь 2014
532
3. Тао Чжоу. Системы балансировки нагрузки Web-серверов // «Windows IT Pro».
Издательство
"Открытые
системы".
№
2000.
3.
Режим
доступа:
http://www.osp.ru/win2000/2000/03/174228/ (дата обращения 10.01.2014)
4. Быков А.Ю., Панфилов Ф.А., Сумарокова О.О. Имитационное моделирование с
применением библиотеки классов языка Java, разработанной для «облачных» сервисов
// Инженерный журнал: наука и инновации. МГТУ им. Н.Э. Баумана. Электрон. журн.
2013.
№
2.
Режим
доступа:
http://engjournal.ru/catalog/it/hidden/535.html
(дата
обращения 10.01.2014).
5. Быков А.Ю., Кожемякина Е.В., Панфилов Ф.А. Имитационное моделирование систем
массового обслуживания в клиентских приложениях при использовании технологии
"облачных" вычислений // Инженерный журнал: наука и инновации. МГТУ им. Н.Э.
Баумана.
Электрон.
журн.
2013.
№
11.
Режим
доступа:
http://engjournal.ru/catalog/it/network/1001.html (дата обращения 10.01.2014).
6. Быков А.Ю., Медведев Н.В., Панфилов Ф.А. Тестирование клиента и сервера для
выбора объекта проведения экспериментов в инструментальном программном
средстве
имитационного
моделирование
на
основе
технологии
"облачных"
вычислений // Инженерный журнал: наука и инновации. МГТУ им. Н.Э. Баумана.
Электрон.
журн.
2013.
№
11.
Режим
доступа:
http://engjournal.ru/catalog/it/network/989.html (дата обращения 10.01.2014).
7. Сергиенко И.В. Математические
модели и методы решения задач дискретной
оптимизации. Киев: Наукова думка, 1988. 472 с.
8. Клейнрок Л. Теория массового обслуживания. М.: Машиностроение, 1979. 432 с.
9. Овчинников А.И., Медведев Н.В., Быков А.Ю. Применение метода вектора спада для
решения задачи поиска вариантов защиты от угроз безопасности вычислительной сети
предприятия // Вестник МГТУ им. Н.Э. Баумана. Сер. Приборостроение. 2008. № 2. С.
73- 82.
References
1. Hritankov A.S. Modeli i algoritmy raspredelenija nagruzki. Model' kollektiva vychislitelej.
Modeli s sopernikom. Informacionnye tehnologii i vychislitel'nye sistemy, 2009, no. 2, pp.
65-80.
2. Hritankov A.S. Modeli i algoritmy raspredelenija nagruzki. Algoritmy na osnove setej SMO.
Informacionnye tehnologii i vychislitel'nye sistemy, 2009, no. 3, pp. 33-48.
http://engbul.bmstu.ru/doc/697425.html
533
3. Tao Chzhou. Sistemy balansirovki nagruzki Web-serverov. «Windows IT Pro». Izdatel'stvo
"Otkrytye sistemy" [Open Systems Publications], 2000, no. 3.
Available at:
http://www.osp.ru/win2000/2000/03/174228/, accessed 10.01.2014.
4. Bykov A.Ju., Panfilov F.A., Sumarokova O.O. Imitacionnoe modelirovanie s primeneniem
biblioteki klassov jazyka Java, razrabotannoj dlja «oblachnyh» servisov [Simulation with
usage of the Java class library, developed for «cloud» services]. Inzhenernyj zhurnal: nauka i
innovacii. MGTU im. N.E. Baumana [Engineering Journal: Science and Innovations of the
Bauman MSTU], 2013, no. 2. Available at: http://engjournal.ru/catalog/it/hidden/535.html,
accessed 10.01.2014.
5. Bykov A.Ju., Kozhemjakina E.V., Panfilov F.A. Imitacionnoe modelirovanie sistem
massovogo obsluzhivanija v klientskih prilozhenijah pri ispol'zovanii tehnologii "oblachnyh"
vychislenij [Simulation of queuing systems in client applications using cloud computing
technology]. Inzhenernyj zhurnal: nauka i innovacii. MGTU im. N.E. Baumana [Engineering
Journal: Science and Innovations of the Bauman MSTU], 2013, no. 11. Available at:
http://engjournal.ru/catalog/it/network/1001.html, accessed 10.01.2014.
6. Bykov A.Ju., Medvedev N.V., Panfilov F.A. Testirovanie klienta i servera dlja vybora
ob’ekta
provedenija
jeksperimentov
v
instrumental'nom
programmnom
sredstve
imitacionnogo modelirovanie na osnove tehnologii "oblachnyh" vychislenij [Testing of the
client and the server for a choosing of an object for experiments in instrumental software for
simulation based on "cloud" computing]. Inzhenernyj zhurnal: nauka i innovacii. MGTU im.
N.E. Baumana [Engineering Journal: Science and Innovations of the Bauman MSTU], 2013,
no. 11. Available at: http://engjournal.ru/catalog/it/network/989.html, accessed 10.01.2014.
7. Sergienko I.V. Matematicheskie modeli i metody reshenija zadach diskretnoj optimizacii.
Kiev, Naukova dumka, 1988. 472 p.
8. Leonard Kleinrock. Queueing Systems: Volume I – Theory. New York, Wiley Interscience,
1975. 417 p. (Russ. ed.: Klejnrok L. Teorija massovogo obsluzhivanija. Moscow,
Mashinostroenie, 1979. 432 p.).
9. Ovchinnikov A.I., Medvedev N.V., Bykov A.Ju. Primenenie metoda vektora spada dlja
reshenija zadachi poiska variantov zashhity ot ugroz bezopasnosti vychislitel'noj seti
predprijatija. Vestnik MGTU im. N.E. Baumana. Ser. Priborostroenie [Herald of the Bauman
MSTU. Ser. Instrument Engineering], 2008, no. 2, pp. 73- 82.
2307-0595, Инженерный вестник , №01, Январь 2014
534
Download