МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ
УПРАВЛЕНИЕ ВЫЧИСЛИТЕЛЬНЫМИ РЕСУРСАМИ В ЗАДАЧЕ ИЗВЛЕЧЕНИЯ СТРУКТУРИРОВАННОЙ ИНФОРМАЦИИ ИЗ СЕТИ ИНТЕРНЕТ
К.А. ЛЕМЕСЕВ, асп. каф. прикладной математики и математического моделированияМГУЛ
На сегодняшний день существуют задачи, решение которых основывается на автоматической обработке больших массивов информации. Примерами таких задач могут быть прогнозирование погоды, мониторинг природных катаклизмов, исследования предложений и спроса на рынках товаров по всему миру. Исходные данные для решения этих задач есть в Интернете и регулярно обновляются. В настоящей работе речь идет о способах, основанных на построении однозначного соответствия между элементами начального и конечного состояния информации [1, 2].
Данная работа посвящена задачам извлечения информации из сети Интернет, для которых потребности в объемах вычислительных ресурсов меняются во времени. Такие задачи обычно связаны с несистематическими запросами по сбору и анализу информации. Например, при анализе причин и последствий природных катаклизмов, аномалий на рынках и прочих непредвиденных ситуаций, требуется быстро собрать данные из многих источников. Невозможно заблаговременно сделать прогноз о необходимости такого анализа и заранее выделить необходимый объем вычислительных ресурсов. Для таких задач становится актуальной проблема управления вычислительными ресурсами с целью повышения эффективности обработки данных.
Обеспечить такого рода масштабирование с гибким выделением ресурсов на сегодняшний день может особый способ организации вычислений - так называемые облачные вычисления. Будем понимать под этим термином следующее: программная система работает в вычислительных центрах поставщиков платформ облачных вычислений («в облаке»), пользователю детально не известны ресурсы, которые использует система; при необходимости объем этих ресурсов может быть оперативно, «на ходу», увеличен или уменьшен.
lemesev. [email protected]
Рассмотрим задачи, возникающие при адаптации системы извлечения структурированных данных из сети Интернет для использования в облачной инфраструктуре.
динамическое выделение ресурсов и распределение заданий
Масштабируемость системы подразумевает использование нескольких компьютеров. В литературе описаны реализации систем извлечения структурированных данных на одном компьютере [2-6]. Как в таком случае распределить составные части системы по разным компьютерам? Количество каких компьютеров нужно увеличивать (или уменьшать) в зависимости от нагрузки?
В литературе [7] широко распространена схема системы извлечения структурированных данных «медиатор - обертки». Суть заключается в том, что обертки сами по себе не представляют большой ценности, так как каждая обертка способна получить данные только из одного ресурса. В задачах реального мира, при использовании систем извлечения структурированных данных, необходимо получать структурированные данные из разных источников. В дополнение к этому полученные данные необходимо «согласовывать» (например, заменять разные значения в словарях, обозначающие одно и то же) и объединять в единый массив данных для дальнейшей обработки. Для этих целей вводят специальный компонент - медиатор.
На рис. 1 схематично изображено устройство системы извлечения структурированных данных, использующей медиатор для обслуживания входящих запросов и управления обертками.
Один из вариантов использования множества компьютеров - запускать медиатор и обертки на разных компьютерах. При увеличении числа оберток можно увеличи-
ЛЕСНОЙ ВЕСТНИК 2/2014
147
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ
^ \ Запрос
X
Ответ
Источник 1 Источник 2 Источник 3 Источник N
Рис. 1. Схема «медиатор - обертки»
вать количество компьютеров, на которых они обрабатываются. Так можно поддерживать постоянный уровень производительности системы и обеспечить масштабируемость. Если медиатор будет не только управлять обертками, но и компьютерами (регулировать количество компьютеров), на которых они выполняются, получится система с автоматическим масштабированием.
В целом процесс работы системы таков: медиатору поступает задание - извлечь структурированные данные на основе какой-либо обертки. Медиатор должен принять следующие решения.
Достаточное ли число компьютеров используется в качестве процессоров оберток. Если число компьютеров недостаточное или избыточное, необходимо скорректировать количество компьютеров.
Какой компьютер должен обработать поступившее задание?
Для каждой из этих задач существуют типовые решения, а для второй задачи существуют несколько решений: случайное
распределение заданий, последовательное распределение заданий, распределение заданий на наименее загруженный компьютер и т.д. Совокупность решения задач 1 и 2 назовем алгоритмом управления ресурсами для извлечения структурированных данных из сети Интернет. Получается, что существует множество алгоритмов, подходящих для решения задачи. Как выбрать наилучший способ управления ресурсами?
Методика выбора способа управления ресурсами
При обработке заданий извлечения структурированных данных существует некоторый входной поток заданий, требующих обработки. Этот поток могут формировать несколько лиц (или одно лицо), заинтересованных в результатах обработки заданий. С точки зрения такого лица (по сути, это лицо является конечным пользователем для подобного рода систем) можно выделить два существенных аспекта процесса обработки заданий:
148
ЛЕСНОЙ ВЕСТНИК 2/2014
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ
Обратная связь
Рис. 2. Общая структура модели (сплошные линии - направления движения заданий; курсивная линия - движение информации о загруженности компьютеров)
• Необходимо уменьшить затраты на машинное время (и прочие накладные расходы), которое было использовано при обработке заданий пользователя. Чем меньше значение этого параметра, тем «дешевле» обойдется пользователю обработка заданий.
• Сократить время обработки всех заданий пользователя с момента отправки заданий на обработку до момента завершения последнего задания.
Конечного пользователя интересуют эти аспекты в совокупности. В зависимости от обстоятельств относительная ценность (вес) каждого из этих пунктов может меняться. Для некоторых пользователей время обработки может быть более критично, чем вычислительные ресурсы. Для некоторых - наоборот: время обработки может не иметь значения, однако вычислительные ресурсы могут быть крайне ценны.
Более формально
Тс - время работы всей системы (с);
t - текущее время (в секундах, 0 < t < Т);
а - полные затраты ( руб.);
k(t) - количество компьютеров как функция времени (шт.);
c - стоимость единицы времени одного компьютера (руб.);
P - полное количество заданий;
At. - время выполнения /-го задания (1 < i < P)
Тс
а= ^c-k{t)-dt (1)
о
Время обработки всех задач равно
р=2>*. (2)
/-1
Ценность решения задачи извлечения информации из сети Интернет, как правило, тем выше, чем быстрее получен результат. Возможность ускорения решения за счет подключения дополнительных компьютеров определяется характеристиками входного потока заданий А. Критерием эффективности решения задачи можно считать время обработки всех заданий в с поправкой на полные денежные затраты а
ф(А) = ka + pP. (3)
Здесь k иp - весовые функции размерности 1/руб. и 1/сек.
Требуется разработать алгоритм «под-ключения/отключения» компьютеров и распределения заданий на «подключенные» компьютеры в зависимости от текущего состояния, дающий минимальное значение функции (3).
Эта функция будет принимать различные значения в зависимости от параметров входного потока А. При наличии возможности получить значения функции для различных потоков A можно оценить каждый алгоритм работы системы.
Для оценки значения функции при использовании различных алгоритмов уп-
ЛЕСНОИ ВЕСТНИК 2/2014
149
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ
равления вычислительными ресурсами создана модель, позволяющая провести такую оценку. Рассматриваемая задача описывает поведение реальной системы. Рассматриваемая модель описывает поведение реальной системы.
Модель можно классифицировать как многоканальную систему массового обслуживания (СМО) с очередями, переменным числом устройств и пороговыми значениями их подключения и отключения [8]. Подобные системы известны и были аналитически исследованы в литературе, например, в [9].
Согласно [10], необходимым условием для возможности аналитического анализа СМО является выполнение ряда требований относительно потоков событий этой СМО. Все потоки должны быть стационарными пуассоновскими.
Постановка задачи (управление вычислительными средствами в зависимости от текущей загрузки) не предполагает обязательного соблюдения этих требований. Предполагается что интенсивность входящего потока заявок будет меняться со временем. Также нет ограничения на ординарность потока. Согласно [10] и [11], лучшей альтернативой для исследования такой СМО является имитационное моделирование.
Для исследования таких задач хорошо подходят методы имитационного моделирования [5].
На вход модели поступают задания для обработки - обертки, на основании которых должны быть извлечены структурированные данные из сети Интернет. Модель имитирует обработку заданий на переменном числе компьютеров. В зависимости от частоты и «сложности» поступающих заданий модель может увеличивать или уменьшать число компьютеров для обработки заданий.
В работе модель использует алгоритмы управления вычислительными ресурсами: для изменения числа компьютеров используется алгоритм изменения числа компьютеров; для распределения поступающих заданий по компьютерам используется алгоритм распределения заданий.
Модель реализована в среде MATLAB Simulink. Модель позволяет проводить эксперименты, используя любой из возможных алгоритмов управления ресурсами. После проведения каждого эксперимента модель автоматически высчитывает значение критерия эффективности.
Проводя эксперименты, есть возможность оценить эффективность каждого возможного алгоритма управления ресурсами.
Библиографический список
1. Crescenzi, V and Mecca, G. 2004. Automatic information extraction from large websites. J. ACM 51, 5, 731-779.
2. Лемесев, К.А. Модели и методы извлечения структурированной информации из сети Интернет / К.А. Лемесев // Вестник МГУЛ - Лесной вестник, 2013.
- С. 113-115.
3. Crescenzi, V., Mecca, G., and Merialdo, P. 2001. Roadrunner: Towards automatic data extraction from large web sites. In VLDB ‘01: Proc. of the 27th International Conference on Very Large Data Bases. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 109-118.
4. Zhao, H. 2007. Automatic wrapper generation for the extraction of search result records from search engines. Ph.D. thesis, State University of New York at Binghamton, Binghamton, NY, USA. Adviser-Meng, Weiyi.
5. Crescenzi, V and Mecca, G. 2004. Automatic information extraction from large websites. J. ACM 51, 5, 731-779.
6. Gatterbauer, W. and Bohunsky, P. 2006. Table extraction using spatial reasoning on the css2 visual box model. In AAAI ‘06 Proc. of the 21st national conference on Articial intelligence. AAAI Press, 1313-1318.
7. Lee W. M. 2004. An Approach to Data Integration and Mediation with XML and XQuery. Malaysia University of Science and Technology, Petaling Jaya, Selangor Darul Ehsan, Malaysia.
8. Иванешкин А. И. Многоканальная система массового обслуживания с переменным числом устройств и пороговыми значениями их подключения и отключения // Зв’язок. - Киев, 2009.
- №3.
9. Иванешкин А. И. Оптимизация режима подключения устройств в многоканальной системе обслуживания с бесконечным буфером. // Зв’язок, Киев, 2011, №4
10. Вентцель Е. С. Исследование операций: задачи, принципы, методология // Наука. - М., 1988.
11. Таха, Х.А. Введение в исследование операций / Х.А. Таха. - М.: Вильямс, 2005.
150
ЛЕСНОЙ ВЕСТНИК 2/2014