Issue 56

Page 1


Міністерство освіти і науки України Національний технічний університет України «КПІ»

ВІСНИК НАЦІОНАЛЬНОГО ТЕХНІЧНОГО УНІВЕРСИТЕТА УКРАЇНИ «КПІ»

Інформатика, управління та обчислювальна техніка

Заснований у 1964 р. Випуск 56

Київ “ВЕК+” 2012


УДК 004 Вісник НТУУ «КПІ». Інформатика, управління та обчислювальна техніка: Зб. наук. пр. – К.: Век+, – 2012. – № 56. – 170 с. Рекомендований до друку Вченою радою факультету інформатики та обчислювальної техніки, протокол № 1 від 30.08.2012

Головний редактор: Луцький Г.М., д.т.н., проф. Заст. гол. ред.: Відповідальний секретар:

Стіренко С.Г., к.т.н., доц., Пустоваров В.І., к.т.н., доц. Поспішний О.С.

Редакційна колегія: Павлов О.А., д.т.н., проф., Теленик С.Ф., д.т.н., проф., Бузовський О.В., д.т.н., проф., Симоненко В.П., д.т.н., проф., Жабін В.І., д.т.н., проф., Кулаков Ю.О., д.т.н., проф., Марковський О.П., к.т.н., доц., Стенін Н.А., д.т.н., проф., Томашевський В.М., д.т.н., проф. Описано результати дослідження і створення компонентів обчислювальних й інформаційних систем і комплексів, пристроїв автоматики та передавання даних, систем автоматизації програмування, контролю й діагностики, штучного інтелекту тощо. Для аспірантів, студентів, фахівців з обчислювальної техніки, систем керування, автоматизації програмування, штучного інтелекту та інших інформаційно-обчислювальних систем. ISSN 0135-1729 Свідоцтво про державну реєстрацію № 16949-5719 Р від 17.06.2010 Збірник наукових праць українською, англійською та російською мовами Web-ресурс – http://it-visnyk.kpi.ua Підп. до друку 30.08.2012. Формат 60×84 1/16. Гарнітура Times. Папір офсетний № 1. Наклад 150 прим. Надруковано в ЗАТ “ВІПОЛ”, 03151 м.Київ, вул. Волинська, 60. © Національний технічний університет України “КПІ”, 2012


ЗМІСТ Широчин В.П., Перетятко Е.Н. Эффективный графический интерфейс системы моделлирования……….

4

Широчин В.П., Шилов Ю.Н. Минимизация объема управляющего списка для планирования событий в Petri-nets моделях………………………………………………………………………………………………….

8

Кулаков Ю.А., Воротников В.В. Формирование оптимальных маршрутов в мобильных сетях на основе модифицированного алгоритма Дейкстры……………………………………………………………………… 13 Ясінський В.В., Болдак А.О. Методи та засоби моделювання "конфліктних" ситуацій в складних людиномірних системах………………………………………………………………………………………….. 20 Шантир Д.С., Невдащенко М.В., Болдак О.А. Середовище «швидкої» розробки систем комп’ютерної обробки зображень……………………………………………………………………………………………….. 25 Ролик А.И. Концепция управления корпоративной ИТ-инфраструктурой…………………………………… 31 Павлов А.А., Мисюра Е.Б., Халус Е.А., Сперкач М.О., Аракелян Г.А. Результирующая формализация первого уровня трехуровневой модели оперативного планирования и принятия решений по критерию минимизации суммарного опережения директивных сроков…………………………………………………….. 56 Павлов А.А., Мисюра Е.Б., Шевченко К.Ю. Побудова ПДС-алгоритму розв’язання задачі мінімізації сумарного зваженого запізнення виконання робіт на одному приладі………………………………………….. 58 Берендеев Е.А., Иванов А.В., Лазарева Г.Г., Снытников А.В. Эффективное использование суперэвм для решения больших задач физики плазмы методом частиц в ячейках………………………………………….

71

Клименко І.А., Ткаченко В.В., Сторожук О.М. Мультипроцесорна система на базі програмованих процесорних ядер Nios II Altera……………………………………………………………………………………..

78

Cеливанов В.Л., Воробйов В.В. Оптимальные структуры декодирующих сеток преобразователей код-ток двоично-десятичных систем счисления………………………………………………………………………… 88 Симоненко А.В., Пих С.В., Слуцкий Н.В., Воробйов В.В. Система пространственного распределения заданий в распределенных вычислительных системах…………………………………………………………….

94

Павлов А.А., Мисюра Е.Б., Халус Е.А. Исследование свойств задачи календарного планирования для одного прибора по критерию минимизации суммарного опережения заданий при условии допустимости расписании………………………………………………………………………………………………………… 98 Родічева О.С., Чемерис А.М., Тютюнник С.В. Математичні моделі задачі вибору оптимального набору запитів матеріалізації…………………………………………………………………………………………….. 103 Норкин Б.В. Об актуарных вычислениях с использованием графических процессоров……………………. 113 Симоненко А.В. Система оценки ресурсов в системе динамического планирования неоднородных Grid систем……………………………………………………………………………………………………………… 120 Симоненко А.В., Щербина О.В. Система параметричної оцінки ресурсів в глобальних Grid системах…… 126 Настенко М.Е., Стиренко С.Г. Распознавание и выделение границ однородных областей при паралельной обработке гистологических изображений………………………………………………………………….. 130 Варфоломеев А.Ю. Усовершенствованный алгоритм медианного потока для визуального отслеживания объектов на видеопоследовательностях………………………………………………………………………… 134 Поспешный А.С. Метод информационного дополнения на основе онтологий для повышения эффективности информационных систем…………………………………………………………………………………. 143 Молчановський О.І., Ковтун Д.І. Семантичний пошук текстів новин………………………………………... 151 Федоречко О.І. Метод виправлення двократних помилок передачі даних в комп’ютерних системах управління реального часу………………………………………………………………………………………. 155 Иванов Д.Г. Организация резервирования в системах распределенного хранения данных………………… 160 Марковський О.П., Виноградов Ю.М., Косейкіна Г.С. Спосіб прискореного обчислення коренів на полях Галуа GF (2m) з використанням передобчислень………………………………………………………………. 165


УДК 004.94 ШИРОЧИН В.П., ПЕРЕТЯТКО Е.Н. ЭФФЕКТИВНЫЙ ГРАФИЧЕСКИЙ ИНТЕРФЕЙС СИСТЕМЫ МОДЕЛЛИРОВАНИЯ Основанная на экранных графических средствах связь между человеком и компьютером широко вошла в практику работы с операционными системами и многими приложениями. Однако, эффективность работы пользователя с графической информацией, графами различной сложности и связности остается низкой. В работе предлагаются способы представления теоретико-графовых моделей с повышенным уровнем интуитивного и когнитивного восприятия разнообразных отношений элементов в формальных структурах. Based on the on-screen graphic means of communication between man and computer are widely included in the practice of working with many operating systems and applications. However, the effectiveness of the user with graphical information, graphs of varying complexity and connectivity remains low. The paper suggests ways to view graph-theoretic models with elevated levels of intuitive perception and cognitive relations of various elements in the formal structures. 1. Экранное представление формальных структур

На сегодняшний день информация часто представляется и обрабатывается в виде графов[1-4]. Например: в информатике и программировании для задания алгоритмов; в химии для описания различных структур и путей сложных реакций; в схемотехнике для представления различных соединений элементов на печатной плате; в различных транспортных и коммуникационных системах и т. д. Для различных задач графы могут быть как очень малыми, так и чрезмерно большими. Отсюда возникает задача построения изображения графа с лучшим визуальным восприятием его[3]. Под изображением графа необходимо понимать изображение множества вершин, связанных ребрами. При визуальном восприятии графа возникают проблемы[5-8], связанные с: – восприятием графа при большом количестве связей; – направлением дуг в ориентированном графе; – подписями на рёбрах; – слиянием рёбер, размещённых на одной линии. Далее в этой статье предложены некоторые решения этих проблем. 2. Проблема восприятия графа с большим количеством связей

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

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

Рис. 1. Граф зависимостей программной системы Граф представляет собой дерево разбиения на пакеты (вершины внутри окружностей – пакеты, вершины белого цвета располагающиеся по периметру окружностей – классы), на которое поверх наложены ребра зависимости одних классов от других. Можно заметить, что граф настолько визуально перегружен, что архитектуру программы невозможно проследить. Для устранения этой проблемы можно использовать метод, принцип которого тот же, что и в кабельных сетях. Чтобы не запутаться в проводах, когда их слишком много, провода объединяют в жгуты. Применим этот метод


Эффективный графический интерфейс системы моделлирования

(назовём его – метод «жгута») для рёбер. Рассмотрим прорисовку одного ребра: Необходимо провести ребро из вершины P0 в вершину P4.

5

После преобразований изображение графа (Рис.5) приобретает лучший вид для визуального восприятия.

Рис. 2. Дуга в виде прямой линии между вершинами Для начала необходимо найти путь между этими вершинами (Рис.3).

Рис. 3. Путь между вершинами Р0, Р4 Теперь проведем кривую через полигон, образованный точками P0, P1, P2, P3, P4:

Рис. 5. Граф после преобразования с параметром λ = 0.85 За счет связки ребер проглядываются зависимости между пакетами, что делает представление архитектуры программы значительно яснее. Также можно использовать радиальный способ визуализации архитектуры. Для примера возьмем тот же граф, который разобьем не по пакетам, а по радианам (Рис.6).

Рис. 4. Проведение кривой между вершинами Для визуализации лучше всего в качестве кривых подходят кусочно-заданные кубические B-сплайны (кубический B-сплайн – это просто набор кривых третьего порядка в двухмерном пространстве, для которых выполняется условия сшивки первых и вторых производных на краях). Введём параметр λ для управления степенью связанности ребер, который принимает значения от 0 до 1 (0 – ребра представляют собой независимые прямые линии, 1 – ребра максимально связаны друг с другом). Математически это выглядит так: ∙ 1 S(t) – точки сплайна, S'(t) – результирующая кривая, которая отображается на экран в виде ребра.

Рис. 6. Граф с параметром λ = 0 После применения метода связывания дуг по радианам визуальное восприятие графа улучшилось. Как видно с Рис.7, четко прослеживаются связи внутри пакетов и между ними.


6

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

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

им маркировки. Это облегчит граф и сделает более удобным нахождение нужной вам маркировки.

3. Проблема представления направления дуг в ориентированном графе

5. Проблема слияния дуг

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

При отображении графов дуги часто изображаются в виде прямых линий[4]. Расположение прямых дуг на одной линии приводит к их визуальному слиянию, что затрудняет анализ графа. Следовательно, нужно изменить форму рёбер так, чтобы они не сливались. Одно из решений – представление дуги в виде окружности (метод изгиба дуг). Для этого у нас есть точки A(x1;y1) и B(x2;y2). Построение окружности возможно только в том случае если знать центр окружности O(x0;y0) и его радиус R. Для этого можно выбрать радиус круга равным расстоянию между точками A и B. Тогда R 

x2  x12   y 2  y12 ,

а треугольник

ABO будет равносторонним (Рис.8).

Рис.7. Граф с параметром связывания λ=0.85 4. Проблема восприятия подписей на рёбрах

Часто возникает необходимость сделать маркировку ребер графа[4-6]: указать условия, вероятности переходов и т.д. Но при большой сложности графа, не всегда можно правильно установить отношение между конкретной маркировкой и ребром. Как одно из решений этой проблемы – метод построения таблицы связей между вершинами. Поскольку большинство графов являются довольно-таки массивными (чрезмерно много вершин и рёбер), часто возникает сложность в нахождении связей между ними. Суть метода заключается в том, что выделяя две вершины, всплывает таблица, где указаны все рёбра их соединяющие и соответствующие

Рис.8. Построение дуги Тогда высота, проведенная из точки O к отрезку AB, будет равна

3 2

R , а точка пересече-

ния P будет иметь координаты  x1  x2 ; y1  y 2  . 

2

2

Тогда для высоты получим следующее уравнение: 2 2 3 (1)  y1  y 2   x1  x 2   y0 R  x0  2

 

2

 

 

2

 

Использовав уравнение прямой, которая проходит через 2 точки можно определить коэффициент наклона прямой AB как y 2  y1 . K1  x 2  x1

Поскольку произведение коэффициентов наклона перпендикулярных прямых равно -1, то коэффициент наклона прямой OP равен x 2  x1 . K2  y1  y 2


Эффективный графический интерфейс системы моделлирования

Используя уравнение прямой, проходящей через одну точку и коэффициент наклона, получим уравнение y  y12 y 2  K 2  ( x  x12x 2 ) . Если учесть, что точка O также лежит на этой прямой уравнение примет вид y0 

y1 y 2 2

 K 2  ( x0 

x1 x 2 2 )

(2)

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

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

Рис.9. Пример метода изгиба дуг

7

Результат работы данной программы можно увидеть на Рис.9. Как видно, вершины (Р1, Р3, Р4) стоят на одной линии. Если бы не был применён метод изгиба дуг, то связи сливались бы в одну линю, и определить, какие вершины связаны практически не возможно. 7. Заключение

Исходя из изложенного в работе видно, что при изображении графов существует множество различных проблем. Их решения не эффективны либо очень трудоёмкие. В работе предложены методы, которые являются достаточно простыми и эффективными. Метод «жгута» позволяет связать ребра для лучшей визуализации связей между определенными группами. Дуга в виде градиентной линии – удобное представление начала и конца ребра в массивных графах. Вынесение в таблицу маркировок на связях между вершинами сильно облегчит визуальное восприятие графа и поиск необходимой маркировки. Представление дуг в виде окружностей предотвратит слияние ребер графа. Однако предложенные решения охватывают лишь небольшую часть проблем связанных с отображением графа. Поэтому необходимо их более детальное изучение и нахождение соответствующих решений.

Список литературы 1. 2. 3. 4. 5. 6. 7. 8. 9.

Брейер М. А., Теория и методы автоматизации проектирования вычислительных систем – Москва: Мир, 1977. – С. 108-205. Berge C. B., The Theory of Graphs and Its Applications, New York, Wiley, Inc., 1962 G. D. Battista, P. Eades, R. Tamassia, and I. G. Tollis. Graph Drawing: Algorithms for the Visualization of Graphs. Prentice Hall, 1999 Касьянов В. Н., Евстигнеев В. А., “Графы в программировании: обработка, визуализация и применение”, 2003 Peterson, J. L., Petri Net Theory and the Modeling of Systems, Prentice-Hall, 1981 Kumar, D. and Harous, S., "Distributed Simulation of Timed Petri Nets: Basic Problems and Their Resolution", IEEE Transactions on Systems, Man and Cybernetics, Vol. 24, No. 10, 2002 Holliday, M. A. and Vernon, M. K., "A Generalized Timed Petri Net Model for Performance Analysis", IEEE Trans. on Software Eng., vol. SE-13, No. 12, 2006, pp. 1297-131 Евстигнеев В.А., Применение теории графов в программировании, 2009 David Joyner, Minh Van Nguyen, Nathan Cohen, Algorithmic Graph Theory, 2010


УДК 004.946 ШИРОЧИН В.П., ШИЛОВ Ю.Н. МИНИМИЗАЦИЯ ОБЪЕМА УПРАВЛЯЮЩЕГО СПИСКА ДЛЯ ПЛАНИРОВАНИЯ СОБЫТИЙ В PETRI-NETS МОДЕЛЯХ Стохастическая сеть Петри является моделью реальных параллельных систем. Анализ процессов, происходящих в таких системах, требует большого количества времени. Минимизация управляющего списка в процессе моделирования работы системы позволяет сократить требуемое для анализа время. Системы моделирования, использующие оптимизированные управляющие списки, смогут давать более точные результаты моделирования за кратчайшие сроки. Stochastic Petri net is a model of real parallel systems. Analysis of the processes occurring in such systems requires a large amount of time. Minimizing the control list in the simulation of the system reduces the required time for analysis. Modeling systems that use optimized control lists, will give a more accurate simulation result for the shortest possible time. Симуляция работы сети Петри

Управляющий список является ключевым элементом для реализации режима симуляции сетей Петри. Он содержит информацию обо всех осуществленных переходах и новой маркировке на каждом шаге, получаемой путем решения матричных уравнений сети. По списку собираются статистические данные о работе сети, таким образом, можно обнаружить её слабые и сильные стороны. Статистически значимый результат появляется при количестве событий симуляции более 10 000, что напрямую влияет на время обработки списка, соответственно задача минимизации его объема является крайней важной для получения быстрых и в высокой степени точных результатов анализа сети. Управляющий список является таблицей данных о произошедших событиях во время моделирования работы сети. Для наиболее полного анализа сети необходимо фиксировать время события, тип события, задание и завершающую маркировку (после обработки события). Наиболее известными редакторами сетей Петри, использующимися сейчас, являются PIPE 2.0, WoPeD и инфраструктура PetriNetKernel. Несмотря на широкий выбор возможностей, их объединяет отсутствие четкого и структурированного управляющего списка. Это, вопервых, скрывает от пользователя важные данные о реальных процессах, происходящих в сети, а, во-вторых, предоставляет систему «как есть», без возможности оптимизации и ускоре-

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

Для уменьшения времени анализа работы сети необходимо выяснить основные причины замедления данного процесса: 1) Необходимость сортировки списка по времени. 2) Увеличение времени выборки с увеличением списка. 3) Сложность отображение большого объема данных в графическом интерфейсе пользователя. Варианты решения проблем: 1) Оптимальным способом сортировки в данном случае является сортировка слиянием. Но на практике сортировка в данном алгоритме симуляции работы сети не является наиболее необходимым этапом для реализации, так как большая часть управляющего списка уже изначально может быть отсортирована, таким образом дополнительная сортировка не нужна. Поэтому список можно разбить на части, проверить каждую из них на правильный порядок элементов, а затем объединить. При большом размере списка сложность этого метода будет целиком зависеть от скорости обхода всего массива событий. 2) В решении предыдущей проблемы сортировки списка уже была упомянута нецелесообразность этого этапа, причиной этому послу-


Минимизация объема управляющего списка для планирования событий в Petri-nets моделях

жила возможность вставки элемента на нужное место в списки во время обработки события. На первый взгляд здесь кажется уместным использование бинарного дерева либо бинарного поиска. Однако следует учесть, что новое событие в списке не может опуститься в списке ниже, чем на m позиций от вершины, где m – количество конфликтных групп переходов. Если принять длину списка за n, то бинарный поиск позволит вставить элемент на нужную позицию приблизительно за log2n, а последовательный обход элементов списка с конца – за m. Выходит, что даже при наличии в сети 10 конфликтующих переходов последовательный обход будет быстрее бинарного при списке больше 1000 элементов. 3) Несмотря на повышение скорости сортировки, даже выборка и добавление новых элементов будет замедлена при большом количестве элементов в управляющем списке. Выход прост – его надо чистить. Нельзя забывать, что надо хранить первое появление каждой маркировки для подсчета времени возврата. Лучше всего вынести их в отдельный массив, а потом, при необходимости, вернуть назад, это ускорит время работы на этапе симуляции. Выбор структуры данных для реализации управляющего списка

При реализации управляющего списка на практике, т.е. представлении как структуры данных в каком-либо из языков программирования, нужно иметь возможность сортировать его по определенному полю (чаще всего по времени), выполнять операции произвольного доступа, добавлять и удалять новые элементы по индексу и/или ключу. Возможные структуры делятся на несколько основных групп – списки (Lists), наборы (Sets), множества (Maps), очереди (Queues) и стек (Stack). Из возможных структур в первую очередь исключено использование наборов, т.к. хоть они и поддерживают автоматическое упорядочивание, в них нельзя содержать объекты с одинаковыми характеристиками, а в управляющем списке гарантировано наличие событий с одинаковым временем выполнения. То же самое касается и множеств, список ключей для доступа к объектам которых тоже является набором. Упорядоченный стек или приоритетная очередь – наилучший по быстродействию вариант, за исключением необходимости сбора статистики после каждого шага, что значительно

9

замедляет выполнение. Остается использование списков. Рассмотрим два основных типа списка: динамический массив и связный список: Таблица 1. Время выполнения стандартных операций

ArrayList LinkedList

Произвольный доступ O(1) O(n)

Вставка в конец O(1) O(1)

Удаление O(n) O(1)

В таблице использована О-нотация:  О(1): время выполнения константно.  О(log n): если n удвоено, то время увеличено на константу.  О(n): если n удвоено, то время удвоено. Вставка значительно быстрее в связном списке, а выбор по индексу – в динамическом массиве. Также в связном списке быстрее удаление, что может пригодиться на этапе оптимизации. Поэтому следует рассмотреть оба варианта. Реализация способов минимизации управляющего списка и выбор наилучшего

Программа для работы с сетями Петри, включающая режим симуляции работы сетей, написана на языке Java. UML-диаграмма подсистемы симуляции сетей представлена на рисунке 1.

Рис. 1. Упрощенная UML-диаграмма подсистемы симуляции сетей Петри


10

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

Подсистема собирает статистику по состояниям в процессе моделирования сети для каждой реализации управляющего списка. Рассмотрим 4 способа минимизации списка на основе следующих процедур. 1) Сортировка Очевидно, что, несмотря на оптимизированный способ сортировки, время работы все равно будет довольно большим, и оно будет экспоненциально расти с увеличением размера списка. Тем не менее, на этом этапе можно сравнить поведение структур ArrayList и LinkedList: Таблица 2. Время генерации списка с сортировкой Событий 1000 10000 20000 30000 40000 50000

Время генерации списка, нс ArrayList LinkedList 89226790 95038361 7837538278 11300001155 32967832629 49836211442 78576589412 125722543059 160307454637 275728821975 289759595362 521567271651

Таблица 3. Время генерации списка с прямой вставкой Событий

Генерация спи- Сбор статистиска, нс ки, нс 1000 5845663 2173635 10000 40214713 23834098 20000 108813695 45496210 30000 159848742 67517939 40000 237567861 95970391 50000 279228181 115345045 100000 845359073 252335708 1000000 8900266852 3412606200 Мы добились изменения зависимости времени генерации от размера списка с экспоненциальной на линейную. Тем не менее, линейная зависимость означает, что чем больше наш список, тем больше времени будет тратиться впустую.

Рис. 3. Время генерации с прямой вставкой Поэтому следующий шаг – непосредственное уменьшение размеров списка. 3) Очищение списка При расчете оптимального использования дан ного способа следует исходить из размера спиРис. 2. Время генерации списка с сортировкой ска N, требуемого для очищения списка времени M, коэффициента экспоненты k и искомого слиянием Из графика на рис.2 видно, что структура количества удаляемых записей x. Аналитически LinkedList не позволяет минимизировать время это можно записать в виде неравенства: генерации управляющего списка. При количестве событий больше 50000 время генерации почти вдвое превышает время при использова- Все параметры, кроме N, зависят от языка пронии динамического массива. Далее будем расс- граммирования и способа реализации, поэтому матривать варианты минимизации, использую- рассчитывать по этой формуле нецелесообразщие только ArrayList. но. К тому же, определение коэффициента k – 2) Прямая вставка на позицию тоже нетривиальная задача. Поэтому число х Вставка всегда будет осуществляться за конс- лучше искать опытным путем. Минимизация тантное время, полностью зависящее от разме- для малого количества событий не имеет смысра исследуемой сети. Время генерации списка ла, поэтому примем N = 100000 событий, а х от при этом будет строго линейно зависеть от его 100 до 2000.. размера.


Минимизация объема управляющего списка для планирования событий в Petri-nets моделях

Таблица 4. Время генерации списка для разного количества очищаемых записей Число x

Генерация списка, нс 100 727268279 200 663714751 500 659862872 1000 646911651 1500 657634776 2000 663578382 Выберем очищение на каждые 1000 событий. Важно отметить, что нельзя просто очистить список до нуля. Нужно сохранить, во-первых, время первого появления каждой маркировки, а во-вторых, времена запланированных, но не обработанных событий. Анализ статистики происходит при каждом очищении, поэтому требуемое время подсчитать не трудно. Таблица 5. Время генерации списка с оптимизацией очищением Событий 1000 10000 20000 30000 40000 50000 100000 1000000

Генерация списка, нс 25433949 160658817 340589676 450885932 604728491 776026302 1501107724 15529057904

Сбор статистики, нс 237546 10*237546 20*237546 30*237546 40*237546 50*237546 100*237546 1000*237546

11

Учитывая, что оба способа подходят к решению проблемы с разных сторон, их комбинация должна дать хороший результат. Таблица 6. Время генерации списка с комбинированным методом оптимизации Событий 1000 10000 20000 30000 40000 50000 100000 1000000

Генерация списка, нс 9650317 70032712 131040315 201106569 252545129 316800955 654746279 6314954473

Сбор статистики, нс 237546 10*237546 20*237546 30*237546 40*237546 50*237546 100*237546 1000*237546

Перспективы

Способы минимизации, рассмотренные в данной статье, позволяют сократить время генерации и обработки управляющего списка. Так же сокращается и общее время моделирования, что позволяет получить результаты статистики по состояниям за меньший период времени, чем без минимизации. Для наглядности, изобразим на графике зависимости времени обработки списков событий от общего числа событий: диаграммы для 2, 3 и 4 способов:

Рис. 4. Время генерации с очищением списка.

Рис.5. Три способа минимизации списка

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

Было выявлено, что при небольшом количестве событий моделирования системы нет особой необходимости в минимизации, но для моделирования реальных систем необходимо количество событий 10 000 и более, что требует больших затрат времени. Для проведения данных исследований была разработана среда эмуляции стохастических


12

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

сетей Петри на языке Java. В нее были внесены рассмотренные способы оптимизации и модуль проверки быстродействия. Программа размещена в свободном доступе на сайте https://sourceforge.net/projects/petrineteditor/, что дает право любому желающему изучить, модифицировать или дополнить исходные коды, а так же предложить свои варианты оптимизации на форуме этой программы. В дальнейшем на базе этой программы будет разработан модуль, позволяющий не просто моделировать различные сети Петри, но делать

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

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

1. M. Ajmone Marsan, G. Balbo, G. Conte, S. Donatelli and G. Franceschinis «Modelling with Generalized Stochastic Petri Nets» John Wiley and Sons pp.117-155 2. Molloy M. K. "Performance Analysis Using Stochastic Petri Nets", IEEE Trans. on Computers, vol. C-31. No. 9, pp. 913-917 3. Peterson J.L. Petri Net Theory and the Modeling of Systems, Prentice-Hall, 1981 4. Kumar, D. and Harous, S., "Distributed Simulation of Timed Petri Nets: Basic Problems and Their Resolution", IEEE Transactions on Systems, Man and Cybernetics, Vol. 24, No. 10 5. Holliday, M. A. and Vernon, M. K., "A Generalized Timed Petri Net Model for Performance Analysis", IEEE Trans. on Software Eng., vol. SE-13, No. 12, pp. 1297-13


УДК 621.396.946.2 КУЛАКОВ Ю.О., ВОРОТНИКОВ В.В. ФОРМИРОВАНИЕ ОПТИМАЛЬНЫХ МАРШРУТОВ В МОБИЛЬНЫХ СЕТЯХ НА ОСНОВЕ МОДИФИЦИРОВАННОГО АЛГОРИТМА ДЕЙКСТРЫ В статье рассмотрен модифицированный метод Дейкстры для построения оптимальных маршрутов в беспроводных эпизодических сетях. Для поиска эффективных и полуэффективных решений на графах с векторными весами ребер используется метод сверток. В качестве частных критериев применены критерий изменения общей загрузки сети; показатель относительной нагрузки на канал, вносимой конкретным маршрутом; длина маршрута. Предложена программная реализация нахождения оптимальных маршрутов в условиях изменения географического местоположения узлов сети. In the article the modified method of Deykstry is considered for the construction of optimum routes in ad hoc networks. For the search of effective and semieffective decisions on columns with the vectorial scales of ribs the method of integral is used. As private criteria used criterion of change of general load a network; index of the relative loading on a channel, brought in a concrete route; length of route. Programmatic realization of finding of optimum routes is offered in the conditions of change of geographical site of knots of network. Постановка проблемы

Мобильные беспроводные эпизодические сети являются одним из перспективных направлений развития беспроводных телекоммуникационных систем. Теория случайных графов с заданной степенью вершин находит широкое применение для построения моделей таких сложных сетей, в том числе и беспроводных. Основной задачей при реализации таких сетей является задача связности в сети [1]. При использовании восприимчивых к задержкам приложений (потоковый звук, видео и т.п.) задача быстрого восстановления маршрутов, в эпизодической сети, является критически важной с точки зрения связности. Термин «связность» тесно взаимосвязан с понятием «выживаемости, живучести» эпизодической сети как способности системы адаптироваться к новым, изменившимся и, как правило, непредвиденным (аварийным) ситуациям [2], т.е. ее способности выполнять заданные функции (передачи, сбора информации, управление) в течение определенного времени, несмотря на нежелательные обстоятельства. Обеспечение связности является важной составляющий алгоритма маршрутизации в эпизодической сети. Анализ последних исследований и публикаций

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

сети и числе узлов [1,3]. При разработке алгоритмов управления с помощью имитационного моделирования, как правило, используются известные характеристики существующего оборудования, что дает хорошие результаты для локальных сетей с детерминированной структурой и является менее эффективным для сетей с нечеткими, приблизительными характеристиками. Все это побуждает искать новые подходы к моделированию и управлению передачей и обработкой данных, отличные от построения целевых функций качества. Моделирование сетей с учетом структурной топологии, как правило, производится при построении сетей, для которых изначально определено количество участников и их взаимосвязи друг с другом, что, например, позволяет минимизировать функцию стоимости сети. Однако существующие методы не эффективны для моделирования сети, имеющую случайную структуру. Анализ литературы свидетельствует, что маршрутизация в беспроводных сетях имеет свои особенности [3]. «Узким местом» тут обычно является фиксированная инфраструктура с ее ограничениями на передачу трафика между пользователями. В таком случае мобильные устройства должны функционировать в автономном режиме, самостоятельно проводя установление связи с другими узлами сети, тем самым выполняя некоторые функции маршрутизатора. Усложнения их работы обусловлено характером рассмотренных нами сетей, где узлы-пользователи могут когда угодно изменять свое местоположение, тем самым постоянно


14

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

изменяя топологию и общаясь между собой без создания каких-либо определенных стационарных путей передачи данных. Такие сети носят название MANET (mobile ad hoc networks) [4]. В этом случае узлы должны сотрудничать для обеспечения качественной маршрутизации, в отличие от традиционных WLAN, где абонентское оборудование централизованно управляется точками доступа. Протоколы маршрутизации MANET делятся на две группы: проактивные (tabledriven/ proactive routing protocols) и реактивные (ondemand/ reactive routing protocols) [3-5]. Особенность первой группы в том, что узлы сети постоянно собирают и обновляют информацию о ее состоянии, обмениваясь ею с соседями. Проактивные протоколы требуют от узла ведения таблиц маршрутизации, где указаны маршруты, которые позволяют достичь любого абонента сети. Специальные алгоритмы используются для поддержки актуальности этой информации. В связи с этим все изменения в топологии сети распространяются в ней. К проактивным протоколам относятся TBRPF (Topology Dissemination Based on Reverse-Path Forwarding), OLSR (optimized link state routing), DSDV (Highly Dynamic Destination-Sequenced DistanceVector Routing). В протоколах реактивной группы узел ищет путь к пункту назначения только при возникновении необходимости. Для этого существуют две основных операции: поиск маршрута и поддержка маршрута. Когда узел намерен установить связь и начинает устанавливать маршрут, информацию о доступных каналах он получает по запросам. Для поддержки информации о маршрутах узлы должны реагировать на изменения в топологии сети. Узел, у которого есть информация о каком-то канале, должен стремиться детектировать его отказ, если это происходит. Основные реактивные протоколы: DSR (Dynamic Source Routing protocol), AODV (Ad Hoc On-Demand Distance Vector), DYMO (Dynamic MANET On-demand) [3]. Позднее были предложены другие протоколы для пакетных радиосетей, в которых были сделаны попытки соединить преимущества и избавиться от недостатков каждой из групп. Примером является протокол BVR (Beacon Vector Routing), который использует технологии «жадного продвижения пакетов» (greedy forwarding) и построения системы логических

координат, унаследованные от предыдущих протоколов. Его особенностью является создание ряда «маяков» (beacons), случайно выбранных узлов, которые играют роль синхронизаторов в сети. На их основе строится «дерево» сетевой структуры, определяются показатели маршрутов и осуществляется построение путей к пунктам назначения: поиск ближайшего соседа, назначение его как следующего элемента маршрута и переход до его ближайшего соседа (реализация алгоритму «жадного продвижения»). Отличием BVR является применение при этом не географических, а логических координат. Главное назначение протокола – поддержка соединениий «точка-точка» (point-to-point). Позднее на его основе был разработан протокол LCR (Logical Coordinate Routing) [6]. Таким образом, вопрос оптимальной маршрутизации в беспроводных сетях является объектом интенсивного изучения и многих исследований. Развитие протоколов маршрутизации в беспроводных сетях идет по пути децентрализации управления трафиком и гибридизации как результата попыток объединения различных подходов. В настоящее время темпы усложнения сетевой инфраструктуры опережают процессы стандартизации, так что какиелибо конкретные общеупотребительные протоколы пока не выделились. Формулировка задачи исследования

Задача оптимальной маршрутизации в мобильных эпизодических сетях представляет собой задачу динамического программирова-ния. Типичной для прикладных задач сетевого управления является ситуация, когда с каждым ребром графа сети связывается не одна числовая характеристика С ( x, u ) , а несколько: Сk ( x ,u ), k  1,2 ,..., K , образующих векторный вес ребра [7] (1) С ( x ,u )  ( С1( x ,u ),..., С K ( x ,u )) где x ,u – вершины и переходы графа, соответственно; K - количество частных критериев качества. В соответствии с этим, критерии качества пути  становятся векторными: W (  )  ( W1(  ),...,WK (  )) с компонентами Wk (  ) , для которых [7,8] Wk (  )   g Ck ( g )

,

(2)


Формирование оптимальных маршрутов в мобильных сетях на основе модифицированного… 15 предпочтительный компромисс между критегде g – ориентированные ребра графа.

В общем случае компоненты векторного критерия являются противоречивыми в том смысле, что их минимальные значения достигаются на различных путях  . Целевая функция показывает необходимость минимимизации трех частных критериев: критерий изменения общей загрузки сети W1 (  ) , показатель относительной нагрузки на канал, вносимой конкретным маршрутом W2 (  ) , длина маршрута W3 (  ) . W (  )  ( W1(  ),...,WK (  )) Поэтому решение в задаче оптимизации с векторным критерием (многокритериальная оптимизация) будет сформулирована следующим образом: (3) W (  )  1  W1(  )  2  W2 (  )  3  W3 (  ),

1  2  3  1, 1  0,2  0,3  0, где 1 ,2 ,3 – весовые коэффициенты, учитывающие важность критериев. Способы определения весовых коэффициентов (коэффициентов важности критериев) могут быть различны. Существуют в общем случае несколько классов методов определение важности коэффициентов [8]: 1. Методы поиска решения без участия ЛПР. 2. Методы, использующие предпочтения ЛПР для построения правила выбора единственного или небольшого числа паретоэффективных решений. 3. Интерактивные (итеративные) процедуры решения задачи с участием ЛПР. 4. Методы, основанные на аппроксимации паретовой границы и информировании ЛПР о ней в том или ином виде; далее ЛПР указывает наиболее предпочтительную критериальную точку на паретовой границе; по этой критериальной точке находят предпочтитель-ное решение. Исходными данными для решения задачи оптимизации являются: информация о территориальном расположении объектов (узлов сети); матрица информационных потоков; матрица пропускных способностей беспроводных каналов связи. В результате оптимизации необходимо выбрать одно из альтернативных решений (маршрутов), при котором достигается наиболее

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

Сущность работы заключается в модификации алгоритма Дейкстры выбора кратчайшего пути в беспроводных эпизодических сетях. При реализации процедуры оптимизации по разработанному алгоритму используются следующие параметры беспроводной сети: n – число узлов сети; D(k) – вес пути (сумма весов рёбер вдоль данного пути) от корневого узла V н до узла V к ; w( Vн , V к ) – вес ребра между V н -м и V к -м узлами; N – множество, элементами которого являются номера узлов, добавляемые на каждом шаге алгоритма оптимизации на основе вычисления путей с минимальным весом. Алгоритм Дейкстры является наиболее экономичным алгоритмом (с точки зрения вычислительной сложности), позволяющим определить вес и состав оптимального пути между заданной парой вершин [9]. Сущность его состоит в следующем. Обозначим начальную и конечную вершины пути символами V н и V к соответственно. Вначале все множество вершин V  {Vi } графа разбивается на два подмножества. Первое из них содержит только вершину V н , а второе (T ) – все остальные вершины: T  {V i } / V н . Затем путем последовательного перебора элементов множества Т определяется вершина ближайшая (в смысле заданного критерия оптимальности) к вершине V н . Выбранная вершина присоединяется к первому множеству вершин, которое уже будет состоять из двух элементов. Если присоединенная вершина Vil является конечной, т.е. Vil  Vк , то процесс построения оптимального пути считается завершенным. Если же это условие не выполняется , то производится сравнение весов путей от начальной верши-


16

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56 Перейти к шагу 2. ны V н до всех вершин множества Т . При этом

рассматриваются как однохоповые пути вида так и двуххоповые вида {V н , Vi  T } , {Vн , Vi , V j  T } .

Вершина Vi 2 из Т , соответствующая пути оптимального веса, исключается из множества Т и присоединяется к множеству, содержащему вершину V н . Если присоеди-ненная вершина не является конечной, то на следующем этапе выбор очередной присоединяемой вершины должен производиться аналогичным образом с той лишь разницей, что в качестве транзитной вершины в двухреберных путях будет использована последняя из присоединенных вершин. После того, как очередная присоединяемая вершина совпадает с конечной вершиной, процесс поиска оптимального пути завершается. Дадим формальное описание алгоритма Дейкстры с использованием тернарных операций [9]. Исходными данными для реализации алгоритма являются: матрица весов W  wij ; начальная вершина Vн ; конечная вершина Vк ; критерий оптимальности и операция над двумя смежными ребрами opt ,  . Конечной целью является нахождение веса оптимального пути из Vн в Vк . Алгоритм состоит в последовательном выполнении следующих шагов. Шаг 1. Включение в множество Т всех вершин графа, за исключением Vн : T  {V i } / V н . Шаг 2. Определение очередной вершины, исключаемой из Т . Определяется вершина Vi  Т , для которой выполняется равенство wнj  opt wij (4) V jT

Шаг 3. Определение конца процесса поиска. Если i  K , то wopt  wнi , конец процесса поиска. В противном случае перейти к следующему шагу. Шаг 4. Корректировка матрицы весов. Исключить из Т вершину Vi и для всех V j  T выполнить тернарные операции вида wнj  opt [ wнj ,( wнi , wij )]

(5)

После завершения процесса вычислений элемент wнк матрицы весов будет равен весу оптимального пути из Vн в V к . Пример. Рассмотрим эффективность многокритериальной оптимальной маршутизации на основе анализа сети (рис. 1).

2

5

1 3

4

8

6

7

Рис. 1. Пример сети, для которой реализуется механизм многокритериальной оптимальной маршрутизации Исходные данные. Пусть заданы: 1) матрица расстояний для сети (рис. 1): 0 126 102 142 217 195 228 281 126 0 117 222 125 150 235 219 102 117 0 112 139 95 133 181 d ij 

142 222 112 0 242 178 138 251 217 125 139 242 0 76 179 102 195 150 95 178 76 0 103 86 228 235 133 138 179 103 0 135 281 219 181 251 102 86 135 0

2) пропускные способности беспроводных каналов связи сети: Сij  10 пак/с; 3) матрица требований, которая задает трафик между узлами сети (пак/с): 1 2 3 4 5 6 7 8 1 0 0.2 0.7 0.1 0.7 0.6 0.4 0 2 0.6 0 0.9 0.5 0.7 0.9 0.8 0.7 3 0.8 0.8 0 0 0.5 0.2 0.5 0.9  ij  4 0.7 0.2 0.4 0 0.2 0.6 0.5 0.7 5 0.3 0.4 0.8 0.5 0 0.2 0.9 0.7 6 0.1 0.1 0.8 0 0.6 0 0.6 0.1 7 0.3 0.8 0 0.7 0.5 0 0 0.1 8 0.4 0.2 0.1 0.6 0.9 0.7 0.3 0


Формирование оптимальных маршрутов в мобильных сетях на основе модифицированного…

4) интенсивность обслуживания беспроводными каналами связи зададим одинаковую:  ij  5 пак/с . Для заданных интенсивностей обмена данными в сети, определим модифицированным методом Дейкстры оптимальные пути опт i , j  1,2 ,...N : ( k ,l )  П ij Общее количество рассмот-ренных маршрутов – 512. Ограничим задачу и рассчитаем независимые маршруты для каждой пары узлов «источник-адресат» (для примера выделим множество маршрутов, которое включает по 3 независимых маршрута для каждой пары): П12  (1  4  7  6  5  2 )584 ,(1  2)126 ,(1  3  2)219 ;

П13  (1  3)101 ,(1  2  3)242 ,(1  4  3)253 ;

П14  {( 1  4 )140 ,( 1  3  4 )212 , ( 1  2  5  6  7  4 )566 }; П15  {( 1  3  5 )238 ,( 1  2  5 )248 ,

17

П46  {( 4  3  6 )206 ,( 4  7  6 )240 , ( 4  1  2  5  6 )468 }; П47  {( 4  7 )136 ,( 4  3  7 )243 , ( 4  1  2  5  6  7 )570 }; П48  {( 4  7  8 )270 ,( 4  3  6  8 )290 , ( 4  1  2  5  8 )492 }; П 56  ( 5  6 )76 ,( 5  8  6 )188 ,( 5  3  6 )234 ; П 57  ( 5  6  7 )178 ,( 5  8  7 )236 ,( 5  3  7 )271 ;

П 58  ( 5  8 )100 ,( 5  6  8 )188 ,( 5  2  3  7  8 )508 ; П67  ( 6  7 )103 ,( 6  8  7 )221 ,( 6  3  7 )228 ; П68  ( 6  8 )85 ,( 6  5  8 )177 ,( 6  7  8 )237 ;

П78  ( 7  8 )135 ,( 7  6  8 )189 ,( 7  3  5  8 )374 .

Распределим потоки между узлами в соответствии с критерием минимального расстояния: f kl  f kl   kl /  . Для этого будем считать, что каждый поток  ij , распространяется по

( 1  4  7  6  5 )456 }; кратчайшему пути Пij  minПij1 , Пij2 , Пij3 : П16  ( 1  3  6 )193 ,( 1  2  5  6 )323 ,( 1  4  7  6 )379  0 3 0 3 .1 0 0 0 П17   ( 1  3  7 )230 ,( 1  4  7 )275 ,

( 1  2  5  6  7 )425 ; П18  {( 1  3  6  8 )277 ,( 1  2  5  8 )347 ,

( 1  4  7  8 )409 }; П 23  ( 2  3 )117 ,( 2  1  3 )228 ,( 2  5  3 )264  П24  {( 2  3  4 )228 ,( 2  1  4 )267 , ( 2  5  6  7  4 )441 }; П25  {( 2  5 )123 ,( 2  3  5 )254 , ( 2  1  4  7  6  5 )583 }; П26  {( 2  5  6 )198 ,( 2  3  6 )209 , ( 2  1  4  7  6 )506 }; П27  {( 2  3  7 )246 ,( 2  5  6  7 )300 , ( 2  1  4  7 )402 }; П28  {( 2  5  8 )222 ,( 2  3  6  8 )293 , ( 2  1  4  7  8 )536 }; П 34  ( 3  4 )112 ,( 3  1  4 )244 ,( 3  7  4 )271 ;

П 35  ( 3  5 )138 ,( 3  6  5 )170 ,( 3  2  5 )241 ;

П 36  ( 3  6 )93 ,( 3  5  6 )213 ,( 3  7  6 )234 ;

 37  ( 3  7 )130 ,( 3  6  7 )195 ,( 3  4  7 )247 ;

П 38  ( 3  6  8 )177 ,( 3  5  8 )237 ,( 3  7  8 )264 ;

П45  {( 4  3  5 )251 ,( 4  7  6  5 )317 , ( 4  1  2  5 )393 };

1 .5

f kl 

0. 9

0

4. 6

0 0 .8 0 1 . 8 0 0. 8

0 0

0 0

0 0

0

0 . 9 1. 9 0 0

0 0

0

0

0.6 2.8 0 2 .3

0 0 0 0

0 1.9 0 0.6 0. 7 0 2. 6 0

0 0 0 1. 3 0 1. 7 0 2 . 7 0 0 0 0 0 0 0 0 Для существующей матрицы нагрузок и множества возможных маршрутов применим многокритериальную маршрутизацию. На первом этапе по критерию, характеризирующем длину пути, из П  { Пij } создадим d

подмножеств П d , d  1, D , где D – максимальное число транзитных участков для маршрутов Пij  П ; i , j  1, N . В результате к классу маршрутов, не имеющих транзитных участков, включены: П 1  {( 1  2 )126 ,( 1  3 )101 ,( 1  4 )140 ,( 2  3 )117 , ( 2  5 )123 ,( 3  4 )112 ,( 3  5 )138 ,( 3  6 )93 ,( 3  7 )130 , ( 4  7 )136 ,( 5  6 )76 ,( 5  8 )100 ,( 6  7 )103 ,( 6  8 )85 , ( 7  8 )135 }; Подмножества маршрутов, которые имеют один, два и три транзита, будут сформованы следующими элементами Пij :


18

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56 Табл. 1 Векторное значение веса ребра П  {( 1  3  2 )219 ,( 1  2  3 )242 ,( 1  4  3 )253 , 2

Маршрут

Номер маршрута

Общая нагрузка на на канал, пак/с

Нагрузка на канал, которая обусловлена маршрутом пак/с

Расстояние

Векторное значение веса

( 1  3  4 )212 ,( 1  3  5 )238 ,( 1  2  5 )248 ,( 1  3  6 )193 ,

( 3  7  8 )264 ,( 4  3  5 )251 ,( 4  3  6 )206 ,( 4  7  6 )240 ,

2‐>5

1

4,60

0,70

125

0,32

( 4  3  7 )243 ,( 4  7  8 )270 ,( 5  8  6 )188 ,( 5  3  6 )234 , (3  7  4) 271 , (5  8  7) 236 , (5  3  7) 271 , (5  6  8)188 ,

1‐>4

2

3,10

0,10

142

0,63

1‐>2

3

3,00

0,20

126

0,62

(6  8  7) 221 , (6  3  7) 228 , (6  5  8)177 , (6  7  8) 237 ,

3‐>7

4

2,80

0,50

95

0,58

(7  6  8)189 , (5  6  7)178 };

7‐>8

5

2,70

0,00

135

0,7

6‐>7

6

2,60

0,60

103

0,54

( 2  5  6  7 )300 ,( 2  1  4  7 )402 ,( 2  3  6  8 )293 ,

4‐>7

7

2,30

0,50

138

0,54

( 4  7  6  5 )317 ,( 4  1  2  5 )393 ,( 4  3  6  8 )290 ,

5‐>6

8

1,90

0,20

76

0,78

( 7  3  5  8 )323 };

2‐>3

9

0,90

0,90

117

0,53

П 4  {( 1  4  7  6  5 )456 ,( 1  2  5  6  7 )425 ,

5‐>8 10

0,70

0,70

102

0,64

( 2  5  6  7  4 )441 ,( 2  1  4  7  6 )506 ,

3‐>6 11

0,60

0,20

95

0,85

2‐>6 12

0,90

0,90

150

0,48

( 4  1  2  5  6 )468 };

3‐>8 13

0,90

0,90

181

0,43

Следующим шагом будет определение скалярной свертки для определения векторных весов каждого канала связи. Перед решением задачи рекомендуется провести нормирование критериев, определив диапазон их изменения от 0 до 1. Как показано в [7,8], для нормировки удобно использовать функцию вида : w  wij max wij  ij (6) wij max  wij min

5‐>7 14

0,90

0,90

179

0,43

2‐>7 15

0,80

0,80

235

0,38

1‐>3 16

0,70

0,70

102

0,64

1‐>5 17

0,70

0,70

217

0,46

2‐>8 18

0,70

0,70

281

0,35

4‐>8 19

0,70

0,70

251

0,4

1‐>6 20

0,60

0,60

195

0,54

4‐>6 21

0,60

0,60

178

0,56

2‐>4 22

0,50

0,50

222

0,54

3‐>5 23

0,50

0,50

139

0,67

1‐>7 24

0,40

0,40

228

0,57

4‐>5 25

0,20

0,20

242

0,64

6‐>8 26

0,10

0,10

86

0,93

1‐>8 27

0,00

0,00

281

0,66

3‐>4 28

0,00

0,00

112

0,94

( 1  3  7 )230 ,( 1  4  7 )275 ,( 2  1  3 )278 ,( 2  5  3 )264 , ( 2  3  4 )228 ,( 2  1  4 )267 ,( 2  3  5 )254 ,( 2  5  6 )198 , ( 2  3  6 )209 ,( 2  3  7 )246 ,( 2  5  8 )222 ,( 3  1  4 )244 , ( 3  6  5 )170 ,( 3  2  5 )241 ,( 3  5  6 )213 ,( 3  7  6 )234 ,

( 3  6  7 )195 ,( 3  4  7 )247 ,( 3  6  8 )177 ,( 3  5  8 )237 ,

П 3  {( 1  2  5  6 )323 ,( 1  4  7  6 )379 , ( 1  3  6  8 )277 ,( 1  2  5  8 )347 ,( 1  4  7  8 )409 ,

2  1  4  7  8 )536 ,( 4  1  2  5  6 )468 , ( 4  1  2  5  8 )492 ,( 5  2  3  7  8 )508 ,

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


Формирование оптимальных маршрутов в мобильных сетях на основе модифицированного…

Система моделирования позволяет привязывать размещение узлов сети к цифровой карте (рис. 2) Для примера рассмотренного выше, сеть представленная в системе моделирования показана на рис. 2.

19

включать, в первую очередь, в маршрут ребра с векторным значением веса меньше 0.5.

Рис. 3. Векторные веса ребер сети Рис.2. Представление мобильной эпизодической сети в системе моделирования На рис.3 представлены отсортированные по убыванию значения векторных весов ребер для 28 однохоповых маршрутов. Скалярное значение веса маршрутов изменяются в диапазоне от 0.3 до 0.9. Для таких значений при последующем выборе оптимальных маршрутов с целью избегания перегрузки сети предлагается

Выводы

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

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

2. 3. 4. 5. 6.

7. 8.

9.

Бахтин А.А. Метод локального восстановления маршрута в эпизодических сетях. / А.А. Бахтин, В.А. Меркушев/ // Инженерный вестник Дона [Электронный ресурс]. – ISSN 2073-8633. – 2011. – №3– Режим доступу до журн.: http://www.ivdon.ru/magazine/archive/n3y2011 Стекольников Ю. И. Живучесть систем. Теоретические основы [Текст] : [монография] / Ю.И. Стекольников. – СПб.: Политехника, 2002. – 155 с. – ISBN 5-7325-0652-7 Dressler F. Self-Organization in Ad Hoc Networks: Overview and Classification. / F. Dressler. – Technical report. – Univ. of Erlangen.– Dept. of computer science 7. – February, 2006. Clausen T. Optimized link state routing protocol (OLSR). / T. Clausen, P. Jacquet // RFC 3626. – October, 2003. Perkins C. Highly dynamic destination-sequenced distance-vector routing (DSDV) for mobile computers. / C. Perkins, P. Bhagwat // Computer Communications Review. – 1994. – pp. 234–244. Iwata A. Scalable routing strategies for ad hoc wireless networks. / A. Iwata, C.-C. Chiang, G. Pei, M. Gerla, T.-W. Chen // IEEE Journal on Selected Areas in Communications: Special Issue on Ad-Hoc Networks. – 1999. – Vol. 17, No. 8 .– pp. 1369–1379. Безрук В.М. Многокритериальный подход к маршрутизации в сетях связи / В.М. Безрук, В.В. Варич // Радиотехника. – Харьков. – 2010. – Вып. 163. – С. 45 – 48. Гороховатская Н.В. Задача оптимизации при оперативном управлении информационнотехнологическими системами / Н.В. Гороховатская, В.М. Кузьменко // Системы управления, навигации и связи. – Киев: [ЦНИИ НиУ], – 2011. – Вып. 2(18). – С. 83-88. Кузнецов Н.А. Алгоритм Дейкстры с улучшенной робастностью для управления маршрутизацией в IP–сетях. / Н.А. Кузнецов, В.Н. Фетисов // Автоматика и телемеханика. –2008. – №2. – С. 80-86.


УДК 004.04+004.4242 ЯСІНСЬКИЙ В.В., БОЛДАК А.О. МЕТОДИ ТА ЗАСОБИ МОДЕЛЮВАННЯ "КОНФЛІКТНИХ" СИТУАЦІЙ В СКЛАДНИХ ЛЮДИНОМІРНИХ СИСТЕМАХ В роботі розглянуто підхід до моделювання «переговорних» процесів, спрямованих на досягнення компромісу інтересів між учасниками соціальних процесів за допомогою ієрархічних ігор ГермейєраМойсєєва, розроблено методи та відповідні програмні засоби імітаційного моделювання «переговорних» процесів для достатньо широкого класу ігор: ігри з близькими інтересами, біматричні, білінійні та коаліційні ігри, ігри з неповною інформованістю учасників, ігри з забороненими ситуаціями, ігри з побічними платежами та інші. Розглянуто застосування методів моделювання «конфліктних» ситуацій на прикладі великої навчальної системи. The article analyses an approach to simulation of "negotiation" processes aimed at reaching a compromise by the participants of social negotiations with the help of hierarchical games of Germeier-Moijseev. It gives the description of the methods and the relevant software means for simulations of negotiation processes developed for a wide range of games: games on close interests, bimatrix games, bilinear and coalition games, games with partly informed participants, games with prohibited situations, games with secondary payments etc. The application of the methods for simulations of "conflict" situations on the example of large education system is given. Вступ

Складність управління великими колективами людей в межах будь-якої сфери діяльності визначається, в першу чергу, тим, що спільна діяльність носить ознаки соціального процесу, а сам колектив необхідно розглядати з позицій великої соціальної системи, тобто такої, що складається з взаємопов’язаних та взаємодіючих підсистем, кожна з яких може розглядатися як складна система [1]. Стійкі відносини, що складаються в такій системі та визначають роль і принципи поведінки кожного з учасників процесу, є певним компромісом інтересів, який досягається як між окремими людьми, так і між їх групами, утвореним за ознаками спільних інтересів. Особливістю таких людиномірних систем є те, що можливим засобом вирішення «конфліктів» є «переговорний» процес, результатом якого є досягнення певного компромісу між його учасниками. Одним із прикладів таких людиномірних систем є велика навчальна система (рис.1), що складається з соціального оточення (підсистема S1 ), студентського ( S 2 ) та викладацького ( S3 ) середовищ, а також інформаційнодіагностичної підсистеми моніторингу якості знань ( S 4 ), між якими здійснюється інформаційний взаємовплив [2].

(6)

S1 (11)

f1,2

(3)

(12)

f2,1 f2

S2 (7)

f1 f1,4 (9)

f4,1

S4

f4,2

(13)

(15)

f3,4

(4) (1)

(0)

f4

f4,3

(2)

f2,3

S3

(14) (16)

f1,3

(10)

(5)

f2,4

f3,1

(8)

f3

f3,2

Рис.1. Велика навчальна система.

Ключовою компонентою загальної математичної моделі еволюції знань у великій навчальній системі є функція f (складова функції реакції системи), яка формально задається як деяка суперпозиція K функцій f11,  F11, , f1,2  F1,2 , f 2  F2 , f3  F3 :

f  K  f11, , f1,2 , f 2 , f3  .

На практиці функції

f11, , f1,2 , f 2 , f3 , як

правило, не є заданими a priori, а формуються в результаті прийняття рішень у відповідних багатоетапних переговорних процесах із заданими пріоритетами, інтересами, правами та мож-


Методи та засоби моделювання "конфліктних" ситуацій в складних людиномірних системах

ливостями їх учасників. Тому побудова та аналіз адекватних математичних моделей таких процесів є важливим і необхідним етапом, який передує побудові розширеної математичної моделі еволюції знань у великій навчальній системі. Мета роботи полягає у підвищенні адекватності моделювання процесів накопичення та зберігання знань у великій навчальній системі за рахунок розробки та використання методів та відповідних програмних засобів моделювання «переговорного» процесу, спрямованого на розв’язання «конфліктних» ситуацій між групами учасників навчального процесу. Моделювання «конфліктних» ситуацій за допомогою ієрархічних ігор Гермейєра-Мойсєєва

Адекватним математичним інструментарієм моделювання таких переговорних процесів є теорія ігор з ієрархічною структурою Гермейєра-Мойсєєва та методологія максимального гарантованого результату [3-7]. Нехай метою учасників 1 , 2 , 3 є збільшення своїх функцій виграшу і H1( x11, ,x1,2 ,x2 ,x3 ) , H 2 ( x11, ,x2 ,x3 ) H 3 ( x1,2 , x2 ,x3 ) , неперервних на добутку ком-

пактів X11, , X1,2 , X 2 , X 3 , x11,  X 11, , x1,2  X1,2 , x2  X 2 ,x3  X 3 .

Нехай X i ,i  1,3 – множина вибору учасника  i , де X 1  X 11,  X1,2 . Визначимо n - раундо , результатом вий переговорний процес Q  Q якого є вибір його учасниками 1 , 2 , 3 елементів: x1,1  X 1,1 , x1,2  X 1,2 , x2  X 2 , x3  X 3 , як пару:

Q  P,I 0 ,

де I 0  I 0 ,1 ,I 0 ,2 ,I 0 ,3 , I 0  I – початкова інформованість учасників 1 ,  2 ,  3 , а P

 k0  i  ,S k i ,i i1,n , P  P 0

– сценарій пе-

реговорного процесу ( k0  i  – номер учасника, якому надається право ходу в і-му раунді; S k0  i ,i – множина допустимих локальних стратегій учасника  k  i  в і-му раунді). 0 Кожній локальній стратегії:

21

sk  i ,i  S k0  i ,i 0 відповідає певна однозначно визначена дія учасника  k  i  в і-му раунді, а саме: вибір ним за 0

певним правилом деякого елемента xk  i   X k  i  або передача одному з учасників 0 0 деякої інформації. Глобальною стратегією S k учасника  k в переговорному процесі Q назвемо впорядкований набір всіх його локальних стратегій: s k  s k ,k1 ,s k ,k2 ,...,s k ,k  k   ,  S k ,k1  S k ,k2  ... S k ,k  k 

де

  k   card 1  m  n : k0  m   k  

 k1 ,k2 ,...,k  k  ,k1  k2  ...  k  k 

.

В подальшому будемо вважати, що кожен з учасників  k вибором своєї глобальною стратегією sk  S k намагається максимізувати свій виграш, виходячи з того, що всі наступні учасники будуть діяти так, щоб вибором своїх глобальних стратегій sk  S k ,k  m,k ,m  1,3 максимізувати свої виграші в умовах, визначених всіма попередніми виборами (принцип максимального гарантованого результату). Нехай 11, , 1,2 ,  2 , 3 задані однозначні відображення: 1 : X11,  X1,2  F11,  F1,2 ,

 2 : X 2  F2 ,3 : X 3  F3 . Тоді ігрову процедуру G колективного формування учасниками 1 , 2 , 3 функції f можна визначити наступним чином: G :=  X i  , H i  , Fi  ,I 0 ,P,i  ,K ,i  1,3 , де X1  X11,  X1,2 ; F1  F11,  F1,2 . Сценарій задається, як послідовність подій двох типів: вибір учасником гри своєї функції реакції та передача іншим учасникам інформації про множини вибору та критерії виграшу. При цьому інформація, яка передається, може стосуватися як самого учасника, який здійснює цю дію, так і інших учасників гри. На рис.2 зображена відповідна структурна схема, в якій сценарій визначено як послідовність примірників, що реалізують програмний інтерфейс «Подія».


22

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

забезпечує максимальний гарантований результат. Інформованість I i, j учасника  i j -ому раунді включає всю доступну для нього інформацію, яка може бути використана для вибору власної функції реакції, що максимізує його виграш. До такої інформації належать відомості про критерії виграшу кожного з учасників – H i (  ), i  1,n та відомості про можливий вибір кожного з них до початку j  1 -ого раунду – X  i , j  X i . Таким чином, інформованість можна подати в вигляді: I i, j  H1(  ),H 2 (  ),...,H n (  ), X1 , j ,X  2 , j ,...,X n , j Рис.2. Структурна схема класів сценарію та подій.

В рамках інтерфейсу «Подія» наявне посилання на примірник учасника, якому передається подія. З подією передачі інформації асоціюється ще одне посилання на примірник учасника – приймача інформації. Загальний алгоритм моделювання nраундової ігрової процедури полягає у послідовній вибірці з сценарію чергової події та передачі її учаснику-обробнику події. В результаті виконання цього алгоритму для кожного з учасників визначається вибраний ним елемент x i , j  X i . Обробка

події

вибору

xi ,j

учасником

 i , i  1,n ( n – кількість учасників гри) в раунді j, j  1,k ( k – кількість раундів ігрової процедури) пов’язана з рішенням оптимізаційних задач: Hi , j  max  H i (  ) , xiX i ,I i , j

xi , j  arg max

xiX i ,I i , j

 H i (  ) ,

f i , j  i ( x i , j ). де H  i , j – значення максимального гарантованого результату учасника  i в j -ому раунді;

H i (  ) – функція виграшу учасника  i ; X i – його множина вибору, I i, j – інформованість i -

ого учасника в j -ому раунді, xi ,j – вибраний в j -ому раунді учасником  i елемент з X i , що

Обробка події «Передача інформації» учасником i пов’язана з формуванням інформації I i, j та її передачею учаснику-приймачу. При цьому інформація, яка передається може містити неповні та (або) спотворені дані про вибір функцій реакції учасників гри. З цієї причини, в структуру класів, які відповідають за поведінку учасника, зображену на рис.3, введені додаткові інтерфейси «Вибір» та «Передача», які дозволяють змінювати поведінку учасника за рахунок параметричного налаштування відповідного примірника класу «Учасник» реалізаціями цих інтерфейсів. Також, для моделювання інформації, доступної учаснику гри, введені інтерфейси «Критерій» та «Функція», що дає змогу задавати множини критеріїв виграшу та функцій вибору за допомогою параметрів. Загальний інтерфейс «Елемент» використано в структурній схемі з метою реалізації гетерогенної колекції об’єктів «Множина». Такі структурні схеми класів забезпечують можливості зміни критеріїв виграшу під час гри, участь в грі багатьох однотипних учасників, моделювання учасників із змінною поведінкою тощо. На етапі налаштування моделі перед початком моделювання для кожного з учасників гри задається інформація: I i,0  H1(  ),H 2 (  ),...,H n (  ), X1,0 , X 2 ,0 ,..., X n,0 ,

X i,0  X i ,i  1,n. А в процесі обробки сценарію, для кожного учасника інформація: I i, j  H1(  ),H 2 (  ),...,H n (  ), X1 , j ,X  2 , j ,..., X n , j ,

X 1 , j  X i


Методи та засоби моделювання "конфліктних" ситуацій в складних людиномірних системах

23

f11,  F11, , f1,2  F1,2 , f 2  F2 , f3  F3

учасниками

формується за рахунок виконання параметрично заданих алгоритмів вибору реакції та передачі інформації.

Рис.3. Структурна схема класів, що відповідають за обробку подій. Така схема формування інформації дозволяє враховувати неоднорідність компонент великої навчальної системи при визначенні функцій: f11,  F11, , f1,2  F1,2 , f 2  F2 , f3  F3 . Якщо множину учасників  , яка репрезентує студентське середовище, розбити на підмножини (кластери) 1 ,  2 ,...,  n , i   j   , i, j  1,n, i  j ,

n

 i   ,такі, що

i1

їх представники  3,i ,i  1,n мають поведінку, спільну для всіх представників відповідних кластерів, то для визначення функції f3 можна змоделювати гру з близькими інтересами учасників  3,i ,i  1,n , для яких вибір здійснюється з множини F3 , проте кожен з них має свій критерій виграшу H 3 ,i . Тоді функцію f3 можна подати як компози-

цію K  w1 f3,1 ,w2 f3,2 ,...,wn f3,n  , в якій вагові

коефіцієнти пропорційні потужності відповідних кластерів: wi  i /  . Кількісна оцінка «конфліктності» ситуації

Моделювання ігор з ієрархічною структурою фактично дозволяє досліджувати вплив мотивацій на формування загальної функції реакції системи. Але умова досягнення максимального гарантованого результату та наявність пріоритетів створюють обмеження на вибір функцій

(лише учасник на найвищому рівні ієрархії здійснює вибір без додаткових обмежень, тобто в умовах інформованості I 0 ). Такі обмеження вибору можуть сприйматися, як певна «несправедливість» по відношенню до учасників гри, та інтерпретуватися, як джерело зародження конфлікту. Кількісною оцінкою «несправедливості» по відношенню до учасника  i ,i  1,3 , породженої обмеженням вибору, може слугувати відношення: Hi ( ,P,I j ) Ki  1  , Hi ( ,I0 ) де H i ( ,P,I j ) – значення максимального гарантованого результату для учасника  i , якщо реалізується сценарій P , а сам учасник здійснює вибір в j  ому раунді; H i ( ,I 0 ) – значення максимального гарантованого результату для учасника  i для того випадку, коли відсутні обмеження на його вибір, обумовлені сценарієм P (тобто вибір здійснюється при умови інформованості I 0 ). Якщо K i  K кр , можна говорити про те, що учасник  i є потенційним «ініціатором» конфлікту. Кількісною оцінкою «конфліктності» ситуації у великій навчальній системі, породженої переговорним процесом, який здійснюється за сценарієм P , може слугувати величина 1 n K   Ki . n i1 Величини K можна використовувати в якості критерію при вирішенні оптимізаційної задачі P  arg min K( p ) , рішення якої дозволяє pP

знайти найменш «конфліктний» сценарій nраундового переговорного процесу. Висновки

Наведений приклад ієрархічної гри з трьома учасниками є безпосередньою моделлю переговорних процесів, що відбуваються у великій навчальній системі між учасниками, які презентують інтереси «соціального середовища» (верхній рівень ієрархії) та інтереси «студентського середовища» і викладацького середовища (нижні рівні ієрархії). Однак розроблені структурні схема класів дозволяють отримати значення максимального гарантованого результату та множину вибору


24

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

функцій реакції кожного з учасників в результаті n -раундового переговорного процесу для достатньо широкого класу ігор: ігри з близькими інтересами, біматричні, білінійні та коаліційні ігри, ігри з неповною інформованістю учасників, ігри з забороненими ситуаціями, ігри з побічними платежами та інші [3-7].

Розроблені програмні засоби моделювання ієрархічних ігор входять до складу інформаційної системи для збору, попередньої обробки та аналітичного опрацювання результатів моніторингу якості підготовки фахівців [8], яка використовується в Інституті моніторингу якості освіти НТУУ «КПІ».

Список літератури 1. 2.

3. 4. 5.

6. 7. 8.

Згуровский М.З., Панкратова Н.Д. Системный анализ. Проблемы, методология, приложения.-ННП "Издательство "Наукова думка"", К.-2011.- 726 с. Ясинский В. В. Исследование процессов самоорганизации в образовательных системах на основе метода синергетического моделирования [Текст]/ В. В. Ясинский // Кибернетика и системный анализ. – 2010. – №2. – с. 161 – 174. Моисеев Н.Н. Элементы теории оптимальных систем. – М.: Наука, 1975. 528 с. Гермейер Ю.Б., Моисеев Н.Н. Введение в теорию иерархических систем управления. Math Operationsforschung und Statist., 1973, 4, 2, p.133-154. Гермейер Ю.Б., Ватель И.А., Ерешко Ф.И., Кононенко А.Ф. Игры с непротивоположными интересами. В сб. "Труды Всесоюзной школы-семинара по управлению большими системами". Тбилиси, "Мецниереба", 1973, стр.88-136. Гермейер Ю.Б. Игры с непротивоположными интересами. М.:Наука, 1976, 328с. Методы и алгоритмы решения задач оптимизации. Бейко И.В., Бублик Б.Н., Зинько П.Н. – К.: Вища школа. Головное изд-во, 1983.-512с. Ясінський В.В. Інформаційна система для збору, попередньої обробки та аналітичного опрацювання результатів моніторингу якості підготовки фахівців [Текст]/ Ясінський В.В., Болдак А.О. // Вісник НТУУ «КПІ». Інформатика, управління та обчислювальна техніка: Зб. наук. пр. – К.: Век+, – 2012. – № 55. – c.68 -73.


УДК 004.932.4 ШАНТИР Д.С., НЕВДАЩЕНКО М.В., БОЛДАК О.А.

СЕРЕДОВИЩЕ «ШВИДКОЇ» РОЗРОБКИ СИСТЕМ КОМП’ЮТЕРНОЇ ОБРОБКИ ЗОБРАЖЕНЬ В роботі запропоновано підхід до декомпозиції задач комп’ютерної обробки зображень на основі використання проміжних семантичних моделей, розроблено предметно-орієнтовану мову опису процесу обробки зображень та реалізовано відповідний програмний інструментарій для «швидкої» розробки систем комп’ютерної обробки зображень. Розроблена система застосована для експериментального дослідження доцільності використання спеціалізованих методів для обробки зображень тексту. Presents an approach to the decomposition of tasks of computer image processing based on the use of intermediate semantic model, developed object-oriented language describing the process of image processing and is implemented as software tools for "fast" development of computer image processing in this case. The system used for the experimental study of the feasibility of using specialized methods for image processing text. Вступ

Розпізнавання тексту, обробка космічних знімків, машинний зір, виокремлення різноманітних характеристик, ідентифікація облич, виявлення форми та переміщення об’єктів – ось далеко неповний перелік напрямків використання комп’ютерної обробки зображень в прикладних та наукових цілях. Сьогодні замовники прикладних інформаційних систем все частіше вимагають в якості додаткової функціональності можливість використання обробки зображень для вирішення власних прикладних задач. Наприклад, додатковою вимогою до підсистем аутентифікації може бути можливість розпізнавання користувачів за зображенням обличчя або відбитків пальців. Використання існуючих систем та бібліотек для комп’ютерної обробки зображень для розробки такої функціональності викликає низку труднощів. Так, наприклад такі системи, як Adobe FineReader[1], Readiris[2] та Nuance OmniPage[3], є закритими і комерційними, тому не можуть бути адаптовані для вирішення прикладних задач замовника, або потребують значних фінансових затрат, пов’язаних з придбанням ліцензій на їх використання. Бібліотеки, наприклад такі, як OpenCV[4], Graphics Magick[5], Image Processing Toolbox[6] та GEGL[7], носять універсальний характер і надають розробнику програмного забезпечення засоби «низького» рівня та містять обмежену кількість прикладів використання і вкрай низькоякісну документацію. Це збільшує трудоміс-

ткість процесу розробки підсистем обробки зображень (ПОЗ), завдяки чому розробники опиняються в ситуації, коли вартість реалізації додаткової функціональності системи сумірна або перевищує загальну вартість проекту, яка влаштовує замовника. В зв’язку з цим, метою роботи є зниження трудомісткості розробки ПОЗ за рахунок реалізації та використання засобів «швидкої» розробки відповідного призначення. Для досягнення цієї мети треба вирішити проблему спрощення розв’язку задач обробки зображень за рахунок декомпозиції перетворень моделей зображень, розробити спосіб параметричного налаштування узагальненого обчислювального процесу, що реалізує обробку зображень, реалізувати відповідні програмні засоби «швидкої» розробки та експериментально перевірити їх працездатність. Класифікація моделей та задач комп’ютерної обробки зображень

Використання різноманітного математичного апарату, врахування при цьому в різній степені апріорної інформації про зображення не дозволяють виокремити універсальну модель зображення, яка конструктивно може використовуватись для вирішення всіх відомих задач обробки зображень. Так особливість сигнальної моделі [8] полягає в тому, що в ній апріорні відомості про характер та семантику візуальної інформації враховуються найменше, що дозволяє реєструвати та зберігати будь-яку візуальну інформацію в єдиній формі.


26

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

В цьому випадку зображення подане як просторовий розподіл деякої фізичної величини, яка, зазвичай, асоціюється з яскравістю: a( t ) : T  I ,T  X  Y ,

де T є площиною зображення, визначеній в просторових координатах X ,Y , а I – область значень яскравості. В залежності від того, яким чином визначені множини X ,Y і I сигнальні моделі можна розділити на неперервні (за яскравістю та простором) та дискретні. Якщо при реєстрації зображень за допомогою спеціальних пристроїв перевага надається неперервним моделям, то комп’ютерна обробка зображень основана на використанні дискретних моделей. Зазвичай зображення як сигнал розглядається у вигляді вектора в ортонормованому функціональному базисі [9]:

  k ( t ) ,

Математичний апарат, який використовується для побудови сигнальних моделей, є зручним для опису перетворень, які складають сутність задач корекції та попередньої обробки зображень, пов’язаних з фільтрацією. При цьому використовується інтегральна згортка з маскою (імпульсний відгук) фільтру h [9]: 

b( t )   a(  )h( t   )d ,  n

n

bk ,l    ak i,l  j hi, j . i  n j  n

Однак при вирішенні задач розпізнавання зображень використовуються інші, семантичні моделі зображень [8], які на відміну від сигнальних моделей, містять семантику зображених об’єктів в тому, чи іншому вигляді. Семантичні моделі представляють собою опис в термінах деякої множини елементів O та структур a , заданих на цій множені:

k ( t ) : T  I , i, j : ( i ( t ) j ( t ))  0 ,

a  Si  ,

a( t )    k k ( t ).

O  ok  ,

k

Функції k ( t ) визначені на тих самих множинах T і I , і зображення може розглядатися як елемент лінійного простору 1( t )  2 ( t )  ... k ( t ) , а його обробка – як лінійні (нелінійні) перетворення в цьому просторі. Якщо множина базисних функцій  є скінченною, то зображення можна подати як скінченну лінійну комбінацію за допомогою набору коефіцієнтів 1 , 2 ,..., k його розкладу в базисі  . Такий принцип покладено в основу дискретного подання зображень, коли зображення розкладається в базисі дельта-функцій відліків та подається у матричному вигляді. У протилежність до цього, неперервні моделі основані на використанні нескінченного базису, в якому лінійна комбінація визначається як:

a( t )    ( f ) ( f ,t )df . F

Перехід від неперервної сигнальної моделі до дискретної здійснюється за допомогою перетворення: 

ai, j   a( t ) ( t  

k )dt . 2F

Si  O  O  ... O,

ok  p1  p2  ... pm . Перехід від сигнальної моделі зображення до семантичної складає сутність задачі розпізнавання зображень, при цьому існує низка підходів до її вирішення. Один з підходів передбачає порівняння зображення з еталоном, які можуть бути подані не лише сигнальною моделлю, а й набором деяких узагальнених параметрів, потужність якого може бути набагато меншою, ніж кількість відкликів матричної моделі зображення. Ступінь співпадіння з еталоном оцінюється відстанню між зображенням і еталоном у відповідному параметричному просторі. Отримання значень параметрів пов’язано з їх статистичною обробкою, що приводить до статистичної трактовки семантичної моделі зображення, коли зображенню в цілому, або його окремим фрагментам у відповідність поставлені їх статистичні характеристики. Такий підхід, коли зображення розглядається як «чорна скринька», дозволяє, наприклад, доволі ефективно виділяти фон на зображеннях, будувати байєсівські класифікатори для піксельного розпізнавання зображень тощо. Але в тому випадку, коли семантика зображення пов’язана саме з геометрією зображених


Середовище «швидкої» розробки систем комп’ютерної обробки зображень

об’єктів, використовують моделі, що активно використовують апріорну інформацію про тип зображення, який зазвичай можна задати системою правил побудови, вираженій в термінах геометричних елементів та структур, визначених на них. Перехід від одної семантичної моделі до іншої, так само, як перехід від сигнальної моделі до семантичної, пов’язаний з вирішенням задачі розпізнавання. Таким чином, задачу розпізнавання зображення в загальному вигляді можна розбити на послідовність менш складних задач (переходів) з використанням проміжних семантичних моделей. Сутність таких переходів полягає в тому, що у відповідність певному відношенню на множені елементів однієї моделі ставиться поняття та відповідний йому елемент іншої моделі. Нехай Ei – множина елементів моделі i-ого рівня, тоді перехід від моделі i-1-ого до моделі i-ого рівня пов’язаний з пошуком однозначного відображення v : S( Ei 1 )  Ei , де S( Ei 1 )  Ei 1  Ei 1  Ei 1 ... Ei 1 . Відображення v визначає процес розпізнання множини елементів, які розглядаються як елементи простору Ei 1t . Розмірність простору t відповідає складності правил формування моделі зображення i-ого рівня. Таким чином, загальна методика вирішення задач розпізнавання зображень полягає у виборі цільової семантичної моделі, низки проміжних семантичних моделей, процедур, які реалізують перетворення цих моделей, процедур, які реалізують попередню обробку зображень на рівні сигнальної моделі та способу переходу від сигнальної моделі до відповідної семантичної моделі. Переваги такого підходу полягають в тому, що декомпозиція загальної задачі на послідовність менш складних задач суттєво знижує трудомісткість вирішення за рахунок зниження розмірності параметричного опису об’єктів розпізнавання. При цьому для вирішення окремих задач можна використовувати різні моделі зображень і відповідні їм методи. В рамках такого підходу можна запропонувати узагальнену структуру параметризованого обчислювального процесу для вирішення задач комп’ютерної обробки зображень на основі використання розширюваної бібліотеки процесів перетворення моделей зображень, що створює передумови для розробки системи

27

комп’ютерної обробки зображень, здатної генерувати модулі відповідного призначення для використанні а інших прикладних інформаційних системах. Предметно-орієнтована мова для вирішення задач комп’ютерної обробки зображень

Мета розробки предметно-орієнтованої мови полягає у наданні розробникам інформаційних систем засобів для параметричного налаштування узагальненого обчислювального процесу комп’ютерної обробки зображень, а також процесу кодогенерації відповідної підсистеми обробки зображень (ПОЗ), використання яких не передбачає детального знання як методів обробки зображень, так і специфікації внутрішніх класів самої системи обробки зображень. Розробка нової предметно-орієнтованої мови складається з етапу створення абстрактного синтаксису, на якому визначається множина семантичних одиниць, етапу розробки синтаксису, на якому формально визначається подання семантичних одиниць синтаксичними, графічними або змішаними засобами, та етапу розробки правил трансформації абстрактного подання в таке, що виконується інструментальним оточенням. При формулюванні множини понять, пов’язаних з розробкою мови та реалізацією інструментальних засобів використано мову UML та термінологію структурних шаблонів проектування [10, 11]. На рис.1 подано загальну схему відношень між семантичними одиницями предметноорієнтованої мови.

Рис.1. Схема відношень між семантичними одиницями предметно-орієнтованої мови комп’ютерної обробки зображень.


28

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

З точки зору розробника прикладної інформаційної системи підсистема обробки зображень (ПОЗ) повинна бути подана фасадом, в межах якого специфікована множина запитів до ПОЗ. Необхідна інформація для генератора вихідного коду ПОЗ містить множину ідентифікаторів цих запитів та ідентифікатор класу фасаду. Взаємодія між основною системою та ПОЗ здійснюється за рахунок викликів методівзапитів з боку основної системи та доступу до глобального контексту ПОЗ, до якого входять задекларовані змінні, які ідентифікуються за ім’ям. Окремий запит подано, як послідовність параметрично налагоджених процесів, для кожного з яких вказано клас реалізації. Сам процес реалізує окрему задачу перетворення моделей зображень. Налагодження процесу відбувається завдяки визначенню його входів та виходів, для яких вказана прив’язка до змінних глобального контексту ПОЗ. Також для входів можна використовувати значення простих типів: ціле або дійсне значення, логічне значення, текстове значення. Для виконання одного запиту ПОЗ може виникнути необхідність виконання іншого запиту. З цією метою використано залежності між процесами, які на їх множині утворюють композитну структуру. Зрозуміло, що наведений опис носить декларативний характер і може бути поданий за допомогою мови XML[12]. Приклад такого опису приведено нижче: <fasade name="TestImageIO"> <include src = "src/xml/lib/image.xml"/> <var name="image"/> <var name="gs"/> <request name="LoadImage" description="Load Image from file"> <process type="image.load"> <input name="src" value = "res/images/flipVertical.png"/> <output name="dest" ref="image"/> </process> </request> <request name="ConvertImage" depends="LoadImage" description = "Convert Image to grayscale"> <process type="image.toGrayScale"> <input name="src" ref="image"/> <output name="dest" ref="gs"/> </process> </request>

<request name="SaveImage" depends="ConvertImage" description="Writes image into file"> <process type="image.save"> <input name="src" ref="image"/> <input name="dest" value = "res/log/alpha_c.png"/> </process> <process type="image.save"> <input name="src" ref="gs"/> <input name="dest" value = "res/log/alpha_gs.png"/> </process> </request> </fasade>

Цей приклад описує типову ПОЗ для відлагодження реалізацій процесів, фасад якої буде подано класом TestImageIO, що інкапсулює запити: public void LoadImage(); public void ConvertImage (); public void SaveImage();

та методи доступу до змінних глобального контексту ПОЗ: public public public public

Object getImage(); void setImage(Object image); Object getGs(); void setGs(Object gs);

Прив’язка типів процесів до класів реалізації здійснюється в окремому XML-описі, що міститься в файлі image.xml та завантажується за допомогою інструкції include. Цей файл містить прив’язку імен типів до класів реалізації процесів: <inclusion> <classpath url = "file://bin/" /> <processdef type="image.load" іmplementation = "process.app.image.LoadImageProcess" /> <processdef type="image.save" іmplementation = "process.app.image.SaveImageProcess" /> <processdef type = "image.toGrayScale" іmplementation = " app.image.ToGrayScaleImageProcess" /> </inclusion>

В якості графічної форми подання процесу обробки зображень, яка здійснюється ПОЗ можна використати стандартні схеми опису процесу обчислень з специфікацією даних та процедур. Приклад такого опису приведений на рис.2. Інструментальні засоби реалізації запропонованої предметно-орієнтованої мови комп’ютерної обробки зображень розроблені з


Середовище «швидкої» розробки систем комп’ютерної обробки зображень

використанням мови програмування Java та стандартного пакету математичних бібліотек з відкритим кодом Apache Common Math [13]. Основними класами є інтерпретатор мови, який дозволяє реалізувати режим відлагодження ПОЗ. В результаті розбору XML-файлу за допомогою SAX-парсера [14] здійснюється побудова глобального контексту ПОЗ, завантаження класів-реалізацій процесів та побудова ланцюгів виконання. Процес виконання складається з фази перевірки відповідності налагодження процесу за допомогою входів і виходів специфікації процесу, яку інтерпретатор отримує під час виконання, та стадії виконання процесу.

29

Нижче наведено приклад такої специфікації: … @description ("Save image to file") @inputList({ @input( description = "image object", optional = false, name = "src", type = BufferedImage.class ), @input ( description = "image filename", name = "dest", type = String.class ) }) public class SaveImageProcess extends TaskImpl {…

Використання таких анотацій дозволяє формалізувати процес перевірки коректності налаштування процесу та спростити розробку класів-реалізацій процесів. Також активне використання інформації часу виконання дозволяє створити середовище швидкої розробки ПОЗ, наприклад у вигляді розширень для середовищ Eclipse [15] та Idea [16], підключати до такого середовища додаткові модулі, що містять класи-реалізації процесів та отримувати з них всю необхідну для їх використання інформацію. Розроблена система була випробувана для виявлення доцільності використання векторнопіксельної моделі та методу деформації координатної сітки [17] для обробки зображень тексту. З цією метою для вихідного зображення тексту була побудована векторно-піксельна модель, з її допомогою виконано 10-кратне збільшення зображення та деформація координатної сітки. Результати обробки зображені на рис.3. в масштабі 25% від оригінального розміру. Мета обробки полягає у зменшенні кількості артефактів при багатократному збільшенні масштабу зображень тексту. Як видно на рис.3.а., мають місце численні артефакти на границях символів, обумовлені загубленням сигнальної моделі в результаті растерізації. Як видно з рис.3.б., сумарна площа таких артефактів може бути суттєво зменшена за рахунок використання методу деформації координатної сітки. Рис.2. Приклад графічного опису ПОз.

Сама ж специфікація процесу здійснюється розробником процесу за допомогою механізму анотування ресурсів, який реалізовано в мові Java.

Висновки

Запропоновано підхід до декомпозиції задачі обробки зображень на основі використання проміжних семантичних моделей. Це дозволило визначити узагальнену структуру відповідного


30

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

обчислювального процесу та спосіб декларативного опису його налаштування. Запропонована предметно-орієнтована мова та реалізовані відповідні інструментальні засоби, які складають основу середовища «швидкої» розробки ПОЗ.

В подальшому планується розширення набору бібліотек, які реалізують методи комп’ютерної обробки зображень, та використання розробленого середовища в наукових дослідженнях та в навчальному процесі.

а)

б)

Рис.3. Результати обробки зображення тексту: а) без використання деформації координатної сітки; б) з використанням деформації координатної сітки. Список литературы 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.

Abbyy FineReader [Електроний ресурс] / Компанія ABBYY. – 2012. – Режим доступу: http://www.abbyy.ua/products/ocr/finereader/. Readiris [Електроний ресурс] / Компанія I.R.I.S. s.a. – 2012. – Режим доступу: http://www.irislink.com/c22115-189/Readiris-14--OCR-Software--Scan--Convert---Manage-your-Documents-.aspx. Nuance OmniPage [Електроний ресурс] / Компанія Nuance Communications, Inc. – 2012. – Режим доступу: http://www.nuance.com/for-business/by-product/omnipage/professional/index.htm. OpenCV [Електроний ресурс] / Компанія Itseez. – 2012. – Режим доступу: http://opencv.org/. GraphicsMagick [Електроний ресурс] / GraphicsMagick Group. – 2012. – Режим доступу: http://www.graphicsmagick.org/. Image Processing Toolbox [Електроний ресурс] / Компанія The MathWorks, Inc. – 2012. – Режим доступу: http://www.mathworks.com/products/image/. GEGL (Generic Graphics Library) [Електроний ресурс] / Компанія GIMP. – 2012. – Режим доступу: http://www.gegl.org/. Бузовский О.В. Компьютерная обработка изображений / Бузовский О.В., Болдак А.А., Мохамед Руми М.Х. – К.: Корнійчук, 2001. – 180 с. Методы компьютерной обработки изображений / [ред. Сойфер В.А.]. – [2-е изд.]. – М.: ФИЗМАТЛИТ, 2003. – 784 с. Буч Г. UML. Классика CS / Буч Г., Якобсон А., Рамбо Дж.; пер. с англ.; под общей редакцией проф. С. Орлова. – [2-е изд.]. – СПб.: Питер, 2006. – 736 с. Приемы объектно-ориентированного проектирования. Паттерны проектирования / [Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж.]; пер. с англ. – [2-е изд.]. – СПб.: Питер, 2001. – 368 с. Extensible Markup Language (XML) 1.0 (Fifth Edition) [Електроний ресурс] / World Wide Web Consortium. – 2012. – Режим доступу: http://www.w3.org/TR/REC-xml/ . Commons Math: The Apache Commons Mathematics Library [Електроний ресурс] / The Apache Software Foundation. – 2012. – Режим доступу: http://commons.apache.org/math/. D. Brownell. SAX2 / D. Brownell. – Sebastopol: O'Reilly, 2002. – 228 p. Eclipse [Електроний ресурс] / The Eclipse Foundation. – 2012. – Режим доступу: http://eclipse.org/. Idea [Електроний ресурс] / Компанія JetBrains. – 2012. – Режим доступу: http://www.jetbrains.com/idea/. Бузовский О.В. Повышение контрастности изображения / Бузовский О.В., Невдащенко М.В., Болдак А.А. – Зб. текстів виступів на ІV Всеукр. наук.-практ. конф. "Інформатика та системні науки" / Полтавський університет економіки і торгівлі. – П.: ПУЕТ, 2012. – с.31-34.


УДК 004 РОЛИК А.И. КОНЦЕПЦИЯ УПРАВЛЕНИЯ КОРПОРАТИВНОЙ ИТ-ИНФРАСТРУКТУРОЙ Предложена концепция управления корпоративной ИТ-инфраструктурой, ориентированная на создание единой универсальной среды интегрированного управления разнообразными ИТ, распределенными приложениями, ресурсами и сетевым оборудованием корпоративной информационно-телекоммуникационной системы. Разработана функциональная структура системы управления ИТ-инфраструктурой, а также функциональные схемы подсистем мониторинга, анализа, оптимизации и планирования. Offered the management concept of a company's IT infrastructure, focused on the creation of a single universal environ of integrated management of various IT, allocated applications, resources, and networking equipment of corporate information and telecommunication system. Developed a functional structure of the IT management system infrastructure, as well as functional diagrams of monitoring subsystem, analysis, optimization, and planning. Введение

Для успешного ведения бизнеса предприятия используют широкий спектр информационных технологий (ИТ). Для функционирования ИТ создается ИТ-инфраструктура (ИТИ), представляющая собой организационно-техническую совокупность программных, вычислительных и коммуникационных средств и связей между ними, а также обслуживающего персонала, обеспечивающая надлежащее предоставление информационных, вычислительных и телекоммуникационных ресурсов и услуг пользователям [1]. Пользователями являются сотрудники предприятия, а предоставляемые ИТ-услуги необходимы для выполнения процессов деятельности и решения бизнес-задач. Для эффективного управления ИТИ создаются системы управления ИТИ (СУИ) [2–4], при этом под управлением ИТИ понимается совокупность действий, относящихся к планированию, построению, эксплуатации и развитию ИТИ, позволяющих эффективно использовать информационные и телекоммуникационные ресурсы ИТ-системы, увеличить производительность труда персонала ИТ-подразделений, повысить отдачу от капиталовложений в ИТИ при поддержании качества услуг на заданном уровне. Для создания инструментария автоматизации процессов управления корпоративной ИТИ в виде СУИ необходимо определить концепцию управления ИТИ. Разработке такой концепции и посвящена данная работа. Постановка задачи исследования

При рассмотрении вопросов управления ИТИ авторы чаще всего ограничиваются решением только отдельных вопросов ИТ-

управления, не охватывая весь спектр задач, которые необходимо решить при создании интегрированной СУИ, призванной автоматизировать все процессы управления ИТИ. Это объясняется прежде всего сложностью и большим количеством разнообразных функций, выполняемых СУИ. В [5] рассматривается концепция, представляющая управление ИТ в виде совокупности трех слоев управления – сетями, системами и информационным сервисом. Эти слои управления включают в себя, соответственно, мониторинг и управление: сетевыми элементами; операционными системами, базами данных, промежуточным ПО, бизнес-приложениями, обслуживающим персоналом и пользователями; ИТИ и предоставляемым сервисом с позиции важных бизнес-процессов. Концепция, изложенная в [5], ограничивается разделением задач управления по слоям и описанием функций слоев, а ее реализация осуществляется интеграцией ПО управления ИТ компании HewlettPackard. Кроме того, современный подход к управлению ИТИ предполагает объединение функций управления сетевыми элементами и серверным оборудованием в едином инструментарии ввиду родственности функций и задач управления этими элементами. Поэтому предлагаемая в [5] концепция неприемлема для использования в качестве методологической основы при создании перспективных СУИ. Перспективная концепция управления ИТИ должна: – выделять уровни иерархической структуры ИТИ; – определять и группировать функции управления ИТИ;


32

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

– выделять общие для всех функций управления процессы с целью создания универсальных программных модулей СУИ; – задавать иерархию команд и функций управления; – предлагать информационную модель объектов управления; – определять механизмы взаимодействия СУИ с объектами управления, – задавать технологию и принципы построения СУИ. Целью данной работы является разработка концепции управления ИТИ, удовлетворяющей данным требованиям. Суть предлагаемой концепции управления ИТ-инфраструктурой

Предлагаемая концепция управления ИТИ ориентирована на создание единой универсальной среды интегрированного управления разнообразными ИТ, распределенными приложениями, ресурсами и сетевым оборудованием корпоративной информационно-телекоммуникационной системы (ИТС) и ИТ-подразделением. Предлагаемая концепция управления ИТИ, как система путей и методов решения задачи эффективного управления ИТИ, объединяет следующие принципы: 1. Четырехуровневая архитектура ИТИ. 2. Выделение трех категорий управления ИТ. 3. Выделение пяти универсальных процессов при управлении ИТИ. 4. Распределение функций, команд и методов управления по четырем иерархическим уровням. 5. Представление СУИ в виде замкнутой многоконтурной системы. 6. Интегрированное управление ИТИ. 7. Учет требований бизнес-процессов. 8. Универсальный объект мониторинга и управления (ОМУ) и работа СУИ не с реальными (РОУ), а логическими (ЛОУ) ОМУ. 9. Применение DALL-функций для связи РОУ и ЛОУ. 10. Использование шаблонов при отнесении ОМУ и ЛОУ к классам. 11. Применение агентского подхода. 12. Использование единого механизма взаимодействия СУИ с агентами и ОМУ. 13. Универсальная схема кодирования оценки состояния ОМУ.

Большинство этих принципов не являются новыми, но в предлагаемой концепции управления ИТИ они впервые применены в совокупности. Кроме того, здесь не только систематизированы известные методы и технологии с последующей интеграцией их в единую СУИ, но и предлагаются оригинальные методы и подходы. Реализация предлагаемой концепции происходит посредством СУИ, обеспечивающей централизованное управление ИТИ. Кроме систематизации известных и предлагаемых технологий одна из основных задач концепции заключается в изменении мышления разработчиков СУИ – отказ от фрагментарного подхода, ориентированного на интеграцию разрозненных систем управления (СУ), и принятие системного видения, рассматривающего СУИ как целостную систему, подчиненную целям бизнеса. 1. Четырехуровневая архитектура ИТИ. За основу берется предложенная в [1] четырехуровневая архитектура ИТИ, когда в ИТС выделяется четыре взаимосвязанных иерархических уровня: бизнес-приложений, универсальных сервисов, вычислительных ресурсов и сетевого взаимодействия (см. рис. 1). Выделение уровней осуществлено, исходя из общности выполняемых функций и сервисов, предоставляемых каждым из уровней. 2. Выделение трех категорий управления ИТ. Предлагается группировать функции управления в соответствии с перспективной парадигмой ITMS2 (IT Management Software 2.0), предложенной аналитиками Forrester [6] и описанной в [1]. ITMS2 вводит новые категории управления ИТ и предполагает конвергенцию используемых в настоящее время категорий управления ИТ в три группы, содержащих следующие базовые функции управления: – управление предоставлением и производительностью ИТ-сервисов: мониторинг ИТИ (сетей и серверов); информационные панели и аналитика (управление событиями и рабочими характеристиками); автоматизация процессов и рабочей нагрузки; управление производительностью, выделением ресурсов и виртуализацией; управление хранилищами данных; управление производительностью приложений (APM) и управление бизнес-транзакциями (BTM), включая мониторинг особенностей поведения пользователей и управление базами данных; исследование/управление конфигурациями (CMS); управление безопасностью;


Концепция управления корпоративной ИТ-инфраструктурой

– управление ИТ-сервисами и процессами: служба поддержки; управление выполнением потока операций; – поддержка ИТ-сервисов и управление ресурсами: каталог сервисов; управление портфелем услуг, ИТ-активами, персоналом ИТподразделения, финансами и возвратом платежей, ресурсами центров обработки данных (ЦОД), контрактами, уровнем обслуживания. 3. Выделение пяти универсальных процессов при управлении ИТИ. Предлагается при реализации базовых функций трех категорий управления ИТ, сгруппированных в соответствии с ITMS2, выделять пять универсальных процессов: мониторинга, анализа, управления, оптимизации и планирования (МАУОП) [1]. Некоторые из процессов для ряда базовых функций могут иметь нулевую функциональность. Отобрав для каждого из процессов МАУОП набор методов и реализовав их в соответствующем универсальном инструментарии СУИ, можно автоматизировать выполнение процессов в различных категориях управления, используя одни и те же методы и инструменты. 4. Распределение функций, команд и методов управления по четырем иерархическим уровням. Ниже произведена стратификация функций, методов и команд управления ИТИ по четырем иерархическим уровням. 5. Представление СУИ в виде замкнутой многоконтурной системы. Замкнутые системы управления ИТС с обратной связью не только повышают оперативность и качество управления, но и позволяют минимизировать влияние человеческого фактора. Построение математических моделей СУИ, соответствующих моделям теории автоматического управления, когда в СУИ организуется множество контуров управления, каждый из которых отвечает за отдельные аспекты функционирования ИТС, рассматривается в [7]. 6. Интегрированное управление ИТИ. В настоящее время создание СУИ, как правило, осуществляется путем бессистемной интеграции разрозненных приложений управления, не объединенных общими целями и задачами, в организационно-технический комплекс управления ИТИ из единого центра. При этом каждое ПО управления ИТ используется по своему функциональному назначению, а их совместную работу трудно подчинить главной цели – повышению эффективности бизнеса.

33

Перспективным будет такой подход к построению СУИ, когда все подсистемы СУИ объединяются в единую систему с общими целями и задачами. В этом случае СУИ осуществляет не только управление отдельными устройствами, программами или ресурсами, а производит интегрированное управление всеми компонентами и ИТИ в целом, исходя из единых целей. Под интегральным управлением ИТИ понимается общее управление различными информационно-коммуникационными технологиями, средствами вычислительной техники, управление распределенными приложениями, ИТ-сервисами, ИТ-персоналом и пр., исходя из единых целей, определяемых значимостью бизнес-процессов предприятия. 7. Учет требований бизнес-процессов. Автоматизацию управления ИТИ целесообразно начинать с автоматизации отдельных функций управления. На этом этапе формируется стек автоматизированных функций МАУОП на всех четырех уровнях ИТИ, приведенных на рис. 1. Следующая фаза – интеграция механизмов управления, которая требует системного подхода. Создание эффективных технологий бизнес-анализа с проекцией на управление ИТИ можно рассматривать, как организацию своеобразной глобальной обратной связи [8]. Последней стадией становится организация интегрированного управления ИТИ в комплексе с управлением выполнением бизнес-процессов. На этой стадии важнейшая роль отводится системам управления производительностью бизнеса (BPM). Системы BPM призваны автоматизировать бизнес-процессы и анализировать метрики выполнения бизнеса с целью оптимизации производительности его выполнения путем эффективного использования всех финансовых, кадровых и материальных ресурсов [8]. Жизненный цикл управления состоит из фаз МАУОП. Процессами BPM обеспечивается обратная связь, когда в результате анализа значений ключевых показателей производительности (KPI) и качества (KQI), а также метрик, характеризующих управление ИТ-услугами, администраторы СУИ и менеджеры бизнеса корректируют работу ИТИ и выполнение бизнеспроцессов. Для этого BPM осуществляет: мониторинг бизнес-процессов; бизнес-анализ для выявления несоответствия показателей бизнеспроцессов показателям эффективного выполнения бизнеса; инициализацию управляющих


34

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

воздействий для коррекции результативности бизнес-процессов. Одна из основных задач, решаемых BPM, заключается в координации целей и задач бизнеса со средствами выработки управляющих воздействий на всех иерархических уровнях системы управления предприятия. Инструментарий BPM дает возможность бизнесу ставить стратегические и тактические цели, после чего, измеряя основные показатели, характеризующие выполнение бизнеса, производить менеджмент для достижения бизнес-целей. Для этого BPM использует технологии финансового и операционного планирования, моделирования бизнес-процессов, бизнес-аналитики, интеграции приложений, управления и автоматизации выполнения бизнес-процессов. При изменении бизнес-целей или значимости бизнес-процессов СУИ должна оперативно реагировать на эти изменения, например, путем выделения дополнительных ресурсов наиболее важным бизнеспроцессам. Для этого средства BPM и СУИ должны тесно и оперативно взаимодействовать друг с другом. 8. Универсальный ОМУ и работа СУИ не с реальными, а логическими ОМУ. В [3] введено понятие универсального ОМУ, которым могут быть все компоненты ИТИ. Ниже доказано, что взаимодействие СУИ целесообразно осуществлять не с реальными, а с логическими ОМУ. Такой подход позволяет использовать общие универсальные методы работы СУИ с ЛОУ, а также единый метод или несколько универсальных методов для оценки состояния ЛОУ. 9. Применение DALL-функций для связи РОУ с ЛОУ. Для связи ЛОУ и РОУ используется предлагаемый механизм DALL-функций, основанный на рефлексии типов. DALLфункции являются передаточными звеньями при взаимодействии ЛОУ и РОУ. Путем вызова соответствующих DALL-функций мониторинга, производится синхронизация состояния ЛОУ с состоянием РОУ, а в случае оказания на ЛОУ управляющих воздействий, эти воздействия передаются РОУ путем вызова соответствующих управляющих DALL-функций. Ниже произведено описание механизма DALLфункций. 10. Использование шаблонов при отнесении ОМУ и ЛОУ к классам. При конфигура-

ции СУИ целесообразно использовать механизм шаблонов ОМУ и ЛОУ, позволяющий настраивать поведение и структуру шаблонного ЛОУ, а при создании новых ЛОУ использовать настройки шаблона, при необходимости уточняя и дополняя их. При этом можно легко менять поведение и структуру группы ЛОУ путем изменения настроек их шаблона. 11. Применение агентского подхода. Для эффективного управления ИТС необходимо иметь достоверную информацию об управляемой системе. Получение этой информации производится путем непрерывного сбора и обработки данных о функционировании ИТС. Сложность ИТС и большое количество предоставляемых ею услуг требуют контроля большого числа различных параметров. Для передачи значений параметров используется та же сеть, что и для передачи информации пользователей. Передача большого количества значений параметров, необходимых для принятия решений управления, создает существенную нагрузку на сеть, поэтому уменьшение объема передаваемых данных о параметрах функционирования ИТС является важной задачей. Одним из кардинальных способов сокращения сетевого трафика является применение агентской технологии. Это и другие преимущества, приведенные в данной работе и в [9], делают целесообразным управление ИТИ на основе агентского подхода. 12. Использование единого механизма взаимодействия СУИ с агентами и ОМУ. Для взаимодействия СУИ с распределенными подсистемами СУИ, ОМУ и агентами целесообразно использовать единые методы и протоколы. Для обмена информацией между модулями СУИ в среде Windows следует использовать компоненты .NET Remoting, использующие для транспорта данных потоки TCP. Кроме .NET Remoting в СУИ рационально использовать WCF, являющийся частью .NET Framework 3.0, пришедший на смену .NET Remoting. 13. Универсальная схема кодирования оценки состояния ОМУ. В [10] предложен универсальный метод кодирования состояния ОМУ, позволяющий представлять эффективность, надежность, качество функционирования ОМУ и другие свойства символами кода, с целью возможности измерения качественных


Концепция управления корпоративной ИТ-инфраструктурой

свойств ОМУ и упрощения последующей обработки при сведении метрик. Ниже приведены пояснения, раскрывающие или дополняющие суть предложенной концепции управления ИТИ. Общая постановка задачи управления ИТинфраструктурой

В [1] ИТИ представляется в виде совокупности трех компонентов: ИТС, ИТ-подразделения и СУИ (рис. 1). Соответственно, можно выделить три масштабных объекта управления: ИТС, ИТ-подразделение и СУИ.

35

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

Рис. 1. Обобщенная ИТ-инфраструктура предприятия

Рассмотрим задачу управления ИТС. Пусть состояние ИТС описывается переменной s S , принадлежащей множеству S возможных состояний. Состояние ИТС в некоторый момент времени зависит от управляющих воздействий (1) u  UЖ : s  F (u ) . Предположим, что на множестве U S задан функционал  (u , s ) , определяющий эффективность функционирования ИТС. Величину  (u )   (u , F (u )) (2) назовем эффективностью управления u  UЖ.

Тогда задача СУИ заключается в выборе такого допустимого управления, которое максимизировало бы значение эффективности управления, при условии что известна реакция (1) ИТС на управляющие воздействия:

 (u )  max . uU

(3)

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


36

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

нал эффективности. В данном случае функционал эффективности  (u , s ) рассматривается как отражающий влияние СУИ на эффективность функционирования ИТИ. Для технических систем, характеризующихся детерминизмом реакции на управляющие воздействия, зависимость s  F (u ) является, фактически, моделью системы – управляемого объекта, отражающей законы и ограничения ее функционирования. Модель управления ИТИ можно задать содержанием следующих параметров: 1. Состав ИТИ – совокупность объектов, являющихся элементами ИТИ, распределенных по четырем иерархическим уровням. 2. Структура ИТИ – совокупность информационных, управляющих и других связей между элементами ИТИ и СУИ, включая отношения подчиненности и разделение прав принятия решений в иерархической СУИ. 3. Число итераций управления, отражающее однократность или многократность управляющих воздействий в течение определенного периода времени для достижения (3). 4. Целевые функции, функции полезности, выигрыша или предпочтения бизнеса, отображенные на ИТ-процессы, на основании которых определяются целевые функции СУИ. Управление (1) должно осуществляться так, чтобы максимизировать значения этих целевых функций. возможных 5. Допустимые множества S состояний элементов ИТИ, их ограничения и влияние на состояния зависимых элементов, методы получения и оценки состояний элементов. Методы оценки состояния ОМУ ИТИ предложены в [11–16]. 6. Порядок функционирования СУИ – последовательность получения данных мониторинга, анализ состояния и выбор управления, т. е. порядок выполнения процессов МАУОП Спецификации этих параметров модели влияют на механизмы управления ИТИ, поэтому данная последовательность принята в качестве последовательности логических действий при реализации управления ИТИ. Базовая модель управления ИТ-инфраструктурой

Базовая модель управления ИТИ представлена на рис. 2, а называется базовой, потому что является простейшей, с точки зрения струк-

туры, описания и исследования. Эта модель не учитывает взаимозависимость элементов, иерархическую архитектуру ИТС, неопределенность состояний и многие другие факторы, которые учитываются в расширениях базовой модели. На примере модели на рис. 2 можно выявить многие проблемы управления ИТИ, отследить закономерности управления ИТС при дальнейшем исследовании более сложных моделей. На вход ИТС поступает поток запросов Q , на который ИТС реагирует потоком результатов R . На ИТС воздействуют возмущающие воздействия  . В СУИ анализируется вектор S  (s1, s2 ,..., sn ) S состояний ИТС и выбирается вектор управления U  (u1 , u2 ,..., um )  U , при котором достигается максимальная эффективность управления.



Q

R

S

U

Рис. 2. Базовая модель управления ИТИ

В этом случае выражение (3) эффективности управления примет вид (4)  (U )  max . U U

C точки зрения бизнеса критерием эффективности управления ИТИ может быть, например, выбор такого управления U  U , при котором достигается минимальное время обработки i-го запроса min( ti  (t Ri  tQi )) , (5) i

где tQi – время поступления i-го запроса от пользователей, tRi – время поступления ответа пользователю на i-й запрос. Выполнение (5) возможно путем приоритетного прохождения данных приложения по сети и/или выделения критичным приложениям дополнительных ресурсов.


Концепция управления корпоративной ИТ-инфраструктурой 37 Анализ компонентов ИТ-инфраструктуры, симальному количеству запросов nmax i , обслукак объектов управления

К управлению ИТИ относится сбор и хранение описаний компонентов ИТИ, мониторинг и контроль функционирования ИТИ, обеспечение надежного и эффективного функционирования ИТИ, организация закупок, ремонтов, обновлений ПО и аппаратных средств, и решение множества других задач. Для формулирования требований к СУИ и определения принципов ее построения необходимо произвести анализ ОМУ, которым в ИТИ выступают компоненты, представленные на обобщенной схеме ИТИ (см. рис. 1). Объекты управления IV-го иерархического уровня ИТИ. Объектами управления уровня бизнес-приложений являются все приложения, обеспечивающие поддержание и автоматизацию выполнения бизнес-процессов предприятия. Под управлением распределенными приложениями, как правило, понимают мониторинг использования приложениями сетевых и вычислительных ресурсов и изменение параметров работы этих приложений для достижения наибольшей эффективности использования ресурсов или эффективности функционирования приложений. При управлении распределенными приложениями решаются задачи: выделение, учет, мониторинг и перераспределение ресурсов, необходимых для эффективного функционирования приложений; управление распределенными приложениями через телекоммуникационную сеть (ТКС) путем изменения конфигурации, запуска, перезапуска или останова приложений и пр.; управление функциональными (ФПС) и технологическими подсистемами (ТПС) АСУ; управление доступом пользователей к приложениям, правами пользователей, идентификацией и аутентификацией; обеспечение взаимодействия идеологически и технологически разрозненных систем и средств управления отдельными приложениями, ФПС и ТПС АСУ, а также ТКС; управление безопасностью. Эффективность Ei, i  1, N функционирования i-го распределенного приложения Ai, где N – количество приложений, можно оценить по среднему времени отклика ti серверной части приложения Ai на запрос пользователя, измеренному на стороне пользователя, или по мак-

живаемых серверной частью приложения Ai в единицу времени. Можно выделить два способа повышения эффективности функционирования распределенного приложения Ai, i  1, N : выделение дополнительных вычислительных ресурсов приложению Ai, i  1, N ; обеспечение приоритетной передачи данных, относящихся к приложению Ai, i  1, N по ТКС. Первый способ использует методы управления распределением и перераспределением ресурсов между приложениями и пользователями. Реализация этих методов осуществляется на II-м уровне, а решению задач выделения приложению Ai, i  1, N дополнительных ресурсов посвящены работы [17–20]. Второй способ повышения эффективности работы приложений заключается в обеспечении приоритетного прохождения запросов и ответов приложения Ai, i  1, N по корпоративной сети. Методы управления трафиком реализуются на I-м уровне и предлагаются в [21, 22]. Целесообразно управление приложениями в СУИ осуществлять через визуальный интерфейс, позволяющий администраторам с учетом данных базы управляющей информации, содержащей данные о клиентах, серверах и приложениях, конфигурировать, отслеживать и управлять распределенными приложениями с единой консоли управления. Это позволит уменьшить стоимость эксплуатации ИТС, повысить доступность ИТС для конечных пользователей, предоставит возможность отслеживать функционирование приложений и изменять конфигурацию бизнес-приложений и компонентов ресурсов II-го уровня, на которых функционируют приложения. Управление на IV-м уровне часто осуществляется с использованием принципа «подписка и публикация», позволяющего СУИ оперативно реагировать на бизнес-события путем проведения изменений в бизнес-операциях. При этом могут создаваться управляемые событиями присоединенные процедуры, используемые приложениями для совершения предопределенных действий. Кроме того, используются традиционные методы, такие как: синхронный удаленный вызов процедур; асинхронный запрос/ответ; пере-


38

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

адресация запросов; обмен сообщениями; организация очередей; диалоги и т. д. Как правило, процесс управления начинается с получения сообщений о неполадках, после чего определяется место неисправности. Традиционные решения СУИ собирают массу сведений о событиях в ИТИ, но при этом сложно определить приложения или транзакции, пострадавшие в результате неисправности. В масштабных ИТИ, содержащих тысячи серверов, большое количество коммутаторов и БД, очень сложно определить причины невыполнения отдельной транзакции. Непрохождение транзакции легко обнаруживается на стороне пользователя, а администратору необходимо связать события в ИТИ с проблемами конкретной транзакции. Пользователь должен связаться с администратором и сообщить ему о проблемах с определенной транзакцией. Решение такой задачи традиционными методами представляет собой достаточно трудоемкую задачу. В таких случаях весьма перспективным является применение ПО управления производительностью приложений (APM) [23, 24], призванное обнаруживать и устранять проблемы до того, как они проявятся у конечного пользователя. Системы APM учитывают все аспекты контроля работоспособности и эффективности приложений, в том числе следят за восприятием работы приложения конечным пользователем (QoE). В последнем случае отслеживаются транзакции и контролируется время отклика серверов приложений. Если оно абнормально, то предпринимаются действия по восстановлению эффективности работы приложения. Отслеживание отдельных транзакций позволяет уменьшить количество проверяемых элементов ИТС, ограничиваясь только компонентами, задействованными при выполнении транзакции. После определения задействованных элементов производится эффективный поиск причины неполадки. Отслеживание отдельных транзакций в APM является большим прогрессом в управлении приложениями [23]. Такой подход позволяет существенно сократить количество серверов и сетевого оборудования, работоспособность которого анализируется для выявления причины понижения эффективности работы бизнесприложения. Система APM, собирая данные из разных источников, может установить корреляцию между компонентами ИТС и бизнессервисами [24].

Объекты управления III-го иерархического уровня ИТИ. К уровню универсальных сервисов отнесены интернет-сервисы, а также телекоммуникационные сервисы, используемые внутри любого предприятия, независимо от характера бизнеса. Сильное различие функций, выполняемых этими сервисами, делает невозможным создание единственного метода мониторинга работоспособности и управления качеством предоставления этих сервисов. Особенности каждого из сервисов и уникальность набора свойств и параметров качества затрудняют их классификацию для последующего выбора методов управления. Обычно сервисы III-го уровня разделяются на интерактивные, оперативного и отложенного прочтения. Наиболее распространенными и универсальными являются сервисы, которые можно отнести к группе сервисов отложенного прочтения, отличающиеся достаточно высокой требовательностью к ресурсам серверов и ТКС. Характерной особенностью этих сервисов является то, что запрос и получение информации существенно разнесены во времени. Примером такого типа сервисов является электронная почта – самый распространенный интернет-сервис. Задачи, которые решаются при управлении электронной почтой: создание учетной записи; фильтрация электронной почты для удаления нежелательной корреспонденции и вирусов; управление полномочиями; распределение ресурсов электронной почты по нескольким физическим серверам; обеспечение надежности хранения данных на серверах путем синхронизации; предотвращение перегрузки серверной инфраструктуры системы электронной почты. Основные задачи мониторинга электронной почты: обнаружение и предотвращение несанкционированного доступа; выявление массовых рассылок рекламного и вирусного характера; мониторинг нагрузки серверов электронной почты; мониторинг трафика электронной почты. Другим распространенным сервисом является VoIP, обеспечивающий передачу голосовых сигналов в сетях с протоколом IP. Технология VoIP позволяет создавать системы корпоративной IP-телефонии без значительных финансовых затрат с предоставлением большого количества сервисных функций. При управлении VoIP осуществляется: настройка и эффективное управление ресурсами сети для работы с голосовыми вызовами;


Концепция управления корпоративной ИТ-инфраструктурой

контроль прохождения голосовых сообщений по разным маршрутам; управление трафиком; определение нагрузок в сети и решение проблем, например, путем увеличения полосы пропускания в конкретном сегменте сети; обработка прерванных вызовов; контроль параметров, влияющих на качество голосового обмена; оценка качества передачи данных; составление отчетов с данными анализа схем вызовов, обзора трафика и пр. Мониторинг VoIP включает в себя: получение подробной информации о каждом вызове; контроль загруженности сети для контроля качества передачи голоса; накопление данных истории производительности для анализа причин ухудшения качества сервиса; отслеживание изменений параметров, влияющих на качество передачи данных; фиксация качества текущих разговоров. Сервис FTP обеспечивает обмен файлами между компьютерами, работающими в сетях TCP/IP. Управление сервисом FTP подразумевает: распределение прав доступа к файлам; учет и контроль трафика по пользователям, группам, интерфейсам, блокам адресов, времени и др. Мониторинг FTP включает в себя задачи: получение детальной информации об отдельном соединении; составление отчетов о производительности; проверка готовности портов. Объекты управления II-го иерархического уровня ИТИ. Повысить эффективность выполнения бизнес-процессов можно путем выделения дополнительных вычислительных ресурсов критичным приложениям, что позволит выполнить критерий (5). Реализация управления, связанная с перераспределением ресурсов между приложениями, осуществляется на уровне вычислительных ресурсов. Модели и методы распределения ресурсов при дефиците и излишке ресурсов рассмотрены в работах [18–20, 25]. К объектам управления этого уровня относятся серверное оборудование, системы хранения данных, ПК пользователей, вспомогательное оборудование и пр. При управлении вычислительными ресурсами решаются следующие задачи: учет всех ресурсов (программно-технического обеспечения серверов, включая информацию о технических характеристиках и учетных параметрах), а также их администраторов и пользователей (как людей, так и приложений); мониторинг состояния распределенных ресурсов; мониторинг

39

производительности серверов и систем хранения, сбор статистики, генерация отчетов о функционировании ресурсов; анализ работы ресурсов; администрирование и управление отдельными ресурсами и их комбинациями, рассредоточенными ресурсами; контроль доступа, распределение и перераспределение ресурсов; учет использования ресурсов, а также расчет финансовых характеристик, например, вычисление стоимости хранения данных; проведение технического обслуживания. Обычно администраторы управляют ресурсами, контролируя превышение пороговых значений таких показателей, как коэффициент загруженности сервера или время отклика на запросы конечного пользователя. Объекты управления I-го иерархического уровня ИТИ. Объектами управления этого уровня являются сетевые элементы и коммуникационные технологии. При управлении на уровне сетевого взаимодействия обеспечивается: автоматическое построение топологии сети; мониторинг событий и последующее определение работоспособности сетевых устройств; управление сетевыми ресурсами для повышения надежности работы сетевых компонентов, уменьшения времени простоя и улучшения производительности корпоративной сети; учет загруженности каналов связи c фиксацией перегрузок сети; сбор статистики использования ресурсов ТКС и генерация отчетов; управление пользовательским трафиком; управление гетерогенными сетями и телекоммуникационными сервисами, включающее в себя управление: производительностью, устранением неисправностей, конфигурацией, учетом и безопасностью. Управление ИТ-подразделением. Эффективное функционирование ИТС не может быть осуществлено без эффективного управления ИТ-подразделением. При управлении ИТподразделением решаются следующие задачи: автоматизация управления ИТС; обработка запросов на ИТ-услуги; управление введением новых услуг; управление расчетами; поддержка пользователей и пр. Управление ИТС в целом. Для эффективной работы предприятия необходимо обеспечить согласованную работу большого количества разнородных составляющих ИТС. Для автоматизации управления ИТС требуется интеграция слабо связанных приложений, решение проблем перехода от управления отдельными


40

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

сетями, компьютерными системами и приложениями к комплексному, процессно-ориентированному управлению ИТС в целом. Создание системы интегрированного управления, охватывающей все четыре уровня ИТИ, требует решения множества сложных задач. При управлении ИТС решаются следующие задачи: интегрированное управление всеми приложениями, работой ФПС и ТПС АСУ, а также функционированием ТКС, адаптируемое к реальной ситуации в АСУ и учитывающее значимости приложений, доступность и объем ресурсов, сложившуюся ситуацию в ТКС и пр.; централизация управления с обеспечением взаимодействия между отдельными СУ; генерация отчетов о функционировании ИТС; поддержание и пополнение базы знаний СУИ для предоставления данных, необходимых при выполнении функций управления; управление качеством услуг; организация сквозного процесса управления ИТИ от сбора информации о работе объектов управления I-го и II-го уровней до трансформации в качество услуг; корреляции событий, происходящих в ИТИ; анализ влияния сбоев на I–III-м уровнях на качество ИТ-услуг IV-го уровня для бизнес-процессов; прогноз параметров функционирования ИТС и качество предоставляемых ИТ-услуг; управление устранением неисправностей; моделирование и анализ работы ИТС; автоматизация процессов внесения изменений (с сохранением правил доступа к ресурсам), которые должны быть сделаны для достижения заданного качества предоставляемых ИТ-услуг; управление модернизацией ИТС с решением задач автоматизации принятия решений по модернизации технического и программного обеспечения ИТС с учетом информации о прогрессивных ИТ, данных о производителях и поставщиках, о сравнительных технических и экономических характеристиках решений; автоматизация процессов контроля, оптимизации и управления поставкой и вводом в эксплуатацию нового технического и программного обеспечения. Что касается существующего ПО управления ИТ на всех четырех уровнях и ИТИ в целом, то необходимо отметить следующее. Для управления объектами II-го уровня существует большое количество как фирменных, так и универсальных решений управления. Вопросы управления элементами ИТС и сетью проработаны очень хорошо, вплоть до создания систем авто-

матического управления некоторыми сетями на канальном и физическом уровнях модели OSI. Кроме того, существует большое количество ПО, осуществляющего мониторинг и управления локальными и глобальными сетями. В теории и на практике хорошо проработаны вопросы управления ИТ-подразделением как бизнесструктурой с предложением большого количества метрик [26] для оценки эффективности работы ИТ-департамента. Плохо проработаны вопросы управления на IV-м уровне. Так, перспективное APM находится в зачаточном состоянии и на рынке представлено незначительное количество ПО этого сегмента с ограниченным функционалом. Недостаточно детально проработан вопрос управления ограниченными ресурсами корпоративных ИТС с учетом важности бизнес-процессов и эффективного управления ресурсами ЦОД. Практически отсутствуют работы и инструментарий управления всеми уровнями ИТИ в комплексе или осуществляющие интеграцию механизмов и инструментария управления отдельными уровнями. Категории функций, команд и методов управления

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


Концепция управления корпоративной ИТ-инфраструктурой

скую модель управления сетью в виде трех уровней управления – сервисами, сетью и сетевыми элементами [27]. Однако, такого количества уровней недостаточно для управления ИТИ. Множество Uˆ выполняемых СУИ команд управления, множество Mˆ методов управления, а также все функции Fˆ и сервисы управления, которые реализуются, предоставляются и используются в СУИ, целесообразно разделить на четыре категории (см. табл. 1) – управления ИТС, приложениями, ресурсами и элементами.

Категория

Управление ИТС ( Fˆc , Uˆ с , Mˆ с )

Управление приложениями ( Fˆп , Uˆ п , Mˆ п )

Управление ресурсами ( Fˆр , Uˆ р , Mˆ р )

Управление элементами ( Fˆэ , Uˆ э , Mˆ э )

41

Иерархия, приведенная в табл. 1, создана с учетом иерархии ОМУ, в основе которой лежат базовые ОМУ, которыми являются ОМУ ИТИ, имеющие IP-адрес. Команды управления элементами Uˆ э предназначены прежде всего для управления базовыми ОМУ. Состояние базового ОМУ оказывает влияние на состояние вышерасположенных по иерархии ОМУ. В то же время ОМУ, составляющие базовые объекты, влияют на состояние только данного базового ОМУ, а команды управления этими составляющими ОМУ относятся к категории команд управления элементами.

Табл. 1. Категории функций, команд и методов управления Объекты Функции управления Задачи управления

ИТС, АСУ, комплекс ИТ, организационное управление ТКС, бизнеспроцессы и документация ИТ-подразделения, СУИ, административный персонал ИТИ

Управление функционированием ИТС, АСУ, бизнеспроцессами, ИТ-обеспечением бизнес-процессов предприятия

Определение приоритетов приложений и процессов, генерация политик управления

ФПС и ТПС, распределенные и сосредоточенные приложения, ИТсервисы, отдельные типы ИТ и ТКС

Управление ФПС и ТПС, распределенными и сосредоточенными приложениями и их взаимодействием, сервисами для обеспечения требуемого качества обслуживания

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

Информационно-вычислительные ресурсы, ТКС, СУБД, хранилища данных, фрагменты ФПС и ТПС, сетевой трафик, потоки

Управление уровнями вычислительных ресурсов и сетевого взаимодействия в целом; компонентами ФПС и ТПС; доступом пользователей к ресурсам и службам

Управление распределением ресурсов ИТС, инициализацией и поддержанием параметров ресурсов, топологией, трафиком, маршрутизацией, приоритезацией трафика, переключением на резерв

Элементы ИТС, серверы, рабочие станции, вспомогательное оборудование, ОС

Управление элементами ИТИ

Инициализация, конфигурация, поиск и устранение неисправностей


42

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

Все команды управления образуют множество Uˆ команд управления

Uˆ  {Uˆ с ,Uˆ п ,Uˆ р ,Uˆ э } ,

(6)

где Uˆ с ,Uˆ п ,Uˆ р ,Uˆ э – соответственно множества команд управления, соответственно, ИТС, приложениями, ресурсами и элементами. Управление осуществляется с помощью методов управления, которые образуют множество Mˆ  {Mˆ , Mˆ , Mˆ , Mˆ } , (7) с

п

р

э

где Mˆ с , Mˆ п , Mˆ р , Mˆ э методы управления, соответственно, ИТС, приложениями, ресурсами и элементами К категории функций и команд управления ИТС относятся функции множества Fˆc  Fˆ и команды управления множества Uˆ , обеспечис

вающие поддержание функционирования ИТС и АСУ в соответствии с заданным регламентом, и услуги СУИ, которые предоставляются администраторам и пользователям ИТС. К этой категории относятся команды управления бизнеспроцессами ИТ-подразделения и организационное управление ТКС, а также политики управления. Команды Uˆ с управляют крупными компонентами ИТС (например, ИТС центрального офиса, региональными ИТС) и взаимодействием между этими компонентами. Функции управления Fˆc этой категории могут реализовываться путем выработки соответствующих политик управления. Для управления используются методы из множества Mˆ с . Множество Uˆ составляют команды управп

ления: ФПС и ТПС; распределенными и сосредоточенными приложениями; ИТ-услугами уровней бизнес-приложений и универсальных сервисов с обеспечением требуемого качества обслуживания; взаимодействием между распределенными приложениями; услугами, предоставляемыми распределенными ресурсами или сервисами; совместным функционированием нескольких приложений; отдельными типами ТКС. Команды из множества Uˆ р управляют: уровнями вычислительных ресурсов и сетевого взаимодействия в целом; компонентами ФПС и ТПС; доступом к информационным и телеком-

муникационных ресурсам, службам, телесервисам. К этой категории относятся функции управления Fˆр отдельными ЛВС и сервисы, которые предоставляются ЛВС или доступны через ЛВС. Команды управления Uˆ р обеспечивают взаимодействие распределенных компонентов услуг и управляют удаленным доступом пользователей к ресурсам ИТС. Реализация функций Fˆэ осуществляется посредством команд множества Uˆ , управляющих э

такими элементами ИТИ, как серверы, рабочие станции пользователей, оборудование ТКС, вспомогательное оборудование, операционные системы. На каждом из уровней могут быть использованы различные методы из Mˆ , средства, протоколы и приложения управления. Реализация команд вышерасположенного уровня, как правило, осуществляется путем формирования наборов команд нижележащих уровней Uˆ  Uˆ  Uˆ  Uˆ . (8) с

п

р

э

Каждый уровень должен быть реализован не просто отдельной СУ, а представлять собой часть интегрированной платформы управления, позволяющей наращивать как собственные возможности, так и легко включать в себя другие СУ, разработанные специально для решения определенных задач. Например, на нижнем уровне может быть осуществлено подключение СУ сетевыми устройствами, разработанными производителями сетевого оборудования. На вышерасположенных уровнях может использоваться ПО, специально созданное для управления конкретными СУБД, серверами приложений или СУ предприятием. Команды управления всех категорий применяются для реализации общих процессов МАУОП. Команды могут вырабатываться универсальными механизмами, алгоритмами и протоколами либо администраторами. Например, функции управления, определенные для телекоммуникационных систем стандартом Х.700 и включающие управление: устранением неисправностей, учетом, конфигурацией, производительностью и безопасностью, могут быть реализованы командами управления всех четырех уровней, но с учетом специфики управляемых ОМУ. Для решения задач МАУОП может быть использовано ПО СУ, номенклатура которого


Концепция управления корпоративной ИТ-инфраструктурой

определяется характером бизнеса, масштабом предприятия, используемым оборудованием, ИТ и пр. Так функции мониторинга и управления на I-II-м уровнях и ряд функций на III-м уровне иерархии ИТИ могут выполняться универсальными СУ, такими как HP Operations Manager, IBM Tivoli, Microsoft System Center Operations Manager (SCOM) и др., или же СУ, разработанными и поставляемыми производителями ресурсов, например, Oracle, или разработчиками решений в одной из функциональных областей ИТ. Самые сложные задачи управления решаются посредством функций управления из множеств Fˆс и Fˆп , реализуемых путем выполнения команд управления Uˆ и Uˆ . Централизация с

п

управления распределенными приложениями, ресурсами, функциональными и др. подсистемами АСУ и ИТС с целью поддержания их корректной совместной работы, направленной на обеспечение максимальной эффективности бизнес-процессов предприятия, предполагает автоматизацию решения множества проблем из функциональных областей управления ИТИ. При этом фактически безграничная сфера применения и деятельности АСУ и ИТС, а также многообразие используемых в них технологий, ресурсов, оборудования, приложений и пр., осуществляющих поддержку множества бизнес-процессов, делают невозможным создание единой универсальной СУ абсолютно всеми АСУ или ИТС. Поэтому целесообразно разрабатывать СУИ, областью применения которых являются достаточно широкие классы АСУ и ИТС с родственной функциональностью, имеющие в своем арсенале средства, обеспечивающие взаимодействие между отдельными СУ и характеризующиеся простотой наращивания функциональности. В настоящее время отсутствует ПО, покрывающее весь функционал управления Fˆ . Из такой ситуации возможны два выхода: разработка оригинального ПО управления ИТИ или закупка ПО, решающего отдельные задачи управления или части задач, с их последующей интеграцией в пакет ПО СУИ. Модель процесса управления ИТС

Расширенная базовая модель ИТИ, раскрывающая модель на рис. 2 и иллюстрирующая процесс выбора команд управления, приведена на рис. 3. На вход ИТС поступает поток запросов Q , в результате которого на выходе ИТС создается

43  поток результатов R . Информация о значениях

параметров, характеризующих свойства потока запросов Q и показателей потока результатов R , в виде потоков значений q и r , соответственно, поступают в СУИ. На ИТС воздействуют возмущающие воздействия  , некоторые параметры которых могут фиксироваться СУИ (на рис. 3 не показано). В СУИ анализируется поток данных S  о состоянии ОМУ ИТС, а также потоки q и r , в результате чего вырабатывается поток команд управления U , поступающий на ИТС для поддержания параметров функционирования ИТС на заданном уровне.

 

Q

R

U

S

q U

r

с

U п U р U э

( Fˆс , Mˆ с )

( Fˆп , Mˆ п ) ( Fˆр , Mˆ р )

( Fˆэ , Mˆ э )

Рис. 3. Расширенная базовая модель ИТИ

Поскольку поток данных о состоянии ОМУ S  содержит сведения об ОМУ Oi , j , ∀ i  1, I j ,

j  1, J , и в СУИ реализована иерархия команд, причем выработка команд верхних уровней влечет за собой выбор команд нижних уровней, поток команд управления U будет состоять из суммы потоков команд в общем случае всех категорий управления (9) U  U с  U п  U р  U э , где U с , U п , U р , U э – соответственно, потоки команд управления ИТС, приложениями, ресурсами и элементами. Каждый из потоков команд U с , U п , U р , U э вырабатывается блоком формирования команд БФКc, БФКп, БФКр или БФКэ, каждый из которых ориентирован на реализацию соответствующих функций управления Fˆс , Fˆп , Fˆр или Fˆэ и


44

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

использует соответствующие методы управления Mˆ с , Mˆ п , Mˆ р или Mˆ э . Команды выбираются из множества Uˆ команд управления (6). Команды управления, формирующие поток U , выбираются блоками БФКc, БФКп, БФКр и БФКэ из множества Uˆ на основании анализа данных о состояния элементов ИТС, эти данные содержатся в потоке S  , и с учетом значений параметров потоков q и r

U  F {S  , q,r} .

(10)

Потоки команд управления нижних уровней вырабатываются под воздействием потоков команд управления вышерасположенных уровней (8) U  U  U  U , с

п

р

э

при этом дополнительно учитывается состояние всех ОМУ Oi, j ∀ i  1, I j , j  1, J . Таким образом, поток команд вышерасположенных уровней инициирует дополнительный поток команд нижерасположенных уровней иерархии. В то же время команды из множества Uˆ э могут вырабатываться самостоятельно, как реакция СУИ на состояние ОМУ ИТИ. Понятие логического объекта мониторинга и управления

Предлагаемую концепцию управления ИТИ с выделением общих процессов МАУОП можно успешно и эффективно реализовать тогда, когда процессы МАУОП будут оперировать с универсальными ОМУ, не зависящими от категории управления. В качестве таких ОМУ предлагается использовать логические ОМУ. ЛОУ – универсальное и обобщенное понятие, элемент логической модели ИТИ, основная функциональная единица представления элементов и ресурсов ИТИ в СУИ, в которой инкапсулированы те свойства и состояния элементов ИТИ, которые имеют отношение к процессам управления ИТИ. Таким образом, ЛОУ – это абстрактное представление информационно-вычислительных ресурсов и компонентов ИТИ, которые проявляют свои свойства в целях и с точки зрения управления ИТИ. ЛОУ специфицируется в понятиях параметров, атрибутов и их принадлежности, выполняемых над ними действий, выдаваемых ими сообщений, их взаимосвязей и взаимоотношений с другими ЛОУ [3, 14]. Относительно ЛОУ определяются

набор функций и параметры мониторинга, функции и команды управления, методы оценки состояния и механизмы выявления неисправностей. Свойства, наиболее значимые с точки зрения мониторинга и оценки элементов ИТИ, составляют набор параметров ЛОУ. В СУИ ЛОУ могут быть взаимосвязаны и ассоциированы не только с РОУ, но и с функциями, состояниями процессов деятельности, системами и подсистемами АСУ, процессами деятельности, бизнес-процессами и пр. а также с взаимосвязями в ИТИ, физическими соединениями и людьми – администраторами и другим персоналом, принимающими участие в управлении ИТИ. В этом случае ЛОУ является моделью РОУ, отражающей те его свойства, которые относятся к управлению ИТИ. Также в качестве ЛОУ могут выступать абстрактные объекты, не имеющие РОУ, введенные в информационную модель, например, для обобщения информации мониторинга нескольких ЛОУ. Модель ИТИ имеет иерархическую структуру, поэтому с точки зрения процессов МАУОП структуру ИТИ и связи ЛОУ удобно представлять в виде иерархического графа или совокупности графов, узлами которого являются ЛОУ, а связи отображают функциональные зависимости. При этом иерархических уровней ЛОУ может быть гораздо больше, чем уровней ИТИ, и каждому из уровней логической модели ИТИ может соответствовать несколько уровней иерархии ЛОУ. Каждый ЛОУ содержит сведения о конфигурации и текущем состоянии отдельного РОУ ИТИ. Свойства, наиболее значимые с точки зрения мониторинга и оценки элементов ИТИ, составляют набор параметров ЛОУ. Классификацию ЛОУ целесообразно производить с учетом классификации РОУ, поскольку ЛОУ однозначно связаны с РОУ. Каждый компонент ИТИ всех уровней иерархии содержит собственное дерево ЛОУ, листья которого – сенсорная часть в виде различных датчиков, а остальные вершины – родительские ЛОУ (рис. 4). Только одна вершина ориентированного графа i-го, i  1, I1 ЛОУ Li,j, j-го иерархического уровня, ассоциированного с РОУ Ri,j, имеет нулевую степень захода. Все дочерние ЛОУ дерева ЛОУ Li,j являются самостоятельными объектами, которые могут выступать родительскими для дочерних ЛОУ. Представление элементов ИТС в виде ЛОУ основывается на следующих основных положениях:


Концепция управления корпоративной ИТ-инфраструктурой

Рис. 4. Пример дерева зависимостей между ЛОУ с корнем Li,j

– любой составной элемент ИТС можно представить в виде ЛОУ. При этом ЛОУ инкапсулирует в себя основные свойства, характеристики и параметры этого элемента; – ЛОУ – единый объект, состоящий из множества связанных друг с другом элементов, представляющих собой определенное целостное образование; – ЛОУ нижнего уровня является составной частью ЛОУ смежного вышерасположенного уровня; – все ЛОУ имеют единые интерфейсы мониторинга и управления; – добавление нового элемента в ИТС соответствует добавлению нового ЛОУ; – функционирование подсистем ИТС представляется функционированием и взаимодействием составляющих их ЛОУ; – ЛОУ имеет набор функций и параметров, которые обеспечивают его связь с РОУ, свойства которого он инкапсулирует; – для ЛОУ определяется набор функций мониторинга и управления и методы оценки состояния; – ЛОУ имеет набор функций и параметров, которые обеспечивают его связь с другими ЛОУ. Такой подход позволяет использовать общие универсальные методы работы СУИ с ЛОУ, а

45

также единый метод или несколько универсальных методов для оценки состояния ЛОУ и, соответственно, РОУ. Использование ЛОУ в СУИ позволит расширить сферу применения парадигмы объектноориентированного управления, которое в настоящее время часто применяется для управления сетями, на управление элементами и подсистемами ИТИ. При этом под объектноориентированным управлением ИТИ понимается управление, основанное на представлении ИТС в виде множества взаимосвязанных и взаимодействующих, адресуемых и управляемых ОМУ, характеризуемых: частотой опроса, пороговыми значениями параметров, совокупностями событий, вызывающих сигнальные сообщения. При работе СУИ с ЛОУ целесообразно задействовать агентскую технологию [3, 9]. Агенты устанавливаются на РОУ, но с РОУ или ЛОУ не ассоциированы. Агент собирает данные от одного или нескольких РОУ или ЛОУ, обрабатывает их и передает обобщенную информацию в сервер СУИ. Получая обобщенные команды от сервера СУИ, агент осуществляет управление ЛОУ или РОУ. Каждый агент работает в отдельном регионе, принимает и исполняет команды от сервера СУИ. Независимо от расположения, каждый РОУ может обслужи-


46

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

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

вой трафик СУИ по сравнению с СУИ, которые непосредственно взаимодействуют с РОУ (см. рис. 5). Кроме уменьшения накладных сетевых расходов работа СУИ с ЛОУ имеет и другие преимущества, часть из которых приведена в табл. 2.

Рис. 5. Сравнение объемов потоков данных и управления при работе СУИ с РОУ и ЛОУ Табл. 2. Сравнительный анализ работы СУИ с ЛОУ и РОУ Характеристика Объем данных мониторинга Подключение новых типов объектов Детализация команд управления Возможность передачи данных мониторинга зависимых объектов Возможность передачи команд управления зависимым объектам Возможность анализа состояния объекта Оперативное наращивание функций Зависимость от аппаратно‐программной платформы Универсальность

Для работы с РОУ разных типов СУИ должна поддерживать большой набор протоколов и методов мониторинга и управления. При этом обработка данных осуществляется в сервере СУИ. При работе СУИ с ЛОУ может быть использован универсальный инструментарий для

ЛОУ Незначительный Просто На уровне макрокоманд

РОУ Большой Затруднительно Подробная

Имеется

Отсутствует

Имеется

Отсутствует

Имеется Просто Отсутствует Существенная

Затруднена Затруднено Существенная Ограниченная

широкого класса используемых типов РОУ, который можно будет задействовать для работы с новыми типами РОУ. Предлагаемая концепция управления ИТИ ориентирована на применение агентского подхода [28–32] при проведении мониторинга и дистанционного управления аппаратно-


Концепция управления корпоративной ИТ-инфраструктурой

программными ОМУ ИТИ. В этом случае в РОУ встраиваются программные агенты СУИ. Механизм взаимосвязи РОУ и ЛОУ

ЛОУ – это объект данных СУИ, который может быть сконструирован и сконфигурирован администратором посредством клиентского инструментария СУИ и сохранен в БД. ЛОУ фиксируют определенные части ИТС и позволяют прикладывать к ним управляющие воздействия. РОУ могут иметь любую структуру, отличную от внутренних структур данных СУИ. ЛОУ не является моделью в чистом виде, используемой только для моделирования процесса управления, скорее наоборот, ЛОУ сами по себе не позволяют проводить симуляцию реальных событий. ЛОУ является представлением РОУ внутри СУИ, унифицированным интерфейсом, с которым могут работать механизмы оценки состояний и управления, а также администраторы СУИ. Для связи ЛОУ и РОУ целесообразно использовать предлагаемый механизм DALLфункций (Dynamic Auto Link Library – динамически связываемые библиотеки), основанный на рефлексии типов. Посредством DALLфункций производится мониторинг параметров и состояния РОУ и осуществляется воздействие на них. DALL-функции являются передаточными звеньями при взаимодействии ЛОУ и РОУ. Путем вызова соответствующих DALLфункций мониторинга, производится синхронизация состояния ЛОУ с состоянием РОУ, а в случае оказания на ЛОУ управляющих воздействий, эти воздействия передаются РОУ путем вызова соответствующих управляющих DALLфункций. Механизм DALL-функций предоставляет инструментарий для расширения функционала и возможностей СУИ, а также интеграции с внешними СУ без внесения изменений в программную реализацию СУИ, что делает СУИ универсальной и позволяет применять ее для решения широкого спектра задач управления ИТИ. Кроме того, абстрактность DALLфункций по отношению к СУИ является их главным достоинством, так как позволяет наращивать количество типов РОУ, с которыми может взаимодействовать СУИ, только путем добавления новых DALL-функций и соответствующего конфигурирования системы, без внесения изменений в программную реализацию самой СУИ. Таким образом, посредством механизма DALL-функций можно осуществ-

47

лять взаимодействие СУИ с практически любыми внешними ИТ-системами и объектами. Математически DALL-функция является функцией, которая принимает кортеж от ЛОУ из n параметров и возвращает кортеж из m значений от РОУ (11) f :( a1 , a 2 , ..., a n )  ( b1 , b2 , ..., bm ) . Таким образом, параметры, с которыми оперирует каждый ЛОУ, можно разделить на две группы: параметры ah , h  1, n , которые передаются в DALL-функции, и параметры bz , z  1, m , значения которых являются результатом выполнения DALL-функций. DALL-функции не являются чистыми функциями, т. е. функциями, не обладающими побочными эффектами и всегда возвращающими одинаковый результат для одинаковых параметров, поскольку результат их работы зависит от времени выполнения и конкретного РОУ, с которым взаимодействует данная функция. Например, запустив функцию мониторинга в один момент времени на разных серверах можно получить разные результаты. Поэтому функция (11) имеет вид f :(t , X i , j , a1 , a2 , ..., an )  (b1 , b2 , ..., bm ) , (12) где t – текущий момент времени, X i, j – состояние i-го РОУ Ri,j j-го уровня иерархии, для которого производится вызов функции. Данные параметры можно определить во время выполнения функции, но невозможно указать явно. Повлиять на них можно только косвенно, указав РОУ, с которым функции следует взаимодействовать, а также указав время или частоту вызова функции. DALL-функции используются не только для мониторинга состояния РОУ Ri,j, но и для оказания управляющих воздействий, поэтому в механизм DALL-функций заложена возможность создания побочных эффектов [33]. DALL-функция (12), выполняющая функции управления, имеет вид f :(t , X i , j , a1 , a2 , ..., an )  , (13)  (t , X i, j , b1 , b2 , ..., bm ) где ∆t – время выполнения функции, X i, j – состояние РОУ Ri,j после выполнения функции. Каждая DALL-функция fk из множества функций {fk } может осуществлять взаимодействие с определенным множеством РОУ {Rl } , содержащим РОУ, соответствующие единому шаблону ОМУ, например, «коммутаторы».


48

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

DALL-функция выбирает конкретный РОУ из множества {Rl }, доступного данному агенту А (Ri ,j , Ri ,j {Rl }, Ri ,j  A) , на основании значений входных параметров, идентифицирующих данный РОУ Ri,j. При выборе используются определенные критерии, задаваемые разработчиками конкретной DALL-функции. Кроме того, DALL-функция может одновременно взаимодействовать с несколькими разными РОУ. Каждый ЛОУ посредством одной или нескольких DALL-функций может взаимодействовать с одним или несколькими РОУ, либо его взаимодействие будет ограничиваться только другими ЛОУ. Входные параметры ah , h  1, n DALLфункции делятся на конфигурационные cl , l  1, k и управляющие d p , p  1, v . С помощью конфигурационных параметров cl , l  1, k производится выбор РОУ для взаимодействия, они устанавливается на этапе конфигурирования СУИ и определяют привязку ЛОУ к РОУ. Управляющими параметрами задаются управляющие воздействия и их значения могут изменяться СУИ во время работы. Таким образом,

{c1 ,..., ck }  {a1 ,..., an }, {d ,..., d }  {a ,..., a }, v 1 n  1 (14) {c1 ,..., ck }  {d1 ,..., dv }  {a1 ,..., an }, {c ,..., c }  {d ,..., d }  , k 1 v  1 k  v  n, и получим следующее описание DALLфункции:

f : (t, X , c1,..., ck , d1,..., dv )  (t, X , bi ,..., bm ). (15) Например, если РОУ является сетевая карта сервера, а задача СУИ заключается в ограничении генерируемого трафика при возникновении перегрузок в сети, то при взаимодействии с РОУ соответствующий ЛОУ будет использовать две DALL-функции: мониторинга – f1 и управления – f2. DALL-функции f1 и f2 могут взаимодействовать с множеством серверов, маршрутизаторов и ПК, поэтому для идентификации конкретного РОУ в качестве входного конфигурационного параметра с1 DALLфункций f1 и f2 будет использоваться IP-адрес сервера. Функция f1 возвращает значение текущей допустимой скорости передачи данных через сетевую карту (b1), а функция f2 принимает значение максимальной скорости обмена данными (d1) и, соответственно, меняет состоя-

ние сетевой карты сервера на ( ). Таким образом, параметрами ЛОУ будут:

c1 — IP-адрес;  b1 — текущее ограничение скорости; (16) d — новое ограничение скорости.  1 DALL-функции ЛОУ с учетом параметров (16) будут иметь вид: f1 : (t , X , c1 )  ( t , b1 ), f 2 : (t , X , c1 , d1 )  ( t , X ).

(17)

Основное преимущество применения DALLфункций проявляется в том, что они предоставляют открытую, модульную архитектуру, позволяющую писать функционал управления новыми РОУ без внесения изменений в саму СУИ. Функциональная структура СУИ

Функциональная структура СУИ, реализующей вся пять процессов МАУОП, приведена на рис. 6. В СУИ каждый из процессов МАУОП реализуется подсистемой, выполняющей соответствующие функции. Модульность структуры позволяет легко наращивать функционал отдельных подсистем без внесения существенных изменений в другие подсистемы, а также создавать облегченные версии СУИ, выполняющие только часть процессов МАУОП, например, мониторинга и управления или только мониторинга, с сокращенным функционалом. Цель такого подхода – превратить создание СУИ из трудно контролируемой совокупности хаотических действий по закупке компонентов ИТуправления в управляемый бизнес-процесс создания интегрированной СУИ. Исходя из пяти процессов МАУОП, жизненный цикл управления ИТИ целесообразно рассматривать как последовательное прохождение пяти соответствующих фаз – мониторинга, анализа, управления, оптимизации и планирования. Управление жизненным циклом позволяет планировать развитие ИТС, выявляя и анализируя тенденции, сопоставляя их с планом развития ИТИ для выявления отклонений. При этом осуществляется переход к непрерывному процессу управления ИТИ. В соответствии с функциональной структурой (рис. 6) подсистемы СУИ выполняют следующие основные функции. Подсистема мониторинга определяет состояние элементов ИТС путем сбора, измерения и сравнения данных с пороговыми значениями, формирует отчетность путем ведения журналов


Концепция управления корпоративной ИТ-инфраструктурой

и составления различных отчетов о функционировании ИТС и работе ИТ-подразделения, отображает результаты мониторинга в виде карт, диаграмм, информационных панелей и пр. с предоставлением механизмов фильтрации для многовариантного выбора показателей. Кроме того, осуществляется идентификация ресурсов и проблем в ИТС. Подсистема анализа производит анализ результатов мониторинга состояния ОМУ. Кроме того, подсистема анализа задействуется при управлении устранением неисправностей, осуществляя оценку и анализ данных, необходимые для выявления проблемных областей при определении первопричин возникновения неисправностей. Подсистема управления выбирает управляющие воздействия из множества Uˆ в соответствии с (4) на основе политик управления с учетом существующих ограничений.  

49

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

U

Q

R

q

r

Рис. 6. Функциональная структура СУИ


50

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

Распределение функций между компонентами рассредоточенной СУИ определяется топологией и масштабами ИТИ. Так, применение централизованной подсистемы мониторинга может оказаться неприемлемым из-за большого объема генерируемого трафика, в то время как использование региональных серверов СУИ и агентской технологии позволяет сократить трафик данных мониторинга. С другой стороны, централизация управления сетью, вычислительными ресурсами, сервисами и приложениями позволяет существенно уменьшить эксплуатационные расходы. Все особенности построения СУИ учитываются на этапе проектирования СУИ с учетом топологии, масштаба и назначения ИТС. Функциональная схема подсистемы мониторинга. Для каждого i-го, i  1, I j ОМУ Oi, j

j-го уровня иерархии, j  1, J определено множество (18) P ( i , j )  { p1(i , j ) , p2(i , j ) ,..., pn( i , j ) } , параметров pl(i , j ) , l  1, n , которые оказывают существенное влияние на состояние и качество функционирования ОМУ Oi, j , i  1, I j , j  1, J . Формирование множества P ( i , j ) производится на основе анализа функционального назначения ОМУ Oi, j , условий его функционирования, статистических данных о функционировании ОМУ и других факторов. Эту задачу решает администратор с использованием функционала подсистемы анализа. Сбор значений параметров pl(i , j ) , l  1, n , i, j осуществляет подсистема мониторинга, функциональная схема которой приведена на рис. 7.

Рис. 7. Функциональная схема подсистемы мониторинга

Подсистема собирает данные, измеряет значения параметров и формирует массив I ,J

P   P (i , j )

(19)

i, j

данных мониторинга. Текущие массивы P накапливаются в БД и формируют базу данных с результатами мониторинга P(t ) . Для

каждого

параметра

pl(i , j )  P (i , j ) ,

i  1, I j , j  1, J , l  1, n должны быть определены

нормативные

значения

bl(i , j )  B (i , j ) ,

Относительно нормативных значений B ( i , j ) производится определение степени снижения значений параметров P ( i , j ) , определяющих показатели эффективности функционирования ОМУ Oi, j , i  1, I j , j  1, J . Можно предложить несколько вариантов определения нормативных или эталонных значений параметров множества B ( i , j ) в реальной среде эксплуатации ОМУ Oi, j , i  1, I j , j  1, J . В первом случае значения

l  1, n , i  1, I j , j  1, J , где B ( i , j )  {b1(i , j ) , b2( i , j ) ,..., bn(i , j ) } ,

множество нормативных значений параметров ОМУ Oi, j , i  1, I j , j  1, J .

(20)

bl(i , j )  B (i , j ) ,

l  1, n определяются по результатам выполнения ряда тестов после установки ОС, инсталля-


Концепция управления корпоративной ИТ-инфраструктурой

ции ПО и оптимизационной настройки вычислительной системы. После чего вычисляется среднее значение параметра, которое и принимается нормативным для (20). Во втором – для определения значений в течение достаточно длительного времени, которое может измеряться неделями, модуль мониторинга собирает данные о работе ОМУ Oi, j ,

i  1, I j , j  1, J , которые после усреднения и коррекции в подсистеме анализа принимаются администратором за нормативные. В дальнейшем сравнение значений параметров (18) производится относительно нормативных (20). В третьем – ОМУ Oi, j , i  1, I j , j  1, J самостоятельно периодически запускает тестовые задания, накапливает статистику, по шаблонам определяет нормативные значения и в случае существенных отклонений значений (18) от (20) информирует СУИ. Накопленные статистические данные могут сбрасываться или корректироваться администратором ИТС. Кроме того, нормативные значения могут не измеряться, а задаваться, например, администратором СУИ на основании документов, регламентирующих требования к функционированию определенного класса ОМУ. В модуле первичной обработки производится преобразование и нормирование значений параметров массива P . Нормирование осуществляется относительно bl(i , j )  B (i , j ) , l  1, n , i  1, I j , j  1, J , и в БД подсистемы мониторинга хранятся нормированные значения измеряемых параметров p l( i , j ) , l  1, n , ОМУ Oi, j ,

i  1, I j , j  1, J . Для каждого параметра pl(i , j ) , l  1, n каждого ОМУ Oi, j , i  1, I j , j  1, J определены пороговые значения

hl(i , j ) ,

функционирования,

l  1, n

нормированные

тельно нормативных значений раметров

нормального

pl(i , j ) , l  1, n

bl(i , j )

относи-

 B (i , j ) па-

ОМУ Oi, j , i  1, I j ,

j  1, J . Пересечение пороговых значений, свидетельствующее о нештатной работе ОМУ, инициирует соответствующее событие, о чем информируется администратор СУИ.

51 (i, j )

Множество H пороговых значений пара(i , j ) ОМУ Oi, j , i  1, I j , j  1, J метров P H (i , j )  {h1(i , j ) , h2(i , j ) ,..., hn(i , j ) }

(21)

хранится в БД мониторинга. В СУИ при определении критичности значений параметров и при вынесении решений о состоянии ОМУ Oi, j , ∀ i  1, I j , j  1, J целесообразно использовать не обычные пороги (21), а пороги со свойством гистерезиса [34], когда каждому значению hl( i , j )  H (i , j ) , l  1, n сопоставляются два значения  hl(i , j ) и  hl(i , j ) , таких, что  (i , j ) hl

 hl(i , j )  Δ  hl(i , j )

 (i , j ) hl

 hl(i , j )  Δ  hl(i , j ) ,

(22)

где  hl(i , j ) и  hl(i , j ) , соответственно, положительное и отрицательное значения гистерезисного порога, а Δ  hl(i , j ) и Δ  hl(i , j ) – положительное и отрицательное приращения порогового значения hl(i , j ) . При использовании традиционного порога изменение состояния Si , j ОМУ Oi, j фиксируется при каждом пересечении порогового значения. В случае девиации состояния в зоне пороговых значений происходит большое количество срабатываний на выходе модуля сравнения данных. Каждое изменение состояния вызывает необходимость включения механизмов реакции СУИ на аномальное состояние ОМУ Oi, j и информирования администратора СУИ о появлении критичных ситуаций. Применение в СУИ порогов (22) со свойством гистерезиса позволяет существенно уменьшить количество срабатываний на выходе модуля сравнения данных, поскольку сообщение об изменении состояния выдается только после того, когда изменение состояния надежно зафиксировано. Функциональная схема подсистемы анализа. Анализ состояний всех ОМУ Oi, j ,

i  1, I j , j  1, J осуществляет подсистема анализа, функциональная схема которой приведена на рис. 8.


52

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

Рис. 8. Функциональная схема подсистемы анализа

На основании (18) значений параметров , l  1, n массива (19) подсистема анализа

pl(i , j )

посредством функционала  (0i , j )

определяет

состояние Si , j ОМУ Oi, j , i  1, I j и j  1, J

Si , j  (0i , j ){ p1(i , j ) , p2(i , j ) ,..., pn(i , j ) } . Вид функционала

 (0i , j ) ,

(23)

∀ i  1, I j , j  1, J ,

определяется в результате статистического анализа массива P (t ) данных мониторинга, выбирается из соответствующего шаблона и закрепляется администратором за ОМУ Oi, j , i  1, I j ,

j  1, J (0i , j )

 F0 {0,k } ,

где sm(i , j ) , m  1, M – показатель, характеризующий отдельное m-е, в общем случае, комплексное свойство ОМУ Oi, j , например, производительность, надежность и др. Вопросам кодирования состояния Sˆi , j ОМУ посвящена работа [10]. Для связи показателей отдельных свойств ОМУ Oi, j с наиболее существенными параметрами, влияющими на m-е, ведем функционал (2,i.mj ) , m  1, M

sm(i , j )   2,m {Em(i , j 1) , Pm(i , j ) } ,

(26)

где Em(i , j 1)  {sm(i , j 1) } – множество показателей

(24)

m-го свойства ОМУ Oi, j 1 , оказывающих влия-

где F0 – множество шаблонов функционала

ние на свойство sm(i , j ) , Pm( i , j )  P (i , j ) – множество

 (0i , j ) , i  1, I j , j  1, J , 0,k k  1, K – отдель-

оригинальных параметров ОМУ Oi, j , оказыва-

i  1, I j ,

ющих влияние на m-е свойство sm(i , j ) ОМУ Oi, j .

j  1, J . Кроме оценки состояния Si , j ОМУ Oi, j ,

Выбор и закрепление функционала  2,m за

ный шаблон функционала

 (0i , j ) ,

i  1, I j и j  1, J модуль анализа определяет состояние Sˆi , j ОМУ Oi, j , влияющее на качество функционирования ОМУ Oi, j , i  1, I j ,

j  1, J . Состояние Sˆi , j ОМУ Oi, j , i  1, I j и j  1, J определяется посредством функционала  1( i , j ) (i , j ) }, Sˆi , j  1 {s1(i , j ) , s2(i , j ) ,..., sM

(25)

отдельным свойством осуществляется подобно (24). Функциональная схема подсистемы оптимизации. Подсистема оптимизации призвана решать различные оптимизационные задачи, возникающие при выполнении процессов МАУОП, прежде всего, задачи оптимального распределения вычислительных ресурсов ИТС, постановке и решению которых посвящены работы [17–22]. Функциональная схема подсистемы оптимизации приведена на рис. 9.


Концепция управления корпоративной ИТ-инфраструктурой

53

Рис. 9. Функциональная схема подсистемы оптимизации

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

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

Рис. 10. Функциональная схема подсистемы планирования


54

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

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

понятие логического объекта мониторинга и управления. Разработана функциональная структура СУИ, а также функциональные схемы подсистем мониторинга, анализа, оптимизации и планирования. Применение предложенной концепции управления при разработке систем управления ИТ-инфраструктурой позволит увеличить эффективность и надежность использования информационно-коммуникационных технологий и ресурсов, а также повысить производительность ИТ-инфраструктуры, что положительно скажется на выполнении бизнес-процессов предприятия.

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

2.

3.

4.

5. 6. 7.

8. 9.

10.

11.

12.

13. 14.

Ролик А.И. Тенденции и перспективы развития управления информационными технологиями / А.И. Ролик // Вісник НТУУ «КПІ»: Інформатика, управління та обчислювальна техніка. – К.: «ВЕК+», 2012. – № 55. – С. 81–109. Теленик С.Ф. Система управління інформаційно-телекомунікаційною системою корпоративної АСУ / С.Ф. Теленик, О.І. Ролік, М.М. Букасов, Р.Л. Соколовський // Вісник НТУУ «КПІ». Інформатика, управління та обчислювальна техніка. – К.: «ВЕК+», 2006. – № 45. – С. 112–126. Ролик А.И. Система управления корпоративной информационно-телекоммуникационной инфраструктурой на основе агентского подхода / А.И. Ролик, А.В. Волошин, Д.А. Галушко, П.Ф. Можаровский, А.А. Покотило // Вісник НТУУ «КПІ»: Інформатика, управління та обчислювальна техніка. – К.: «ВЕК+», 2010. – № 52. – С. 39–52. Теленик С.Ф. Система управления информационной инфраструктурой транспортного предприятия / С.Ф. Теленик, А.И. Ролик, П.Ф. Можаровский, А.В. Волошин // Автомобільний транспорт: зб. наук. праць: Вип. 25. – Харків.: ХНАДУ, 2009. – С. 242–245. Катышев С. Об одной концепции управления распределенным ресурсами // С. Катышев // Открытые системы. – 1998. – №3. Garbani J.-P. It's Time For IT Management Software 2.0 / J.-P. Garbani, T. Mendel, E. Hubbert, E. Radcliffe. – Forrester Research, Inc. – 2009. – Dec. 8. – 13 p. Ролик А.И. Метод нечеткой непараметрической оценки качества функционирования элементов информационно-телекоммуникационных систем / А.И. Ролик, Д.А. Галушко, П.Ф Можаровский, А.А. Андриенко, В.М. Вовк // Адаптивні системи автоматичного управління. Міжвідомчий наук.-техн. зб. – Дніпропетровськ: Системні технології, 2012. – Вип. 19 (39). – С. 115–125. Черняк Л. Корпоративное управление: первые шаги// Открытые системы. – 2007. – №8. – С. 36–42. Ролик А.И. Распределение мобильных компонентов системы управления информационнотелекоммуникационной системой / А.И. Ролик, Р.Л. Соколовский // Вісник НТУУ «КПІ». Інформатика, управління та обчислювальна техніка. – К.: «ВЕК+», 2007. – № 47. – С. 113–124. Теленик С.Ф. Методы диагностики компонентов информационно-телекоммуникационных систем/ С.Ф. Теленик, А.И. Ролик, Ю.С. Тимофеева // «Наукові вісті» Інституту менеджменту і економіки «Галицька академія». – Івано-Франківськ, 2009. – № 1 (15). – С. 49–58. Ролик А.И. Анализ качества функционирования элементов информационно-телекоммуникационных систем / А.И. Ролик, Е.В. Глушко // Вісник НТУУ «КПІ». Інформатика, управління та обчислювальна техніка. – К.: «ВЕК+», 2008. – № 48. – С. 113–120. Теленик С.Ф. Зведення метрик оцінювання рівня обслуговування користувачів на основі експертних оцінок / С.Ф. Теленик, О.І. Ролік, О.М. Моргаль, О.С. Квітко// Вісник Вінницького політехнічного інституту. – 2011.– №1.– С. 112–123. Теленик С.Ф. Нечітке оцінювання в задачах управління рівнем обслуговування / С.Ф. Теленик, О.І. Ролік, М.В. Ясочка, О.М. Моргаль // Наукові записки УНДІЗ. – 2011. – № 2 (18). – С. 29–42. Ролік О.І. Метод зведення метрик якості функціонування компонентів ІТ-інфраструктури за допомогою апарату непараметричної статистики / О.І. Ролік, П.Ф. Можаровский, В.М. Вовк, Д.С. Захаров //


Концепция управления корпоративной ИТ-инфраструктурой 55 Вісник НТУУ «КПІ»: Інформатика, управління та обчислювальна техніка. – К.: «ВЕК+», 2011. – № 53. – С. 160–169. 15. Пат. 65906 Україна, МПК G06F 11/34. Спосіб аналізу параметрів функціонування об’єктів інформаційно-телекомунікаційної системи / О.І. Ролік, П.Ф. Можаровский. – № u 2010 12774; заявл. 28.10.10; опубл. 26.12.11, Бюл. № 24. – 6 с. 16. Ролик А.И. Метод нечеткой непараметрической оценки качества функционирования элементов информационно-телекоммуникационных систем / А.И. Ролик, Д.А. Галушко, П.Ф Можаровский, А.А. Андриенко, В.М. Вовк // Адаптивні системи автоматичного управління. Міжвідомчий наук.-техн. зб. – Дніпропетровськ: Системні технології, 2012. – Вип. 19 (39). – С. 115–125. 17. Теленик С.Ф. Моделі управління розподілом обмежених ресурсів в інформаційно-телекомунікаційній мережі АСУ/ С.Ф. Теленик, О.І. Ролік, М.М Букасов // Вісник НТУУ «КПІ». Інформатика, управління та обчислювальна техніка. – К.: Єкотех, 2006. – № 44. – С. 234–239. 18. Ролик А.И. Модель управления перераспределением ресурсов информационнотелекоммуникационной системы при изменении значимости бизнес-процессов// Автоматика. Автоматизация. Электротехнические комплексы и системы. – 2007. – №2 (20).– С. 73–82. 19. Теленик С. Ф. Технологія управління ІТ-інфраструктурою на основі ресурсного підходу/ С.Ф. Теленик, О.І. Ролік, М.М. Букасов // Вісник ЖДТУ. – 2008.– № 4 (47). – С. 180–189. 20. Теленик С. Управління ресурсами центрів оброблення даних / С. Теленик, О. Ролік, М. Букасов, К. Крижова // Вісник Львів. ун-ту. Серія прик. матем. інформ. – Вип. 15. – 2009. – С. 325–340. 21. Ролик А.И. Система управления информационными потоками в корпоративной IP-сети / А.И. Ролик, В.А. Иосифов // Адаптивні системи автоматичного управління. Міжвідомчий науково-технічний збірник. – Дніпропетровськ: Системні технології, 2009.– Вип. 14 (34).– С. 73–85. 22. Ролік О.І. Моделювання управління потоками даних в корпоративних IP-мережах/ О.І. Ролік, Ю.М. Пошак, М.А. Никоненко, А.В. Мельник // Адаптивні системи автоматичного управління. Міжвідомчий наук.-техн. зб. – Дніпропетровськ: Системні технології, 2011.– Вип. 18(38).– С. 94–103. 23. Garbani J.-P. Competitive Analysis: Application Performance Management And Business Transaction Monitoring/ J.-P. Garbani. – Forrester Research, Inc. – 2010. – Sep. 9. – 29 p. 24. Garbani J.-P. Market Overview: Application Performance Management, Q4 2011 / J.-P. Garbani, E. Hubbert, D. Washburn, L. Kempton. – Forrester Research, Inc. – 2011. – Dec. 7. – 17 p. 25. Теленик С.Ф. Моделі управління віртуальними машинами при серверній віртуалізації / С.Ф. Теленик, О.І. Ролік, М.М. Букасов, А.Ю. Лабунський // Вісник НТУУ «КПІ»: Інформатика, управління та обчислювальна техніка. – К.: «ВЕК+», 2009. – № 51. – С. 147–152. 26. Брукс П. Метрики для управления ИТ-услугами / П. Брукс; Пер. с англ. – М.: Альпина Бизнес Букс, 2008. – 283 с. 27. Cisco Advanced Services Network Management Systems Architectural Leading Practice. White Paper. – Cisco Systems, Inc. – 2007. – 11 p. 28. Fricke S. Agent-based Telematic Services and Telecom Applications / S. Fricke, K. Bsufka, J. Keiser, T. Schmidt, R. Sesseler, S. Albayrak// Communications of the ACM. – 2001. – vol. 44, no. 4. – pp. 43–48. 29. Тржец К. Дистанционное управление программным обеспечением с помощью агентов/ Тржец К., Ежич Г., Кушек М., Дешич С. // Ericsson Nikola Tesla, REVIJA. – 2005. – vol. 18, no. 41. – p 57–67. 30. Knapik M. Developing Intelligent Agents for Distributed Systems: Exploring Architecture, Technologies, and Applications/ M. Knapik J. Johnson. – NY. USA: McGraw-Hill. – 1997. – 389 p. 31. Cockayne W. R. Mobile Agents / W. R. Cockayne, M. Zyda. – NJ. USA: Prentice Hall, Englewood Cliffs. – 1998. – 312 p. 32. D’Inverno M. Understanding Agent Systems / M. D’Inverno, M. Luck. – Berlin: Springer-Verlag. – 2001. – 191 p. 33. Себеста Р.У. Основные концепции языков программирования / Р.У. Себеста. – 5-е изд. – М.: Вильямс, 2001. – С. 672. 34. Ролик А.И. Управление устранением неисправностей в ИТ-системах / А.И. Ролик, Ю.С. Тимофеева, Н.И. Турский // Вісник НТУУ «КПІ». Інформатика, управління та обчислювальна техніка. – К.: «ВЕК+», 2008. – № 49. – С. 94–107.


УДК 519.854.2 ПАВЛОВ А.А., МИСЮРА Е.Б., ХАЛУС Е.А., СПЕРКАЧ М.О., АРАКЕЛЯН Г.А. РЕЗУЛЬТИРУЮЩАЯ ФОРМАЛИЗАЦИЯ ПЕРВОГО УРОВНЯ ТРЕХУРОВНЕВОЙ МОДЕЛИ ОПЕРАТИВНОГО ПЛАНИРОВАНИЯ И ПРИНЯТИЯ РЕШЕНИЙ ПО КРИТЕРИЮ МИНИМИЗАЦИИ СУММАРНОГО ОПЕРЕЖЕНИЯ ДИРЕКТИВНЫХ СРОКОВ В статье предлагаются новые формальные модели, позволяющие существенно повысить эффективность известных методов построения оперативных планов. A new formal models are proposed in the article that allow to significantly increase the effectiveness of the operational plans constructing methods.

Введение

В [1] изложена методология построения оперативных планов для организационно-социальных систем с сетевым представлением технологических процессов. Рассмотрена трехуровневая система планирования по 31 критерию оптимальности, включающая в себя блок принятия решений. Построение агрегированных планов на 1 и 2 этапе [1] позволяет после реализации блока принятия решений сформировать окончательный портфель заказов, после чего на третьем этапе строится результирующий пооперационный оперативный план. В [1] построение планов на 1–3 этапах изложено как системно единая эвристическая процедура, реализующая построение результирующего плана в области глобального экстремума. Если исходным критерием оптимальности была минимизация суммарного взвешенного опоздания, то после блока принятия решений [1] в соответствии с новыми директивными сроками на третьем этапе построения оперативного плана критерием оптимальности становится минимизация суммарного опережения директивных сроков при их соблюдении. Более того, если рассматривать остальные критерии оптимальности [1], то такая постановка задачи также может иметь место, со следующим отличием: после построения и анализа результирующего пооперационного плана может быть произведена корректировка директивных сроков выполнения изделий с повторной процедурой построения пооперационного плана. Более того, если исходный критерий – минимизация суммарного опережения и опоздания относительно директивных сроков, то его очевидным

образом можно аппроксимировать критерием минимизации суммарного опережения директивных сроков при условии их выполнения. Основным результатом статьи является разработка методологии построения формальной модели построения результирующего пооперационного плана, которая может быть сформулирована как специальная сетевая многоэтапная задача календарного планирования, позволяющая построить точный эффективный алгоритм, представляющий собой системную суперпозицию ПДС-алгоритмов, изложенных в [1, 2, 3]. Сетевая модель задачи

Предлагается исходную сетевую модель многоэтапной задачи календарного планирования синтезировать из следующих базовых элементов. Элемент 1. T1, l

T

– обозначение работы, – обозначение оборудования, на котором выполняется работа, – окончание выполнения изделия (партии изделий) (выполнена последняя работа), T – момент окончания выполнения изделия (партии изделий), l – длительности выполнения работы, T1 – момент времени готовности работы к выполнению на оборудовании. Элемент 2.

T11 T21 Tk1

l1

T1

l2

… lk

T2 Tk


Результирующая формализация первого уровня трехуровневой модели оперативного планирования…

Оборудование последовательно выполняет k работ. Ti1 – моменты готовности выполнения работ на оборудовании, Ti – директивный срок выполнения i-й работы на оборудовании. Оборудование работает без прерываний. Элемент 3.

T11 1 k

T

l1

… lk

T1

max Ti  i

Tk

После выполнения k работ на оборудовании появляется новая одна (меньшее число работ), которые выполняются на последующем оборудовании. Оборудование работает без прерываний. Элемент 4.   k l1 1 … T1    Выполнение работы с длительностью l1 приводит к необходимости выполнения новых k работ (например, после разузловки). Элемент 5.

T11 1 k

T

l1

… lk

 1   …  …    m   

T   k   

m единиц независимо параллельно работающего оборудования выполняют k работ, которые должны быть выполнены к одному директивному сроку T. Оборудование работает без прерываний.

57

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

Показана методология построения формальной модели построения результирующего пооперационного плана для организационно-социальных систем с сетевым представлением технологических процессов в виде модели специальной сетевой многоэтапной задачи календарного планирования. Методология позволяет существенно повысить эффективность известных методов [1] построения оперативных планов благодаря построению точного эффективного алгоритма, представляющего собой системную суперпозицию ПДС-алгоритмов, изложенных в [1, 2, 3].

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

3.

Згуровский М.З., Павлов А.А. Принятие решений в сетевых системах с ограниченными ресурсами: Монография.– К.: Наукова думка, – 2010.– 573 с. Конструктивные полиномиальные алгоритмы решения индивидуальных задач из класса NP. / А.А.Павлов, А.Б.Литвин, Е.Б.Мисюра, Л.А.Павлова, В.И.Родионов, под редакцией А.А.Павлова.– К.: Техника, 1993.– 126 с. ПДС-алгоритми для важкорозв'язуємих комбінаторних задач. Теорія і методологія розробки / О.А.Павлов, Л.О.Павлова. – Ужгород: Поличка «Карпатського краю» №15, – 1998.– 320 с.


УДК 519.854.2 ПАВЛОВ О.А., МІСЮРА О.Б., ШЕВЧЕНКО К.Ю. ПОБУДОВА ПДС-АЛГОРИТМУ РОЗВ’ЯЗАННЯ ЗАДАЧІ МІНІМІЗАЦІЇ СУМАРНОГО ЗВАЖЕНОГО ЗАПІЗНЕННЯ ВИКОНАННЯ РОБІТ НА ОДНОМУ ПРИЛАДІ На основі попередніх досліджень властивостей задачі мінімізації сумарного зваженого запізнення виконання робіт на одному приладі побудований ПДС-алгоритм її розв’язання. Для запропонованого алгоритму виділені поліноміальна та декомпозиційна складові, сформульовані умови реалізації цих складових для окремої індивідуальної задачі. Даний алгоритм дозволяє отримувати точні розв’язки для широкого класу індивідуальних задач великої потужності за прийнятний час, а також близькі до оптимальних розв’язки, якщо обчислення перериваються передчасно. Алгоритм пристосований до паралельних розрахунків. Based on previous studies concerning properties of a problem to minimize total weighted tardiness of processing jobs on a single machine, constructed here is a PDC-algorithm that solves it. We single out polynomial and decompositional components of a proposed algorithm and formulate conditions under which those components are executed for a separate problem instance. Given algorithm allows for obtaining exact solutions for a wide range of large capacity instances within a reasonable time, as well as for finding close to optimal solutions when calculations are interrupted untimely. Algorithm conforms to parallel computing. Вступ

В умовах конкуренції на ринку підприємства звертають все більшу увагу на управління пріоритетами рішень в області своєї діяльності. Так, послугами компаній користуються різноманітні клієнти, деякі з яких важливіші за інших. Важливість клієнта для компанії залежить від низки факторів [1], як то тривалість співробітництва клієнта із компанією, як часто вони формують замовлення для компанії, яку частину віддачі компанії припадає на клієнта тощо. Запізнення роботи, якій відповідає певний ваговий коефіцієнт, являє собою приклад критерію, що враховує пріоритетність. Іншим приводом до використання критеріїв, в яких фігурує зважене запізнення – різні пріоритети устаткування (машин), що складають фонди підприємства. Задача мінімізації сумарного зваженого запізнення виконання робіт на одному приладі має велике теоретичне та практичне значення. Так, найпростіше машинне середовище, що складається з одного приладу, часто має властивості, яких позбавлені складніші середовища. Складне машинне середовище, в якому єдина машина складає вузьке місце відносно критеріїв продуктивності, може розглядатись як єдина машина. Також на практиці задачі операційного планування в більш складних машинних середовищах часто можуть декомпозуватись на підзада-

чі, кожна з яких моделюється одним приладом. Дуже важливу роль відіграє ця задача в плануванні напівпровідникового виробництва [2]. Про найбільш ефективні методи розв’язання цієї задачі а рамках традиційних підходів можна дізнатись з оглядових статей [3, 4]. За допомогою цих методів можна отримувати точні розв'язки індивідуальних задач розмірності до 50 робіт. Для деяких класів індивідуальних задач отримані розв'язки задач розмірності до 100. Лоулер (Lawler) показав, що розглянута задача є NP-складною в сильному розумінні зведенням до неї задачі про 3-розбиття [5]. В [6] представлений новий підхід до розв’язання окремих задач календарного планування, який розширює межі застосування комбінаторного підходу та дозволяє знаходити точні розв’язки окремих NP-складних задач набагато більших розмірностей, ніж було можливо будь-яким іншим методом. Його суттю є попереднє дослідження властивостей відповідних класів важкорозв’язних задач, доведенні положень, правил, які дозволяють розробити єдиний принцип обчислень, і на їх основі будувати так звані ПДС-алгоритми (алгоритми із поліноміальною та декомпозиційною складовими). Такі алгоритми засновані на виділенні поліноміальної складової, та отриманні умов, коли експоненційна складова може декомпозу-


Побудова ПДС-алгоритму розв’язання задачі мінімізації сумарного зваженого запізнення …

вати початкову задачу на підзадачі меншого розміру. Для кожного такого алгоритму виводяться логіко-аналітичні умови, які свідчать про можливість розв’язання задачі поліноміальним підалгоритмом («p-умови»), та відповідно «d-умови», при виконанні яких в процесі розв’язання довільної індивідуальної задачі вона строго декомпозується на підзадачі меншої розмірності. Ці умови перевіряються під час розв’язання екземпляру задачі з класу, для якого побудовано ПДС-алгоритм, і часто наперед невідомо, який підалгоритм реалізується для довільної індивідуальної задачі. ПДС-алгоритми побудовано на одноманітних ітераційних процедурах, та таким чином, що на кожній ітерації отримується розклад, який відповідає не гіршому значенню критерію оптимальності. Для кожної задачі намагаються показати, що відхилення отриманого на черговій ітерації допустимого розв’язку від оптимального залежить від самого отриманого розв’язку, і обчислення можна зупинити в будьякий момент, наприклад, при досягненні граничного часу виконання. Також структура побудованих ПДС-алгоритмів зазвичай дозволяє відкидати деякі процедури, що статистично лише незначно впливають на оцінку чергового розв’язку, тим самим виграючи в часі виконання. Якісна відмінність ПДС-алгоритмів від існуючих – статистична значимість (висока частість отримання) точних розв’язків задач великої розмірності за прийнятний час, що відкриває широкі можливості для розв’язання реальних практичних важкорозв’язних задач. Один варіант ПДС-алгоритму розв’язання досліджуваної задачі був запропонований в [7]. В даній статті проведений додатковий теоретичний аналіз задачі мінімізації сумарного зваженого запізнення виконання робіт на одному приладі, що доповнює результати з [7], та сформульовані p-умови розв’язання задачі. Реалізації запропонованого алгоритму можуть враховувати паралелізм обчислювального середовища. Постановка задачі

Тут і далі будуть використовуватись наступні позначення (велика літера в позначенні параметру робіт означає, що значення цього параметру залежить від позиції роботи в розкладі, інакше параметр роботи не залежить від конк-

59

ретного розкладу; без обмеження загальності розглядаємо лише цілі часові параметри). J – множина усіх робіт, які призначаються на прилад.  – деякий допустимий розклад, тобто послідовність робіт із J . n – кількість робіт у розкладі, нумерація не залежить від їх розміщення у послідовності, J  n. [j] – номер роботи, що стоїть в допустимому розкладі на позиції j. pj – тривалість роботи із номером j, усі роботи складаються із однієї операції. dj – директивний строк виконання роботи із номером j. wj – вага роботи із номером j, j  J w j  0 ; величина wi pi називається пріоритетом роботи. Сj – момент завершення обробки роботи j. S j  d j  C j – резерв часу роботи j; залежність резерву часу від моменту початку обробки роботи j записується як S j (t )  d j  p j  t . T j  max  0, C j  d j  – запізнення роботи j.

P( A) , де A  J – сумарна тривалість обробки робіт з множини A, тобто P ( A)   i A pi .

В стандартній нотації теорії розкладів досліджувана задача позначається як 1||  wiTi . Роботи поступають на прилад одночасно в момент t  0, переривання робіт не дозволяються, час на переналадку приладу не залежить від послідовності обробки робіт, є постійним та вважається, що він включений в тривалості робіт. Усі роботи складаються з однієї операції. Якщо в тексті зустрічається посилання «робота j», мається на увазі робота із номером j. Досліджується задача мінімізації сумарного зваженого запізнення, тобто задача пошуку такого розкладу n робіт, для якого n

n

i 1

i 1

 wiTi   wi max  0, C j  d j   min .

(27)

Цей критерій є регулярним (це неспадна функція від моментів завершення обробки робіт C1 ,, Cn ), а отже, як відомо з елементарної теорії розкладів, оптимальний розклад відносно регулярного критерію не містить інтервалів очікування, і всі роботи виконуються одна за одною. З цього випливає, що областю допустимих розв’язків задачі 1||  wiTi є усі можливі перестановки потужності n .


60

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56 Основні теоретичні положення (30) f  f, F

Наведемо ряд означень. Означення 1. WSPT-розкладом (weighted shortest processing time – зважена найкоротша тривалість) називається послідовність робіт з J, в якій роботи впорядковані за незростанням пріоритетів. За умови рівності пріоритетів раніше призначається робота із меншим директивним строком, тобто

 w[i ] w[ j ] w[i ] w[ j ]      d[i ]  d[ j ]   i  j .(28)    p[i ] p[ j ] p[i ] p[ j ]  Така послідовність позначається  WSPT . Подальші означення стосуються довільної послідовності робіт, якщо не зазначено інакше. Означення 2. Перестановкою називається операція перенесення роботи [q] на позицію g > q разом із роботами [q + 1], [q + 2],…, [g − 1], [g] на позиції q, q + 1, q + 2,…, g − 1. Означення 3. Інтервалом перестановки роботи [q] на позицію g називається множина робіт F  q, g    q  1 ,  q  2  , ,  g  1 ,  g  .

Нехай виконана перестановка із інтервалом F  F  q , g  . Якщо зважене запізнення деякої роботи i  F з цього інтервалу збільшилось, позначимо величину цього збільшення fi  . Означимо f F  f[ q]   fi  . iF

Подібним чином, якщо зважене запізнення деякої роботи j  F з інтервалу перестановки зменшилось в результаті перестановки, будемо позначати величину цього зменшення f j , і знову f F  f[ q]   fi  . iF

Тоді зміна значення цільової функції в результаті перестановки може бути виражена як (29)  F  f F  f F . Лема 1. Зміна значення цільової функції в результаті перестановки із інтервалом F  F  q , g  може бути записана наступним чином: 1) збільшення значення цільової функції дорівнює

[q]

де

0,  f[ q]  w[ q ]  P( F )  S[ q ]  ,  w[ q ] P( F ), 2) зменшення значення писується як f F   wi min Ti , p[ q ] .

якщо S[ q ]  P( F ), якщо P( F )  S[ q ]  0, якщо S[ q ]  0; цільової функції за-

(31)

iF

Доведення. Запізнення робіт на інтервалі перестановки може лише зменшуватись, оскільки після перестановки вони починають виконуватись раніше, і f F   iF f i  . Натомість для роботи [q] запізнення може лише збільшуватись, тому f F  f[ q] . До перестановки вклад роботи [q] до критерію f[ q ]  w[ q ] max(0, C[ q ]  d[ q ] ) , а після перестановки f[q ]  w[ q ] max(0, C[ q ]  P ( F )  d[ q ] ) . Тоді

f[ q]  f[q ]  f[ q ]   w[ q ]  max(0, P( F )  S[ q ] )  max(0,  S[ q ] )    w[ q ]  max(0, P( F )  S[ q ] )  min(0, S[ q ] )  . Розглядаючи різні випадки, отримаємо вираз для f[ q] з (30). Дослідимо тепер зміну зваженого запізнення для довільної роботи i  F . Її зважене запізнення до перестановки f i  wi max  0, Ci  d i  , а після перестановки f i   wi max(0, Ci  p[ q ]  d i ) , причому воно зменшується. Тоді fi   fi  fi   wi Ti  max(0, Ci  p[ q ]  di )  

 wi min Ti , p[ q ]  Ti  (Ci  di )    wi min Ti , p[ q ]  max  0, Si   .

Якщо Ti  0 , Si  0 і f i   wi min Ti , p[ q ]  . У випадку Ti  0 , Si  0 ,

f i   min Ti , p[ q ]  Si   0  min Ti , p[ q ]  .

Доведено.


Побудова ПДС-алгоритму розв’язання задачі мінімізації сумарного зваженого запізнення …

Означення 4. Вставкою називається операція перенесення роботи [g] на позицію p  g разом із роботами [p], [p + 1], [p + 2], …, [g – 1] на позиції p + 1, p + 2, …, g – 1, g. Означення 5. Інтервалом вставки роботи [g] на позицію p називається множина робіт B  p, g   [ p ],[ p  1], ,[ g  1] .

Якщо p визначається з умови (32) 0  P  B ( p, g )   T[ g ]  p[ p ] , то такий інтервал називається власним інтервалом вставки роботи [g], і позначається B( g ) . Відповідна позиція найранішої роботи, що належить цьому інтервалу та визначається із співвідношення (32), позначається як p m in ( g ) . На цій позиції зважене запізнення роботи [g] дорівнює нулю або мінімальне. Якщо такої позиції p не існує, pmin ( g )  1 . Як і для операції перестановки, для операції вставки із інтервалом B  B  p, g  означимо зменшення та збільшення зваженого запізнення, що виникають в результаті її проведення. Маємо f B  f[ g ]   f j jB

 B

f  f

 [g]

  f j , jB

та (33)  B  f B  f B . Лема 2. Зміна значення цільової функції в результаті вставки із інтервалом B  B  p, g  записується наступним чином: 1) збільшення значення цільової функції дорівнює f B   fi  , (34) iB

де для i  B 0, якщо Si  p[ g ] ,   fi    wi  p[ g ]  Si  , якщо p[ g ]  Si  0,  якщо Si  0;  wi p[ g ] , 2) зменшення значення цільової функції (35) f B  f[ g ]  w[ g ] min T[ g ] , P ( B )  . Доведення. В результаті вставки запізнення роботи [g] може лише зменшуватись, оскільки вона буде починатись раніше, і тому f B  f[ g ] .

Роботи на інтервалі вставки натомість зміщуються вперед, їх запізнення може лише збільшуватись, і отже f B   iB f i  .

61

Розглянемо зміну зваженого запізнення для роботи [g]. До вставки воно складає f[ g ]  w[ g ] max  0, C[ g ]  d[ g ]  , а після вставки f[ g ]  w[ g ] max  0, C[ g ]  P ( B )  d[ g ]  , і оскільки запізнення цієї роботи зменшується f[ g ]  f[ g ]  f[g ] . Викладками, які аналогічні тим, що використовувались в доведенні другого пункту леми 1 отримаємо (35). Доведення другого пункту аналогічне доведенню першого пункту леми 1, для цього для довільної роботи в інтервалі вставки i  B потрібно взяти f i  wi max  0, Ci  d i  , f i   wi max  0, Ci  p[ g ]  d i  ,

f i   f i  f i . Отже (34) також справедливе. Доведено. Далі, якщо не важливо, яка операція була виконана при зміні роботою j своєї позиції, то будемо узагальнено казати, що виконано перенесення цієї роботи. Якщо перенесення (перестановка чи вставка) призводить до зменшення цільової функції, будемо казати, що має місце продуктивне перенесення (перестановка чи вставка). Лема 3. Вставка роботи [g], яка запізнюється, на позицію f  pmin ( g ) не може виявитись більш продуктивною, ніж вставка цієї роботи із її власним інтервалом. Доведення. Зміна значення критерію за вставки роботи [g] із її власним інтервалом, враховуючи (32), записується як  B ( g )   f i   w[ g ]T[ g ] , iB ( g )

а зміна за її вставки на інтервалі B ( f , g ), f  pmin ( g ) , для якого P  B ( f , g )   P  B ( g )   T[ g ] ,

 B( f ,g ) 

iB ( f , g )

iB ( g )

f i   w[ g ]T[ g ] 

fi  

pmin ( g ) 1

 j f

f[ j ]  w[ g ]T[ g ] .

Маємо  B( f ,g )   B( g ) 

Доведено.

pmin ( g ) 1

 j f

f[ j ]  0 .


62

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

Означення 6. Процедурою вільної перестановки називається операція перестановки роботи [q] на позицію g > q за умови, що C[ g ]  d[ q ]  C[ g 1] , та i  F (q, g ) : Si  0. Примітка (до означення 6). При виконанні декількох вільних перестановок для уникання зациклення починають із робіт, що мають найбільший директивний строк. Означення 7. Послідовність, отриману із  WSPT виконанням усіх вільних перестановок,

позначимо через  ВП . В послідовності  ВП порядок WSPT (28) зберігається лише для робіт, які запізнюються. Роботи із резервами часу (для яких Si  0 ) можуть порушувати цей порядок. Примітка (до означення 7). За означенням операція вставки на інтервалі B ( p , g ) в послідовності  ВП супроводжується сортуванням усіх робіт, що знаходяться на цьому інтервалі, у порядку WSPT (28). Лема 4. Якщо в послідовності  WSPT роботам, які запізнюються, не передують завдання із резервом часу, то не існує переносів робіт, що можуть зменшити цільову функцію, і така послідовність оптимальна. Доведення. Нехай в  WSPT для i  1, s S[ i ]  0 , а для j  s  1, n S[ j ]  0 . Зрозуміло, що продуктивні перенесення можливі лише для робіт на позиціях i  1, s . Виконаємо перестановку із інтервалом F (q, g ) , q  s, g  s . Згідно із (29) з урахуванням того, що S[ q ]  0 отримаємо  F  w[ q ] P ( F )   wi min Ti , p[ q ]   iF

g

  w[ q ] p[i ]  w[i ] p[ q ]   0,

i  q 1

i  F ( q, g ) оскільки wi pi  w[ q ] p[ q ] , відповідно до (28). Тепер виконаємо вставку із інтервалом B ( p , g ) , p  s, g  s . Використавши (33) та врахувавши, що Si  0 , i  B ( p, g ) , можна отримати  B   wi p[ g ]  w[ g ] min T[ g ] , P ( B )   iB

g 1

  wi p[ g ]  w[ g ] p[ i ]  0, i p

оскільки w[ g ] p[ g ]  wi pi , i  B ( p, g ) . Доведено.

Примітка (до леми 4). Оскільки в доведенні розглядаються лише роботи, які запізнюються, а в послідовності  ВП порядок (28) для таких робіт зберігається, то ця лема справедлива також і для послідовності  ВП . Лема 5. Вставка роботи [g] в послідовності  WSPT із інтервалом B  B( p, g ) може вияви-

тись продуктивною лише якщо i  B : Si  0 . Доведення. Нехай i  B : Si  0 . Результат отримується аналогічно другій частині леми 4. Доведено. Примітка (до леми 5). Як і для леми 4, цей результат справедливий для послідовності  ВП . Будемо позначати T ( )   j  J : T j ( )  0

та

S ( )   j  J : S j ( )  0 .

Якщо зрозуміло, яка послідовність мається на увазі, далі вона може не вказуватись. Введемо подібні позначення також для робіт на позиціях з заданого інтервалу, а саме T ( p, g )  [ j ]  J , j  p, g : T[ j ]  0 ,

 S ( p , g )  [ j ]  J , j  p, g : S

[ j]

  0 .

При цьому конкретна послідовність не вказується та розуміється з контексту. Лема 6. Якщо в послідовності  WSPT жодній роботі [g], яка запізнюється, не передує робота [i], S[ i ]  0 , i  1, g  1 , для якої виконується d[ i ]  d[ g ]  p[ g ] ,

(36) то не існує продуктивних перенесень робіт, які запізнюються. Доведення. Спочатку покажемо, що робота із резервом часу, для якої не виконується (36) не може безпосередньо передувати роботі, яка запізнюється. Нехай робота із резервом часу призначена на позиції i, а наступна за нею робота запізнюється, тобто d[i ]  C[ i ] , d [ i 1]  Ci 1 , тоді d[ i ]  d[ i 1]  p[ i 1]  C[ i 1]  p[ i 1]  C[ i ] . Отримали протиріччя, що і доводить вихідне положення. Розглянемо можливі вставки. З огляду на попереднє положення умови леми можуть виконуватись лише тоді, коли на інтервалі вставки роботи [g], яка запізнюється, відсутні роботи з резервами. Тоді результат випливає з леми 5.


Побудова ПДС-алгоритму розв’язання задачі мінімізації сумарного зваженого запізнення …

Тепер будемо розглядати можливі перестановки. Знову, з огляду на попереднє положення на інтервалі перестановки у всіх робіт відсутні резерви, і результат отримується аналогічно доведенню першої частини леми 4. Залишилось показати, що перестановка роботи [q] із резервами, для якої не справедливе (36), на позицію роботи [g], що запізнюється, не є продуктивною. При цьому на інтервалі перестановки F  F  q , g  можуть бути присутні інші роботи, що запізнюються. Позначимо позицію роботи, що запізнюється на інтервалі F та призначена найраніше, через g  . Маємо S[ q ]  d[ q ]  C[ q ]  d[ g  ]  C[ q ]  p[ g  ]   C[ g  ]  C[ q ]  p[ g  ] 

g  1

i  q 1

p[ i ] .

 F  w[ q ]  P( F )  S[ q ]    wi min Ti , p[ q ]    w[ q ]  P ( F )  S[ q ]  

iF

iT ( q 1, g )

wi p[ q ] 

g

i g

iT ( q 1, g )

wi p[ q ]  0,

оскільки в  WSPT виконується (28). Доведено. Примітка (до леми 6). Висновок леми зроблений з використанням WSPT-порядку (28) лише тих робіт, які запізнюються, тому лема справедлива також і для послідовності  ВП . Лема 7. В послідовності  WSPT додаткові резерви часу на інтервалі вставки B ( p , g ) роботи [g], яка запізнюється, можуть утворювати лише роботи [k], k  1, p  1 , для яких S[ k ]  0 , d[ k ]  d[ g ]  p[ g ] та d[ k ]  C[ p ]  p[ p ]  C[ p 1] .

(37)

Доведення. Зрозуміло, що роботи, які вносять додаткові резерви часу на інтервал вставки, мають відповідати умовам, за яких вставка буде продуктивною (лема 6), тому d[ k ]  d[ g ]  p[ g ] . Додаткові резерви на інтервалі вставки утворюють лише роботи, для яких виконується (32), звідки T[ g ] 

g

i  p 1

p[ i ] ,

d[ k ]  p[ g ]  d[ g ]   p[i ] , i 1

p 1

d[ k ]   p[i ]  C[ p ]  p[ p ] . i 1

Це автоматично означає, що S[ k ]  0 . Доведено. Примітка (до леми 7). В доведення цієї леми використовується лема 6, справедлива для послідовності  ВП , отже і сама ця лема також справедлива для  ВП . Теорема 1. Нехай в послідовності  ВП [g] – робота, що запізнюється. Тоді зменшення значення цільової функції при переміщенні [g] на більш ранні позиції в результаті перенесень робіт можливі лише за виконання наступних умов: 1) i  B ( g ) : Si  0, d i  d[ g ]  p[ g ] ;

2) q : q  g , d[ q ]  C[ g ] ; 3) q : q  g , C[ g ]  d[ q ]  C[ g ]  p[ g ] ,

g 1  g   w[ q ]   p[ i ]   p[ i ]    wi p[ q ]  i  q 1  i  q 1  iT ( q 1, g )

 w[ q ]  p[ i ] 

63

p

min  C[ g ]  d[ g ] , p[ q ]  w[ g ]   C[ g ]  d[ q ]  w[ q ]  0 .

4) i  B( g , p), Si  0 k : k  p, S[ k ]  0, d[ k ]  C[ p 1] , d[ k ]  d[ g ]  p[ g ] . Доведення. Усі твердження випливають з попередньо викладеного матеріалу. Твердження 1 випливає з леми 6, якщо додатково використати лему 3. Твердження 2 та 3 випливають з (29) та леми 1. Мається на увазі перестановка з інтервалом F (q, g ) , в результаті якої зміна цільової функції буде мати вигляд  F  f[ q]   wi min Ti , p[ q ] . iF

Якщо d[ q ]  C[ g ] , S[ q ]  P ( F ) , і тому  F  0 (твердження 2). Якщо ж C[ g ]  d[ q ]  C[ g ]  p[ g ] , P ( F )  S[ q ]  0 , і

 F  w[ q ]  P ( F )  S[ q ]   w[ g ] min  C[ g ]  d[ g ] , p[ q ]  .

Щоб  F  0 , повинна виконуватись умова твердження 3. Твердження 4 є повторним ствердженням леми 7. Доведено. Наслідок 1 (до теореми 1). Якщо в послідовності  ВП T  1 та для жодної з робіт [g], які запізнюються, не виконуються твердження 1-4


64

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

теореми 1, то  ВП оптимальна. Це саме стосується і послідовності  WSPT . Нехай в послідовності  WSPT робота [g], що запізнюється, в результаті вставки із власним інтервалом зайняла позицію m  pmin ( g ) , але запізнюватись не перестала. Позначимо отриману послідовність  [ g ] , помітимо роботу [m] в цій послідовності символом «*». Лема 8. В послідовності  [ g ] робота [k], де k  m  1, g , може бути переміщена на більш ранню позицію в результаті продуктивної вставки (якщо на інтервалі вставки резерви відсутні, див. лему 5) лише в результаті перестановки [m]* після роботи [k]. Доведення. Виразимо зміну значення цільової функції для випадку перестановки [m]* на позицію k. Будемо розглядати випадок, коли Si  0, i  F , і  F  w[ m ] P( F )   wi min Ti , p[ m ]   iF

k

 w[ m ] p[ i ]  w[ i ] min  Ci  d i , p[ m ]  .   i  m 1

Розіб’ємо інтервал перестановки F на дві підмножини: F  P  Q, P  Q   , P  i  F : p[ m ]  Ci  d i  ,

Q  i  F : p[ m ]  Ci  d i  ,

 F    w[ m ] pi  wi  Ci  di    iP

   w[ m ] pi  wi p[ m ] . iQ

Винесемо з кожного члену суми вираз pi p[ m ] , позначимо C d i  i i , i  P , p[ m ] тоді i   0,1 , i  P . Маємо

w w   F   pi p[ m ]  [ m ]  i i   iP  p[ m ] pi  w w   pi p[ m ]  [ m ]  i . iQ  p[ m ] pi  Якщо P  Q або i близькі до 1, F може бути менше нуля, оскільки w[ m ] p[ m ]  wi pi , i  F ( m, g ) . Доведено.

Означення 8. Робота [ g ]  T ( ВП ) , для якої виконується k  g : S[ k ]  0, d[ k ]  d[ g ]  p[ g ] , називається конкуруючою. Означення 9. Робота із резервом часу, що належала інтервалу вставки B ( p , g ) роботи [g], яка запізнюється, та після вставки роботи [g] на позицію p починає запізнюватись, називається породженою. Кількість ітерацій запропонованого алгоритму визначається числом конкуруючих робіт у послідовності  ВП . На k-й ітерації шляхом направлених продуктивних перенесень будується оптимальна підпослідовність на інтервалі 1, k ,

де k – позиція k-ї конкуруючої роботи у  ВП . Послідовність, отриману до початку k-ї ітерації алгоритму будемо позначати як  k . 1   ВП . Означення 10. Межею оптимальності послідовності  k на ітерації k етапу оптимізації ПДС-алгоритму буде позиція  k така, що робо-

ти [1], ,[ k ]   k утворюють оптимальну підпослідовність. Введемо правила призначення міток при виконані перенесень робіт в послідовності, що розглядається на k-й ітерації етапу оптимізації. В цій послідовності символом «*» позначаються роботи, які запізнювались в  k та в результаті виконання перенесень переміщуються на більш ранні позиції, використавши при цьому резерви часу передуючих робіт. Символом «**» помічаються роботи, до цього позначені «*» (вони запізнювались в послідовності  ВП ), які в результаті перенесень перемістилися на пізніші позиції, але ці позиції не відповідають пріоритетам цих робіт. За роботами, що помічені «*» та «**» в послідовності  k можуть слідувати роботи із більшим пріоритетом, які запізнюються. Таким чином структура  k наступна. У вихідній послідовності  ВП для робіт, що запізнюються, зберігається порядок відповідно до (28). Пріоритетну впорядкованість порушують завдання із мітками, які в результаті перестановок та вставок використали резерви часу передуючих робіт та перемістились з позицій, що відповідають їхнім пріоритетам, на більш ранішні позиції, що дозволило покращити значення цільової функції.


Побудова ПДС-алгоритму розв’язання задачі мінімізації сумарного зваженого запізнення …

Теорема 2. Нехай в послідовності  k [g] – робота, що запізнюється. Тоді зменшення значення цільової функції при переміщенні [g] на більш ранні позиції в результаті перенесень робіт можливі лише за виконання умов 1-4 теореми 1, або ж якщо i  1, g  1, S[ i ]  0, [ m ] [ m ]  ,

[ m ] p[ m ]

[ g ] p[ g ]

, m  g.

Доведення. Випливає із структури  k та леми 8. Доведено. На кожній ітерації алгоритму виконуються наступні типи перенесень робіт. Виконуються перестановки (тільки якщо вони продуктивні): - робіт, для яких резерв часу додатний; - робіт, що використали резерви в результаті перестановок та вставок, за умови, що за ними слідують роботи, які запізнюються та мають не менший пріоритет. Виконуються наступні типи вставок (якщо вони знижують запізнення відповідної роботи): - вставки робіт за наявності резервів часу на інтервалі вставки; - вставки після внесення резервів на відповідний інтервал за твердженням 4 теореми 1. Примітка (до теореми 2). Теорема 2 не тільки постулює умови оптимальності послідоності  k , а й стверджує, що за неможливості виконання жодного типу перенесень із описаного набору отримана оптимальна послідовність. Таким чином за допомогою комбінації запроваджених перенесень завжди можна отримати оптимальну послідовність. Можна виключати деякі операції перенесення, використовуючи так звані правила домінування. Правилом домінування називається твердження про те, що при виконанні певного співвідношення між параметрами задачі одна робота обов’язково передує іншій хоча б в одному оптимальному розкладі. Багато правил домінування були запропоновані в [8, 9, 10]. Використовуючи ці правила будується асиметричне транзитивне відношення передування, що відображає частковий порядок слідування робіт в деякому оптимальному розкладі. Нехай таке відношення було побудоване на множині J , позначимо його M. Воно може задаватись, наприклад, за допомогою матричного представлення. Якщо  j , k   M , будемо це

65

записувати як j  k . Роботи j , k  J не обов’язково суміжні. Наступна теорема вказує стратегію використання цього відношення для скорочення кількості перенесень. Теорема 3. Нехай з’ясовано, що i  j . Тоді в ході виконання алгоритму на послідовності  k можна приймати наступні рішення, які виключають лише непродуктивні перенесення: 1) замість інтервалу вставки B ( p , g ) роботи j = [g], яка запізнюється, береться інтервал B ( q, g ) , i = [q], q > p; 2) нехай j – чергова конкуруюча робота, що знаходиться на позиції g, i  B ( g ) , причому i  T , i  [ r ] , тоді оптимізація здійснюється на інтервалі r  1, g  1 ; 3) нехай i – це k-та конкуруюча робота, що знаходиться на позиції g в послідовності  k , в послідовності

 k 1

вона

займає

позицію

q  pmin ( g ) , тоді робота j, що є наступною конкуруючою, в оптимальному розкладі не може зайняти позицію, меншу ніж q+1. Доведення. Доведемо сформульовані правила по черзі. Вставка роботи [ g ] на позицію q  pmin ( g ) є продуктивною відповідно до леми 5. Вставка на позицію p  q порушить відношення передування, та буде в кінці кінців відмінена зворотною перестановкою або перестановками відповідно до теореми 2. Це доводить правило 1. Правило 2 є коректним, оскільки резервів робіт, що знаходяться на інтервалі 1, r  1 , виявилось недостатньо для зменшення запізнення роботи i  [ r ] на попередніх ітераціях, і тому з цього інтервалу резерви не можуть бути внесені до власного інтервалу вставки роботи j  [ g ] . Залишився варіант, коли [r ] – робота із міткою, але вона не може слідувати за j , отже її перестановка не виконується. Правило 3 є очевидним для поточної ітерації. На всіх інших ітераціях воно справедливе щодо найбільшої позиції попередніх конкуруючих робіт. Доведено. Теорема 4. Якщо в  k конкуруюча робота i = [g] після виконання усіх можливих перенесень не перемістилася, оптимальне значення критерію відповідає позиції g, яку займає ця


66

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

робота, та з конкуруючих виключаються усі роботи, [ j ], j  g  1, r , якщо j  g  1, r [ j ]  T , r  n, [ g ]  [ j ] . Доведення. Для доведення використовується твердження 3 теореми 3 та лема 5. Доведено. Елементарні операції алгоритму

Тут і далі поточною роботою будемо називати конкуруючу або породжену роботу, що запізнюється, та для якої виконуються перенесення, спрямовані на зменшення її запізнення. Для полегшення опису та супроводження реалізацій досліджуваного ПДС-алгоритму розв’язання задачі, в ньому зручно виділити логічно окреслені елементарні операції, коректність роботи яких можна перевіряти окремо. Їх перелік наступний: 1) виконання усіх вільних перестановок на деякому інтервалі робіт на позиціях p, g ; 2) спроба зменшення цільової функції за рахунок використання заданою роботою [g], яка запізнюється, резервів робіт на інтервалі p , g , що не пов’язано із внесенням резервів часу в середину інтервалу вставки (виконання незалежної перестановки); 3) операція вставки поточної роботи, що запізнюється, із наступним упорядкуванням за незростанням пріоритетів усіх робіт на інтервалі p, g ; 4) виконання усіх можливих перестановок, які призначені для внесення додаткових резервів часу в середину інтервалу вставки за рахунок робіт, що мають ці резерви та передують фактичній позиції вставки поточної роботи, яка запізнюється (внесення додаткових резервів Ф

часу в інтервал p , g , переглядаються роботи на інтервалі 1, p  1 ); 5) оптимізація поточної роботи [g], яка запізнюється (для неї знаходиться фактичний інтервал вставки, що позначається як pФ , g , а також відбувається оптимізація за рахунок резервів робіт на позиціях до pФ – ця операція включає в себе попередні дві); 6) оптимізація інтервалу робіт на позиціях 1, g за рахунок робіт із мітками (декомпозиційна складова алгоритму). Ф

Окремими операціями можна вважати також перевірку умов оптимальності послідовностей робіт  WSPT ,  ВП (наслідок теореми 1),  k (наслідок теореми 1), але ці операції виконуються безпосередньо. Наведемо формальний опис виконання вільних перестановок на інтервалі p, g. Ці перестановки завжди продуктивні за твердженням 2 теореми 1. Елементарна операція 1 (виконання вільних перестановок). 1. Обчислити множину  k , q  p, g , k  q,    Y  (k , q) : C[ q ]  d[ k ]  C[ q 1] ,  .   i  k  1, q : S[i ]  0  2. Поки Y   виконувати: вилучити з Y пару  k , q  , де [k ] має найбільший директивний строк серед усіх робіт у Y, виконати перестановку [k ] на позицію q . Примітка (до елементарної операції 1). Якщо необхідно здійснювати лише вільні перестановки, що зменшують запізнення деякої заданої роботи [ g] , роботи з Y , що стоять на позиціях k  g   q  g  , не розглядаються. Операція виконання незалежної перестановки базується на твердженні 3 теореми 1, Формальний опис її здійснення подано нижче. Елементарна операція 2 (виконання незалежної перестановки). 1. Знайти роботу [l ], l  p, g (на її позицію в середині інтервалу не накладається жодних обмежень), для якої виконується d[ l ]  C[ g ]  p[ g ] , w[ l ]  C[ g ]  d[ l ]   w[ g ] min  p[ l ] , C[ g ]  d[ g ]  .

2. Якщо така робота знайдена, виконати перестановку роботи [l] на позицію g, після чого помітити [g] символом «*». Після виконання вставки поточної роботи, що запізнюється, з позиції g на позицію p, потрібно усі роботи з інтервалу вставки впорядкувати у відповідності до їх пріоритетів, оскільки цьому інтервалі можуть знаходитись роботи, які були перенесені в результаті вільних перестановок та які порушують пріоритетну впорядкованість. Враховуючи таку необхідність, вставка роботи має виконуватись наступним чином.


Побудова ПДС-алгоритму розв’язання задачі мінімізації сумарного зваженого запізнення …

Елементарна операція 3 (вставка поточної роботи). 1. Виконати вставку роботи [g] на позицію p , помітити цю роботу символом «*».

2. Впорядкувати на інтервалі p  1, g роботи в порядку (28), знищуючи при цьому мітки «*» та «**» усіх робіт на цьому інтервалі. 3. Виконати на інтервалі p  1, g усі можливі вільні перестановки, кінець. Внесення додаткових резервів часу включається в елементарну операцію оптимізації поточної роботи. Вона виконується після вставки поточної роботи і перед виконанням цієї операції поточна робота вже знаходиться на позиції p (тобто внесення резервів на інтервал супроводжується його розширенням). Опишемо формально хід виконання цієї операції на інтервалі 1, p  1 . Елементарна операція 4 (внесення резервів часу на інтервал вставки поточної роботи): 1. Виконати вільні перестановки, що зменшують запізнення роботи [p], після чого перевизначити p ; якщо робота [p] перестала запізнюватись, кінець; інакше перейти на крок 2. 2. Знайти роботу [l], l  p , для якої виконується S[l ]  0, d[ l ]  s[ g ] , d[l ]  C[ p 1] ; якщо така робота була знайдена, перейти на крок 3; інакше кінець. 3. Виконати перестановку роботи [l] на позицію p , покласти p : p  1 ; якщо [l] перестала запізнюватись, кінець; інакше перейти на крок 1. Примітка (до елементарної операції 4). Перегляд робіт-кандидатів відбувається починаючи з тих, що мають менший пріоритет. Під час оптимізації робиться спроба усунути запізнення поточної роботи спочатку за рахунок резервів робіт на її фактичному інтервалі вставки, а якщо їх недостатньо, то за рахунок внесення додаткових резервів робіт, що передують цьому інтервалу. У випадку, коли поточна робота після оптимізації все одно запізнюється, зміни, що були здійснені, відміняються, і подальша оптимізація проводиться за рахунок робіт із мітками (реалізується декомпозиційна складова алгоритму). Далі слідує формальний опис операції виконання оптимізації поточної роботи j  T ,

67

j  [ g ] (позначимо найпізніший момент початку виконання роботи j як s j  d j  p j ).

Елементарна операція 5 (оптимізація поточної роботи). 1. Знайти попередню позицію вставки p із Якщо співвідношення C[ p 1]  s[ g ]  C[ p ] .

C[1]  s[ g ] , p : 1. 2. Фактична позиція вставки pФ покладається рівною pФ : max  p, i  1, k  1 , p  i 1  g, p  k 1  g, w[i ]  w[i ]  w[ g ]   , [k ]  [ g ]. p[i ]  p[i ]  p[ g ]   3. Запам’ятати поточну послідовність, позначивши її Ф . Виконати вставку роботи j на позицію pФ . Якщо робота перестала запізнюватись, то кінець; інакше перейти на крок 4. 4. Здійснити спробу внести додаткові резерви часу в інтервал вставки роботи j; якщо в результаті цього робота j перестала запізнюватись, кінець; інакше повернутись до послідовності Ф , перейти на крок 5. 5. Для кожної роботи [i ] , i  pФ  1, g  1 в послідовності Ф виконувати: якщо S[ i ]  0 та d[i ]  s[ g ] , виконати вставку j  [ g ] на позицію

i, кінець (якщо на інтервалі будуть безрезультатно переглянуті усі роботи, поточна робота залишається на своїй позиції у розкладі). Оптимізація заданого інтервалу робіт за рахунок вивільнення зайнятих ресурсів роботами із мітками – це елементарна операція, що реалізує декомпозиційну складову алгоритму. Ця елементарна операція включає рекурсивний виклик оптимізаційного етапу ПДС-алгоритму для підпослідовності робіт. Декілька таких підпослідовностей можуть бути проаналізовані паралельно, таким чином запроваджуючи у алгоритм масштабованість на паралельні обчислювальні системи. Формальний опис проведення цієї операції подано нижче. Поточна робота призначена на позицію g. Елементарна операція 6 (декомпозиційна складова алгоритму). 1. Знайти роботу [m] [ m ]  на інтервалі 1, g  1 , для якої


68

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

w[ m ]  C[ k ]  d[ m ]    i m w[i ]T[i ] . g

Якщо такі роботи не знайдено, кінець; інакше покласти w[ m ] w[ g ]   ,  g , якщо p[ m ] p[ g ] k :   s, інакше,  де s  1 – позиція першої роботи без мітки, пріоритет якої менше пріоритету роботи [m]

[m]  , s  m , перейти на крок 2. 

2. Зберегти значення цільової функції та порядок робіт у поточній послідовності, позначивши її як  Ф . 3.

[ m ]  

[m] на позицію k, що була визначена на

Виконати перестановку роботи

кроці 1 та яка відповідає пріоритету цієї роботи. 4. Виконати етап оптимізації на інтервалі 1, g  1 (рекурсивний виклик), поклавши значення параметру  : m  1 , де  – межа оптимальності. 5. Обчислити значення цільової функції отриманої послідовності (позначивши її через  H ) та порівняти його із значенням цільової функції для послідовності Ф . Якщо значення цільової функції не зменшилось, повернутись до послідовності Ф , та перейти на крок 1, виключаючи із розгляду роботу [m] [ m ]  ; ін-

акше перейти на крок 6. 6. Якщо робота [m] ([m] ) зайняла позицію, що відповідає її пріоритету; позначення «*» («**») для неї знімається; інакше вона безумовно позначається символом «**». 7. Покласти g : m (робота із міткою, що розглядалась, стає поточною), перейти на крок 1. Примітка (до елементарної операції 6). Роботи із мітками розглядаються в порядку, зворотному їх маркуванню (спочатку розглядається робота, помічена останньою). Формальний опис алгоритму

В попередньому розділі був даний формальний опис алгоритмів виконання усіх елементарних операцій ПДС-алгоритму. Тепер, використовуючи ці елементарні операції як операції більш високого рівня абстракції, наведемо формальний опис логіки ПДС-алгоритму в цілому,

який складається із двох етапів: попереднього етапу та етапу оптимізації. Попередній етап об’єднує наступні кроки: 1. Знайти початкове відношення M передування, використовуючи певний набір правил домінування. 2. Впорядкувати роботи в порядку (28), отримуючи послідовність  W SPT ; перевірити умови оптимальності цієї послідовності (наслідок теореми 1), якщо вони справджуються, то кінець; інакше перейти до кроку 3. 3. Виконати усі можливі вільні перестановки в послідовності  W SPT отримавши таким чином послідовність  ВП ; перевірити умови оптимальності цієї послідовності (наслідок 1 теореми 1), якщо вони справджуються, то кінець; інакше перейти до першого кроку етапу оптимізації. Опишемо кроки етапу оптимізації. Нехай  – позиція передуючої роботи, що запізнювалась і яка розглядалась на попередній ітерації етапу оптимізації, вона буде межею оптимальності на поточній ітерації. 1. Знайти чергову роботу [g], яка запізнюється на інтервалі   1, n ; якщо така робота відсутня, то кінець; інакше перейти на крок 2. 2. Якщо для [g] виконується l  g : S[ l ]  0, d[ l ]  s[ g ] , тобто вона є конкуруючою, виконати наступні кроки; інакше перейти на крок 3: 2.1) перевірити умови оптимальності послідовності  k , якщо вони справджуються, то кінець; інакше перейти на крок 2.2; 2.2) перевірити, чи можна виключити роботу [g] з множини конкуруючих робіт, для цього перевірити для неї умови теорем 3 та 4; якщо це так, покласти  : g , доповнити відношення передування M, перейти на крок 1; інакше перейти на крок 2.3; 2.3) запам’ятати поточне значення цільової функції та послідовність  k , розпочинається нова ітерація алгоритму, перейти на крок 3. 3. Зробити спробу виконати незалежну перестановку; якщо перестановка продуктивна та робота [g] перестала запізнюватись, покласти  : g   g  1 ( g  – нова позиція поточної роботи після незалежної перестановки), перейти на крок 1; інакше перейти на крок 4.


Побудова ПДС-алгоритму розв’язання задачі мінімізації сумарного зваженого запізнення …

4. Провести оптимізацію роботи [g]. Якщо робота перестала запізнюватись, покласти  : g  , перейти на крок 1; інакше перейти на крок 5. 5. Оптимізувати поточну роботу за рахунок робіт із мітками на інтервалі 1, g  , перевизначити g  , покласти  : g  та перейти на крок 1. Характеристика поліноміальної складової алгоритму

Якщо в процесі розв’язання довільної індивідуальної задачі виконуються строго визначені логіко-аналітичні умови, то ця індивідуальна задача розв’язується поліноміальним підалгоритмом (елементарні операції 1-5) точно із часовою складністю, що є поліномом від потужності розкладу. В наступних твердженнях розглядаються окремі випадки, коли оптимальний розв’язок задачі досягається відпрацюванням поліноміальної складової алгоритму. Лема 9. Якщо відношення передування на деякій ітерації утворює повний порядок, то оптимальну послідовність можна отримати, сортуючи роботи відповідно до цього порядку. Часова складність в цьому випадку – O (n) . Лема 10. Нехай в послідовності  WSPT виконується: max S i   pk k : C k  pk  0 , i J

тоді оптимальне значення критерію досягається за поліноміальний час із складністю O(n2 ) . Доведення. Існуючі резерви кожного завдання в цьому випадку може використати лише одна конкуруюча робота. Складність визначається процедурою вибору найбільш ефективної позиції вставки кожної роботи, що запізнюється, і потребує O(n2 ) операцій. Доведено. Лема 11. Нехай в послідовності  ВП [g] – найперша робота, яка запізнюється. Якщо на інтервалі 1, g  1 роботи зберігають порядок (28), max  Si   p[ g ] , iJ

та  s  g  1, n S[ s ]  0 ,

ps  p g , d s  d g ,

то задача розв’язується за поліноміальний час із складністю O(n2 ) .

69

Доведення. При виконанні умов леми процедура вставки реалізується лише для єдиної конкуруючої роботи. Складність визначається операцією побудови 2 послідовності  ВП , що складає O(n ) . Доведено. Лема 12. Нехай під час виконання кожної ітерації оптимізації за вставки чергової роботи [ g ]  T виконується: 1) фактична позиція вставки pФ виявляється більшою за позицію усіх робіт із мітками; 2) на інтервалі 1, pФ  1 відсутні роботи, для яких виконується твердження 1 теореми 1; 3) перестановки робіт із мітками з інтервалу 1, pФ  1 на інтервал вставки чергової роботи, що запізнюється, є непродуктивними. Тоді задача розв’язується за поліноміальний час із складністю O(n3 ) . Доведення. При виконанні цих умов для кожної поточної послідовності  k виконуються

умови леми 11. Кількість ітерацій обмежена кількістю робіт в множині J , отже складність виконання алгоритму в цьому випадку не буде перевищувати O(n3 ) . Доведено. Теорема 5. Поліноміальна складова алгоритму, заснована на лемах 10–12, має часову складність O(n3 ) . Доведення Найскладніший випадок реалізації поліноміальної складової описаний в лемі 12, та складає O(n3 ) . Таку саму складність має операція побудови матриці транзитивного відношення передування M. Доведено. Висновки

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


70

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

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

лонним алгоритмом математичного програмування, в якому використовуються відомі результати [3, 4].

Перелік посилань

1. 2. 3.

4. 5. 6. 7.

8. 9. 10.

Jensen J.B., Philipoom P.R., Malhotra M.K. Evaluation of scheduling rules with commensurate customer priorities in job shops // Journal of Operations Management. – 1995, Vol.13. – P.213-228. Mason S.J., Fowler J.W., Carlyle M. A modified shifting bottleneck heuristic for minimizing total weighted tardiness in complex job shops // Journal of Scheduling. – 2002, Vol. 5 (3). – P.247-262. Sen T., Sulek J.M. Dileepan P. Static Scheduling Research to Minimize Weighted and Unweighted Tardiness: A State-of-the-Art Survey // International Journal of Production Economics. – 2003, Vol. 83 – P.1-12. Koulamas C. The Single-Machine Total Tardiness Scheduling Problem: Review and Extensions // European Journal of Operational Research. – 2010. – Vol. 202 (1). – P.1-7. Lawler E.L. A "Pseudopolynomial" Algorithm for Sequencing Jobs to Minimize Total Tardiness // Annals of Discrete Mathematics. – 1977, Vol. 1. – P.331-342. Згуровский М.З., Павлов А.А. Принятие решений в сетевых системах с ограниченными ресурсами: Монография.– К.: Наукова думка. – 2010. – 573 с. Павлов А.А., Мисюра Е.Б. Новый подход к решению задачи «Минимизация суммарного взвешенного опоздания при выполнении независимых заданий с директивными сроками одним прибором» // Системні дослідження та інформаційні технології. – 2002, № 2. – С.7-32. Rinnooy Kan, A.H.G., Lageweg B.J., Lenstra J.K. Minimizing Total Costs in One-machine Scheduling // Operations Research. – 1975, Vol. 23. – P.908-927. Kanet, J.J. New precedence theorems for one-machine weighted tardiness // Mathematics of Operations Research. – 2007, Vol. 32. – P.579–588. Akturk M.S., Yildirim M.B. A New Lower Bounding Scheme for the Total Weighted Tardiness Problem // Computers Operations Research. – 1998, Vol. 24 (4). – P.265-278.


УДК 619.63

БЕРЕНДЕЕВ Е. А., ИВАНОВ А. В., ЛАЗАРЕВА Г. Г., СНЫТНИКОВ А. В. ЭФФЕКТИВНОЕ ИСПОЛЬЗОВАНИЕ СУПЕРЭВМ ДЛЯ РЕШЕНИЯ БОЛЬШИХ ЗАДАЧ ФИЗИКИ ПЛАЗМЫ МЕТОДОМ ЧАСТИЦ В ЯЧЕЙКАХ Рассмотрены задачи взаимодействия релятивистского электронного пучка с плазмой и динамики плазменных электронов в ловушке с инверсными магнитными пробками и мультипольными магнитными стенками. Модели построены на основе метода частиц в ячейках. Такие задачи требуют большого объёма вычислений и могут быть решены только с применением мощных суперЭВМ. Для равномерной и полной загрузки вычислительных узлов выполнена смешанная эйлерово-лагранжевая декомпозиция. Такой подход позволяет достичь высокой масштабируемости параллельного алгоритма. В результате вычислительных экспериментов удалось воспроизвести модуляцию плотности плазмы при взаимодействии с релятивистским электронным пучком и получить траектории плазменных электронов в магнитной ловушке. Two problems of computational plasma physics are considered. The first is the interaction of relativistic electron beam with plasma. The second is plasma electron dynamics in the magnetic trap with inverse magnetic mirrors and multipole magnetic walls. The models are built on the basis of Particle-In-Cell method. The problems of this sort require large amount of computations. Thus they are feasible only with supercomputers. In order to achieve uniform and complete workload of the computational nodes of a supercomputer mixed Eulerian-Lagrangian decomposition is used. As a result of computational experiments on the interaction of relativistic electron beam with plasma the density modulation was reproduced that occurs also in real experiments. For the problem of plasma electron dynamics in the magnetic trap the trajectories of electrons were obtained. 1. Введение

Полноценное исследование физических процессов в плазме может быть проведено только при комплексном подходе, сочетающем как экспериментальные исследования, так и исследования вычислительными методами, адекватно описывающими эти процессы. Для того чтобы избежать упрощений и получить качественно правильную физическую картину, необходимо построить максимально полную математическую модель. Общепринято, что хорошей исходной моделью полностью ионизованной бесстолкновительной плазмы является система уравнений, состоящая из кинетических уравнений Власова [1] для функций распределения ионов и электронов и уравнений Максвелла с самосогласованными электромагнитными полями:  f f   f   v   F   0 , t r p

  4  1 E rotH  j , c c t  1 H rotE   , c t

(1) (2) (3)

 div E  4 , (4)  div H  0 . (5) Здесь индексом  обозначается сорт частиц   (ионы и электроны); f  (r , v , t ) – функция распределения частиц сорта  ; q – заряд; m –  масса частицы; j – плотность тока;  –  плотность пространственного заряда; E –  напряжённость электрического поля; H – напряжённость магнитного поля. При этом  q  1   (6) F   ( E  [v , H ]) , m c    j   q  f  v d v , (7) 

   q  f  dv .

(8)

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


72

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

самосогласованном электромагнитном поле. При этом каждая модельная частица характеризует движение многих реальных частиц и становится носителем некоторого набора характеристик среды, таких как заряд, масса, импульс, кинетическая энергия и т.д. Часто для исследования тонких физических эффектов, а также для уменьшения уровня нефизических шумов необходимо использовать до 109  1011 частиц и 106  108 узлов сетки. Несмотря на внутренний параллелизм метода частиц – траектории модельных частиц могут быть вычислены независимо друг от друга – построение параллельного масштабируемого алгоритма представляет собой нетривиальную задачу и может зависеть от рассматриваемого физического процесса. В настоящей работе построение такого алгоритма рассматривается для двух различных физических задач – взаимодействия релятивистского электронного пучка с плазмой и динамика плазменных электронов в магнитной ловушке. Обе задачи рассматриваются в двумерной постановке.

     j (r , t )   q j v j (t ) R(r , r j (t )) .

(12)

j

Здесь q j – заряд частицы с номером функция

  R ( r , r j (t ))

(функция

j;

ядра)

характеризует форму, размер частицы и распределение в ней заряда. В настоящей работе плотности заряда и плотности тока вычисляются по формулам, предложенным Вилласенором и Бунеманом [3]. При таком подходе разностный аналог уравнения (4) выполняется автоматически, что позволяет существенно сократить время вычислений. Для нахождения электрических и магнитных полей обычно используется схема, предложенная Лэнгдоном и Лазинским [4] в 1976 г., в которой которых поля определяются из разностных аналогов законов Фарадея и Ампера:    H m1/ 2  H m1/ 2  c roth E m , (13)  m 1  m    E E  4 j m 1 / 2  c rot h H m 1 / 2 .

(14)  Таким образом, схема решения задачи на одном шаге разбивается на два этапа. На 2. Решение основных уравнений первом (лагранжевом) этапе по схеме (10) Решение уравнения Власова производится в вычисляются скорости и координаты частиц. же определяются компоненты лагранжевых координатах – характеристики Здесь  m1 / 2 и плотности заряда  m 1 . этого уравнения описывают движение плотности тока j модельных частиц: На втором (эйлеровом) этапе по схеме   dp q  1   dr  (13)-(14) решаются уравнения Максвелла, т.е.  (9) v.  ( E  [v , H ]) , dt dt m c определяются значения функций H m 1 / 2 и  В этом случае для определения траектории E m 1 в узлах сетки. Значения электрических и частиц можно использовать следующую магнитных полей, действующих на каждую схему: частицу, вычисляются с помощью билинейной  m 1 / 2  m 1 / 2   m  1 / 2 m  1 / 2    интерполяции. pi q  1 v  pi  vi , H im   ,    Eim   i m  c 2   3. Параллельная реализация алгоритма (10) Существует несколько параллельных реаЗдесь  – шаг по времени; верхний индекс лизаций метода частиц в ячейках – равномеруказывает на момент времени, в который ное распределение частиц по процессорам, вычисляется искомая функция. Индекс i эйлерова декомпозиция области и распредеуказывает на номер частицы, для которой ление частиц по процессорам в зависимости производятся вычисления. от их положения, смешанная эйлеровоУравнения Максвелла решаются в лагранжевая декомпозиция, распределение эйлеровых переменных. Необходимые для их частиц в зависимости от времени расчёта одрешения плотности заряда и тока ного шага на каждом процессоре. В настояопределяются по скоростям и координатам щей работе используется смешанная эйлероотдельных частиц: во-лагранжевая декомпозиция. Область де-

 

 (r , t )   q j R(r , r j (t )) , j

(11)

лится на несколько подобластей вдоль одного измерения. На рисунке 1 приведена иллю-


Эффективное использование суперэвм для решения больших задач физики плазмы …

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

Рис. 1. Декомпозиция области.

Как было показано в работе [5], использование эйлерово-лагранжевой декомпозиции может дать существенное ускорение расчёта по сравнению с другими реализациями – это связано с уменьшением объёма пересылаемых данных и более эффективным использованием кэш-памяти процессорных ядер. В то же время из-за декомпозиции области может возникать дисбаланс по количеству частиц на разных процессорах, что приводит к неравномерной загрузке вычислительных ядер. Использо-

73

вание одномерной декомпозиции отчасти помогает решить эту проблему. 4. Эффективность распараллеливания. Масштабируемость.

Для определения оптимального распределения процессоров по области, нами был проведён ряд вычислительных экспериментов. Расчёты проводились на следующих вычислительных системах  Суперкомпьютер «Ломоносов». Научно-исследовательский вычислительный центр МГУ имени М.В.Ломоносова, г. Москва. Процессоры Intel Xeon 5570 2932 МГц, Cache 8 Mb  Суперкомпьютер «МВС-100К» Межведомственный Суперкомпьютерный Центр РАН, г. Москва. Процессоры Intel Xeon X5450 2932 МГц, Cache 12 Mb  Суперкомпьютер «НКС-30Т» (НКСG6) Сибирского Суперкомпьютерного Центра ИВМиМГ СО РАН, г. Новосибирск. Процессоры Intel Xeon E5540 2530 МГц, Cache 8 Mb  Кластер Информационновычислительного центра «Новосибирский государственный университет», г. Новосибирск. Процессоры Intel Xeon E5540 2530 МГц, Cache 8 Mb / Intel Xeon X5670 2932 МГц, Cache 12 Mb Рассматривалась следующая задача: Число узлов 1024х1024, общее число процессорных ядер 128 Число частиц в ячейке 250 (Всего 262 144 000 частиц) Область делится 16,32,64 или 128 подобластей. На рисунке 2 показано время выполнения десяти шагов алгоритма (в секундах) в зависимости от варианта разбиения области для различных вычислительных систем.

Рис. 2. Время расчёта задачи


74

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

Как видно из рисунка 2, оптимальным разбиением используемой сетки по процессорам является декомпозиция области на 64 подобласти. Такое разбиение обеспечивает наиболее полную загрузку вычислительных ядер (меньше времени тратится на пересылки, больше на вычисления). При этом полученный результат справедлив для всех рассматриваемых суперЭВМ Также проведено исследование масштабируемости параллельного алгоритма на суперкомпьютере «Ломоносов».

В таблицах 1 и 2 представлено время расчёта одного шага (в секундах) при использовании различного количества процессорных ядер, а также полученное при этом ускорение. В связи с большим объёмом требуемой оперативной памяти, масштабируемость рассматривается относительно 256 (621 440 000 частиц) и 1024 (5 242 880 000 частиц) процессорных ядер. Использование меньшего количества процессорных ядер не представляет собой интереса с точки зрения реальных задач.

Табл.1. Время счёта одного шага (в секундах) для различного числа процессоров и полученное ускорение. Общее количество используемых процессорных ядер

256 512 1024

Число процессорных ядер на подобласть

4 8 16

Время расчёта одного шага, сек. 2,737 1,448 0,763

Ускорение по сравнению с 256 процессорными ядрами 1 1,89 3,58

Табл.2. Время счёта одного шага (в секундах) для различного числа процессоров и полученное ускорение. Общее количество используемых процессорных ядер

1024 2048 4096 8192

Число процессорных ядер на подобласть

16 32 64 128

Как видно из таблиц 1 и 2, увеличение числа процессоров внутри каждой подобласти практически не добавляет дополнительных пересылок, что обеспечивает высокую масштабируемость алгоритма – до нескольких тысяч вычислительных ядер. Существенное сокращение времени выполнения одного шага алгоритма – до 0,183 с. на 8192 процессорных ядрах – позволяет решить реальные задачи, для которых необходимо рассчитать динамику частиц до 1000 000 шагов, за разумное время – порядка нескольких суток. 5. Взаимодействие релятивистского электронного пучка с плазмой

В настоящей работе рассматриваются две различные задачи, требующие больших вычислительных ресурсов – взаимодействие релятивистского электронного пучка с плазмой и динамика плазменных электронов в магнитной ловушке. Использование суперЭВМ позволяет решить общую систему уравнений (1)(5), описывающую исследуемые физические

Время расчёта одного шага, сек.

1,411 0,778 0,362 0,183

Ускорение по сравнению с 1024 процессорными ядрами

1 1,81 3,87 7,71

процессы, не прибегая к дополнительным упрощениям. Это даёт возможность изучить эти две задачи с единых позиций. Одной из важнейших задач физики плазмы является нагрев высокотемпературной плазмы в термоядерных установках. В настоящей работе на основе численного моделирования исследуются процессы установления и нелинейной эволюции квазистационарной плазменной турбулентности, возбуждаемой мощным электронным пучком в установках УТС. Данная проблема имеет важное значение не только для экспериментов по турбулентному нагреву плазмы в открытых ловушках, где электронный пучок напрямую инжектируется в плазму, но и для схем инерциального термоядерного синтеза, где мощные электронные потоки в мишенях генерируются лазерным излучением. При этом наибольший интерес представляют параметры пучка и плазмы, которые характерны для экспериментов по нагреву


Эффективное использование суперэвм для решения больших задач физики плазмы …

плазмы в открытой ловушке ГОЛ-3 (ИЯФ СО РАН) [6]. Рассматривается следующая задача: в области, имеющей форму прямоугольника, находится полностью ионизованная плазма, состоящая из электронов и ионов. Дополнительно в область вводится пучок заряженных частиц – набор электронов, движущихся в одном направлении с достаточно большой относительно остальных частиц скоростью; предполагаются, что пучок уже полностью вошёл в моделируемую область. Модельные электроны пучка имеют меньшую массу, нежели модельные электроны плазмы (отношение их масс равно отношению плотности плазмы и плотности пучка [7]). Все частицы (как плазмы, так и пучка) распределены по области равномерно. Условия на границах области берутся периодическими.

75

Характеристики задачи: температура плазмы 500 эВ, отношение плотности пучка к плотности плазмы 2 * 10 3 . Размер области 1024 микрометра по каждому направлению. Сетка 1024х1024 узла, общее число модельных частиц 5 242 880 000. Расчёты проводились на суперкомпьютере «Ломоносов» с использованием до 8192 процессорных ядер. Была исследована эволюция плотности заряда электронного пучка с развитием плазменной турбулентности. В начальный момент времени заряд электронов пучка распределен по области равномерно. При взаимодействии с плазмой в результате резонансных колебаний образуются участки модуляции плотности – от -0,0008 до -0,0037 (при начальной плотности заряда -0,002), т.е. модуляция составляет более 200% (рисунок 3)

Рис. 3. Плотность заряда электронного пучка в единицах заряда электрона. 6. Динамика плазменных электронов в ловушке с инверсными магнитными пробками и мультипольными магнитными стенками.

Другой, не менее важной задачей физики плазмы, является получение мощных нейтральных пучков для установок управляемого термоядерного синтеза. Наиболее эффективным методом получения таких пучков является нейтрализация пучков отрицательных ионов в плазменной ловушке – мишени. В ИЯФ СО РАН предложена линейная ловушка

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


76

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

Рис. 4. Геометрия магнитной системы плазменной ловушки-мишени и силовые линии магнитного поля.

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

настоящей работе рассеяние не учитывается и будет являться предметом дальнейшего исследования. Таким образом, решается система (1)-(5) в цилиндрической системе координат. Особенностью данной задачи является движение частиц под воздействием магнитных полей с большими градиентами. Для ускорения расчёта траекторий частиц использовался динамический шаг по времени, обеспечивающий изменение напряжённости f  f  f магнитного поля не более 20% за один шаг.  v   F   St{ f } , (15) t r p Характеристики задачи: температура плазмы 5 эВ, размер области 6.1см х 1.2 см. Сетка и системой уравнений Максвелла (2)-(5). 4096х128 узлов, общее число модельных чаЗдесь St{ f } – функция, описывающая расстиц 5 242 880 000. Расчёты проводились на сеяние плазменных электронов. Решение уравнения Больцмана можно суперкомпьютере «Ломоносов» с использовасвести к решению уравнения Власова (1) и нием до 8192 процессорных ядер. На рисунке 5 показаны траектории некотокорректировке траекторий частиц с учётом рых электронов плазмы. рассеяния, используя методы Монте-Карло. В

Рис. 5. Траектории движения электронов мишенной плазмы под воздействием магнитного поля

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

7. Заключение

В работе показано, что использование современных суперЭВМ позволяет решать рассмотренные задачи физики плазмы методом частиц в ячейках, что даёт возможность с единых позиций изучать физические процессы. Обе рассмотренные задачи достаточно ресурсоёмки, для их решения необходимо использовать миллиарды модельных частиц и доста-


Эффективное использование суперэвм для решения больших задач физики плазмы …

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

77

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

Работа выполнена при поддержке интеграционного проекта СО РАН № 105 и грантов РФФИ № 11-01-00178, 11-01-00249, 12-0700065. Также коллектив авторов выражает благодарность Вшивкову В.А., Месяц Е.А. и Федоруку М.П.

Список литературы 1. 2. 3. 4. 5.

6.

7.

Власов А.А. Теория многих частиц. М.-Л.: ГИТТЛ, 1950, 348 с. Березин Ю.А., Вшивков В.А. Метод частиц в динамике разреженной плазмы. – Новосибирск: "Наука", 1980. Villasenor J., Buneman O. Rigorous charge conservation for local electromagnetic field solver. // Computer Phys. Comm. – 1992. – Vol. – 69, P.306-316. Langdon A.B, Lasinski B.F. Electromagnetic and relativistic plasma simulation models. // Meth. Comput. Phys. – 1976. – Vol.16. – P.327-366,. Берендеев Е.А., Ефимова А.А.: Реализация эффективных параллельных вычислений при моделировании больших задач физики плазмы методом частиц в ячейках. // Сборник трудов Международной научной конференции «Параллельные вычислительные технологии 2012». – 2012, – С. 380-385, Бурдаков А.В., Воропаев С.Г., Губер А.Ф., Карюкин А.В., Койдан В.С., Лебедев С.В., Меклер К.И., Мельников П.И., Никифоров А.А., Поступаев В.В., Чикунов В.В., Щеглов М.А. // Эксперименты по двуступенчатому нагреву плотной плазмы на установке ГОЛ-3. Новосибирск: Препринт ИЯФ СО РАН, 1992, – № 12, – C. 3-10, , Вшивков В.А., Снытников А.В. Вычисление температуры при моделировании высокотемпературной плазмы методом частиц-в-ячейках на суперЭВМ. // Научный вестник НГТУ, Новосибирск 2010. – №3 (40). – С:61-68.


УДК 004.27 КЛИМЕНКО І. А. ТКАЧЕНКО В.В. СТОРОЖУК О. М. МУЛЬТИПРОЦЕСОРНА СИСТЕМА НА БАЗІ ПРОГРАМОВАНИХ ПРОЦЕСОРНИХ ЯДЕР NIOS II ALTERA Надана загальна інформація щодо методології розробки мультипроцесорних систем-на-кристалі на базі ПЛІС. Розглянуті особливості застосування стандартного потоку проектування засобами SOPC Builder Altera для розробки мультипроцесорних систем. Виконано моделювання та дослідження мультипроцесору із програмованими процесорними ядрами NIOS II Altera, який призначений для високопродуктивного виконання управляючих функцій. General information of the methodology of multiprocessor systems on chip based on FPGA are provided. The features of a standard design flow facilities SOPC Builder Altera to develop multiprocessor systems are considered. Modeling and research of programmable multiprocessor cores NIOS II Altera, which is designed for highperformance control functions are completed. 1. Вступ

Мультипроцесорні системи-на-кристалі (MPSoC, Multiprocessor System on Chip) належать до класу убудованих програмованих мультипроцесорних систем (МПС) та очолюють найсучасніші тенденції розвитку цифрових убудованих електронних систем. Основна ознака таких систем – наявність більш ніж одного процесору. Потужні задачі для вирішення яких призначені сучасні вбудовані електронні системи потребують саме мультипроцесорної архітектури для досягнення режиму функціонування в реальному часі за забезпечення інших критичних обмежень, таких як споживна потужність, фізичні розміри та вартість. MPSoC є рішенням для реалізації таких складних систем. Широке коло задач, таких як обслуговування мереж, мультимедіа, управління можуть досягнути значного підвищення продуктивності від застосування систем такого класу. Ефективним застосуванням, на яке спрямовані дослідження в даній роботі, є системи управління в реальному часі, як складними технологічними процесами так і різноманітним сучасним устаткуванням: бортовими системами, радарами, супутниковими системами, робототехнікою, біологічними системами, тощо. MPSoC пропонують кращі можливості для рішення означеного кола задач у порівнянні з однопроцесорними убудованими електронними системами [1, 2]. Сучасний рівень розвитку програмованої елементної бази обумовлює найновіші та найперспективніші тенденції в оглянутій області застосування вбудованих електронних систем,

якими є програмовані мультипроцесорні системи. Програмована технологія спрощує швидке створення прототипів електронних систем та дозволяє проводити дослідження нових архітектур і технологій без проблем, пов’язаних з реалізацією електронних пристроїв на замовлених інтегральних схемах ASIC (Application-specific Integrated Circuit) [3]. Ріст можливостей сучасних ПЛІС [3] дозволяє реалізувати надскладні системи на одному кристалі, а ведучі компанії розробники ПЛІС в свою чергу пропонують можливості застосування програмованих ядер процесорів спеціально розроблених для використання в ПЛІС, та апаратних процесорних ядер. Крім того ПЛІС устатковані убудованими блоками пам’яті, периферією та схемами зв’язку. Слід також зазначити широку доступність процесу проектування та кінцевої розробки електронних пристроїв на ПЛІС, в тому числі складних мультипроцесорних систем, для широкого кола користувачів без притягнення високотехнологічного та дорогого виробничого процесу. Виробники програмованих інтегральних мікросхем разом зі своїми продуктами пропонують безкоштовні та прості в застосуванні засоби автоматизації проектування. 2. Проблеми застосування методології розробки Design Flow

Одна з найбільш розповсюджених методологій розробки вбудованих мультипроцесорних систем на базі ПЛІС має назву ручного проектування (Hand-Tuned Design – вручну налагоджуване проектування), за застосуван-


Мультипроцесорна система на базі програмованих процесорних ядер Nios II Altera

ня уніфікованого (стандартного) потоку проектування (Design Flow), який пропонують компанії виробники ПЛІС разом зі своїми САПР [3]. Дві найбільш відомі компанії пропонують засоби EDK (Embedded Development Kit) від компанії Xilinx [4] та SOPC Builder (System on a Programmable Chip Builder) від компанії Altera [14, 15 5, 6]. Основні переваги застосування потоку проектування в наступному:  простота спеціалізованих інструментів;  наявність великої кількості бібліотек стандартизованих модулів, як постачальників програмного та апаратного забезпечення, так і сторонніх виробників;  обізнаність розробників електронних пристроїв на ПЛІС різної степені кваліфікації зі спеціальними інструментами та потоком проектування. Одна з проблем застосування ручного проектування в тому, що складно дослідити та удосконалити весь простір проекту цілком для отримання найкращої можливої архітектури для конкретної задачі. Цей метод може бути гарним вибором для побудови невеликих систем, де відомо, як має бути розроблена архітектура. Іншою важливою проблемою є те, що за застосування потоків проектування компаній виробників ПЛІС неможливо реалізувати всі потреби проектування мультипроцесорних систем стосовно збільшення їх продуктивності та адаптації до класів вирішуваних задач, в тому числі «на льоту» [2]. Тобто стандартні потоки проектування обмежують в першу чергу таку важливу перевагу ПЛІС, як гнучкість проектування. Функціональність систем автоматизації проектування, запропонованих бібліотечних модулів, програмованих процесорних ядер, інтерфейсів заздалегідь зумовлена виробниками ПЛІС, окрім того інструменти для здійснення потоку проектування спочатку створені для розробки монопроцесорних систем, і мають певний ряд недоліків, коли мова йде про високопродуктивні мультипроцесорні системи. Ці проблеми були детально оговорені в роботі [2], де на підставі проведеного всебічного аналізу літературних джерел висунуті найбільш важливі недоліки стандартних потоків проектування. 1. Обмеження архітектури для реалізації міжпроцесорних комунікацій в мультипроцесорних системах. Основний проектний потік

79

SOPC Builder тільки дозволяє реалізувати загальну шину, та з’єднання типу «крапкакрапка». Та складні MPSoC можуть вимагати більш високої пропускної здатності ніж може запропонувати шина, або можуть вимагати більш ефективного використання ресурсів мікросхеми. Так слід зазначити, що така актуальна конфігурація, як мережа на кристалі (NoC, Network-on-Chip) [2] недоступна за застосування SOPC Builder і потребує розробки спеціальних засобів. 2. Відсутність ефективних механізмів сумісного застосування ресурсів. Засоби синхронізації від провідних виробників ПЛІС виявляються неефективним як метод синхронізації для високопродуктивних мультипроцесорних систем з великою кількістю процесорних ядер [1, 2, 7]. 3. Обмежена кількість процесорних ядер. Кількість ядер, що можуть бути убудовані в один дизайн обмежені виробниками бібліотек, зокрема відсутністю в них ефективних механізмів синхронізації та когерентності пам’яті для великої кількості процесорних ядер. Основним напрямком досліджень в галузі проектування програмованих високопродуктивних мультипроцесорних систем на базі ПЛІС методом налагоджування вручну на сьогодні є подолання зазначених вище недоліків та проблем шляхом втілення нових методів підвищення ефективності функціонування мультипроцесорних систем та створення на їх основі спеціалізованих засобів що дозволять отримати більш ефективні архітектури FPGA-MPSoC. В контексті оглянутих проблем виконаємо дослідження можливостей засобів SOPC Builder компанії Altera для побудови мультипроцесорної систем-на-кристалі, орієнтованої на рішення задач управління в реальному часі з відповідно ефективною для цього архітектурою [2, 8]. Мультипроцесорна система побудована на базі програмованого процесорного ядра Nios II Altera [9, 10]. 3. Організація доступу до спільних ресурсів засобами SOPC Builder

Спільні ресурси є дуже потужним аспектом ефективного функціонування багатопроцесорних систем, та важливим питанням при цьому є забезпечення сумісного використання цих ресурсів різними процесорами системи. На рис. 1 показано узагальнену блок-схему


80

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

багатопроцесорної системи, в якій два процесори розділяють загальну пам'ять (Shared Memory) на кристалі [6, 11].

вони використовують загальний ресурс, так щоб інші процесори переходили у стан очікування доступу. Доступ до спільних ресурсів в SOPC Builder відбувається за допомогою функцій апаратних мютексів (Hardware Mutex Core). 4. Забезпечення синхронізації засобами Hardware Mutex Core

Рис. 1. Мультипроцесорна система із спільними ресурсам Налагоджування загальної пам’яті виконується шляхом апаратного підключення її до кожної процесорної шини у матриці зв'язку SOPC Builder, але це не забезпечує синхронізацію дій процесорів, оскільки доступ до пам’яті процесори матимуть однаковий і можуть одночасно звернутися до пам’яті. Безпосередньо координація доступу до загального ресурсу, покладається на програмне забезпечення кожного процесору, таким чином засоби SOPC Builder пропонують програмноапаратну реалізацію доступу до загального ресурсу. Якщо під час обміну даними з загальною пам’яттю процесор записує дані в деяку область загальної пам'яті даних, а в той же час інший процесор звертається до цієї ж області пам’яті, відбувається так званий конфлікт доступу до загального ресурсу. Для унеможливлення таких ситуацій під час реалізації пам’яті програм використовують окремий адресний простір для виконавчого простору кожного процесора. Кожен процесор повинен мати свої власні унікальні секції: .txt, .rodata, .rwdata, .heap і .stack. Для реалізації пам’яті даних програми обміну даними мають бути написани, так щоб захистити цілісність даних, що зберігаються в загальній пам'яті [11]. Для синхронізації дій процесорів під час роботи із спільною пам’яттю SOPC Builder пропонує спеціальний механізм обміну за якого процесори можуть інформувати один одного, коли

Середовище SOPC Builder пропонує апаратне мютекс ядро, яке дозволяє процесорам спільно працювати та створює умови взаємовиключного доступу до спільних ресурсів в системі. Мютекс ядро діє як загальний ресурс, який забезпечує набір операцій перевірки та встановлення. Взагалі мютекс можна асоціювати із загальною змінною, яка блокується процесором на час під’єднання до загального системного ресурсу. Дані засоби дозволяють процесору перевірити доступність мютексу та встановити на нього замок одинарною операцією. Коли процесор закінчив використання загального ресурсу, мютекс розблоковується цим процесором і інший процесор може отримати можливість блокування мютекса для використання загальних ресурсів. Важливо відзначити, що мютекс ядро фізично не захищає ресурси в системі від одночасного доступу кількох процесорів. За дотримання правил цілком відповідає програмне забезпечення, що працює на процесорах, яке має завжди перевіряти мютекс перед зверненням до загальних ресурсів. Апаратне мютекс ядро з інтерфейсом Avalon, гарантує, що тільки один процесор може встановити замок на мютекс в будь-який момент часу [11]. Мютекс ядро має спеціальний інтерфейс Avalon-MM, що складається з двох 32-бітних регістрів (табл. 1), для зв’язку із загальною шиною. Таблиця 1. Карта регістрів мютекс ядра Зсув Назва регістру R/W

Опис бітів 31

0 1

mutex reset

16 15

1

0

RW OWNER VALUE RW Reserved RESET

Доступ до простого мютекс ядра надається багатьом процесорам, при цьому кожен процесор має унікальний ідентифікатор ID [12]. Основний принцип функціонування:  Коли поле VALUE має значення 0x0000, мютекс є розблокованим і доступним.


Мультипроцесорна система на базі програмованих процесорних ядер Nios II Altera

В іншому випадку, мютекс заблокований і недоступний.  Регістр mutex завжди доступний для читання. Кожний процесор, підключений до мютексу через інтерфейс Avalon-MM, може зчитувати регістр mutex, для визначення його поточного стану.  Процесор, що отримує мютекс, записує свій ID в поле OWNER, а також відмінне від нуля значення в поле VALUE. Під час доступу до загального ресурсу процесор перевіряє набуття змін шляхом перевірки поля OWNER.  Операція запису змінює mutex тільки якщо виконуються одна або обидві з наступних умов:  Поле VALUE mutex регістру встановлена в нуль.  Поле OWNER mutex регістру відповідає даним OWNER поля, які будуть записані процесором.  Після системного скидання встановлюється біт RESET в регістрі скидання. Запис до одного із бітів регістру, очищає його [12].

81

Під час використання, процесора Nios II, SOPC Builder пропонує процедури для апаратного доступу до обладнання мютекс ядра. Ці функції безпосередньо управляють мютексом на нижньому апаратному рівні. Мютекс ядро не може бути доступне через стандартні бібліотеки HAL API і ANSI C. В процесорній системі Nios II, процесор блокує мютекс, записуючи значення cpuid його регістра управління в поле OWNER mutex регістру. В системі SOPC Builder підключається лише апаратне забезпечення тобто мютекс ядро, в САПР від Altera містяться бібліотеки які надають процедури та функції для програмного управління мютеком. Тобто при використанні мютексів, велика роль покладається на програмне забезпечення, а саме на доскональність алгоритмів взамємовиключення та синхронізації під час роботі із спільними ресурсами. Файл altera_avalon_mutex.h оголошує структуру alt_mutex_dev, що представляє екземпляр мютексу. Деякі процедури для доступу до програмної структури апаратних засобів мютексу, перераховані в таблиці 2.

Таблиця 2. Процедури доступу до апаратних засобів мютекс ядра. Назва функції

Характеристика

altera_avalon_mutex_open()

Надає дескриптор мютексу, що дозволяє доступу до мютексу всім іншим функціям.

altera_avalon_mutex_trylock()

Намагається блокувати мютекс. Повертає результат як тільки не вдається заблокувати мютекс.

altera_avalon_ mutex_lock()

Блокує мютекс. Не повертає значення, поки успішно не заблокується мютекс.

altera_avalon_mutex_unlock()

Розблоковує мютекс.

altera_avalon_mutex_is_mine()

Визначає, чи заволодів цей процесор мютексом.

altera_avalon_mutex_first_lock()

Перевіряє чи був розблокований скиданням.

Далі наведений приклад програмного коду, що демонструє оголошення мютексу й роботу із ним [9]: #include <altera_avalon_mutex.h> /* отримуємо обробник мютексу*/ alt_mutex_dev* mutex = atera_avalon_mutex_open(“/dev/mutex”); /* активуємо мютекс, встановивши його значення в один */ altera_avalon_mutex_lock(mutex, 1);

/* доступ до спільного ресурсу, знято блокування */ altera_avalon_mutex_unlock(mutex);

5. Обробка переривань

Процесор Nios II підтримує апаратні та програмні переривання, які діляться на наступні категорії: нереалізовані інструкції, переривання під час виникнення непередбаченої ситуації (виключення), змішані переривання від зовнішніх пристроїв. Засоби SOPC Builder для процесорного ядра Nios II реалізують два різних механізми обробки переривань: внутрішній контролер переривань (IIC- Internal Interrupt Controller), та інтерфейс із зовнішнім


82

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

контролером переривань (EIC- External Interrupt Controller). Конфігурація процесів обробки переривань в Nios II залежить від типу контролера переривань, який обирається під час інсталяції процесора Nios II в SOPC Builder. Внутрішній контролер переривань. За допомогою контролера IIC обробка переривань реалізується за класичною схемою RISC. Всі типи переривань – програмні та апаратні, координуються однією програмою-обробником переривань (funnel) верхнього рівня. Таким чином, всі переривання обробляються програмним кодом, розташованим в одному місці, за адресою програми-обробника переривань. Контролер IIC – це простий невекторний апаратний контролер переривань. Після отримання запиту на будь-яке внутрішнє переривання IRQ, контролер IIC переміщує управління на основну адресу переривання. Апаратна частина показує, яке саме переривання IRQ має обробляється, що дозволяє програмі-обробнику маскувати окремі переривання [12]. Внутрішній контролер переривань доступний у всіх версіях процесора Nios II. Концепція обробки зовнішніх переривань. Інтерфейс контроллера EIC дозволяє процесору Nios II працювати з окремими зовнішніми компонентами для обробки переривань, наприклад із зовнішніми контролерами переривань. За допомогою інтерфейсу EIC, апаратні переривання можуть оброблятися окремо від програмних. Апаратні переривання мають окремі вектори переривань і обробники. Кожне переривання може мати власний обробник, або обробники можуть бути загальними. Обробка програмних переривань реалізована так само, як за застосування контролеру IIC. Altera пропонує свій власний зовнішній контролер переривань EIC, що має назву векторного контролера переривань (VIC) Vectored Interrupt Controller. Контролер призначений для обробки переривань від зовнішній пристроїв та забезпечує високу продуктивність з низьким рівнем затримки обробки переривань. Під час зовнішніх переривань, що відбуваються в системі, контролер VIC визначає пріоритет переривань, джерело, яке запитує переривання, обчислює адресу програмиобробника переривань (RHA), надає процесору відповідну управляючу інформацію, що включає тому числі RHA. Ядро контролера VIC містить наступні інтерфейси: до 32 портів введення переривання в VIC ядро, один Avalon-MM допоміжний інтерфейс для доступу до контроль стану зага-

льних регістрів (CSR), один Avalon Streaming (Avalon-ST), вихідний інтерфейс для передачі інформації про вибрані переривання, один додатковий Avalon-ST вхідний інтерфейс для отримання Avalon-ST виходів в системах з декількома послідовно підключеними контролерами VIC. Модуль ядра VIC готовий для використання в SOPC Builder і легко інтегрується в будь-яку сформовану засобами SOPC Builder систему. Для процесора Nios II Altera забезпечує абстрактне представлення апаратних засобів (HAL) драйвера програми ядра контролера VIC [12]. Бібліотеки програмного забезпечення контролера VIC забезпечують апаратний рівень доступу до обладнання та драйверів, які інтегруються з Nios II. Макроси для доступу до всіх регістрів визначені в бібліотеці altera_vic_regs.h. Далі в якості прикладу наведений програмний код, що демонструє структуру даних для пристрою VIC: #define ALT_VIC_MAX_INTR_PORTS (32) typedef struct alt_vic_dev { void

*base;

/* Базова адреса VIC */ alt_u32 intr_controller_id; /* Контролер переривань ID */ alt_u32 num_of_intr_ports; /* Кількість портів переривань */ alt_u32 ril_width; /* RIL ширина */ alt_u32 daisy_chain_present; /* Дейзі-ланцюг вхідного подання */ alt_u32 vec_size; /* Розмір вектору */ void *vec_addr; /* Векторна таблиця базових адрес */ alt_u32 int_config[ALT_VIC_MAX_INTR_PORTS]; /* INT_CONFIG Налаштування для кожного переривання */ } alt_vic_dev;

6. Управління кешем

Архітектура Nios II не надає апаратної когерентності кешу. Вміст кешу даних всіх процесорів, які мають доступ до загальної пам'яті, управляються програмою, основне призна-


Мультипроцесорна система на базі програмованих процесорних ядер Nios II Altera

чення якої слідкувати, щоб всі майстри читали саме останнє значення і не перезаписували нові дані застарілими. Інструкція flushd стежить за тим, щоб кеш даних і пам'ять містили одне і те ж значення в одному рядку. Якщо рядок містить зіпсовані дані, він пишеться в пам'ять. Цей рядок визнається недійсним в кеші даних. Отже, пропуск кешу даних дуже важливий. Процесор не може перевіряти, чи є адреса в кеші даних під час пропуску кешу даних, оскільки при цьому звертається напряму в пам'ять. Нижче наведений приклад програмного коду для запису нові команди в пам'ять: /* Попередньо нова інструкція міститься в r4 і адреса інструкції в r5 */ /*Записує нову інструкцію в r4, для адреси інструкцій в r5 */ stw r4, 0(r5) /* Записує строку кешу даних, асоційовану з адресою в r5 в пам'ять і визнає недійсною її в кеші даних */ flushd 0(r5) /* Визнає недійсною строку кешу інструкцій, асоційовану з адресою в r5 */ flushi r5 /* Стежить за тим, щоб конвеєр процесора не використал стару інструкцію за адресою, визначеною в r5 */ flushp

Біт 31 пропуск кешу. Використовуючи 31 біт, звичайний набір інструкцій ld/st може бути використаний для пропуску кешу даних, якщо останній використовуваний біт адреси (біт 31) встановлений в одиницю. Значення 31 біта використовується тільки внутрішньо процесором; 31 біт примусово обнуляється в фактичному адресі доступу. Це обмежує максимальність адресного простору до 31 біта. 31-ий біт пропуску кешу надається тільки з ядром Nios ll/f і не повинен використовуватися з іншими ядрами Nios II. Інші ядра Nios II зберігають максимальну адресацію до 31 біт, щоб спростити міграцію коду з однієї реалізації ядра на іншу. Вони ефективно ігнорують значення біта 31, що дозволяє коду, написаному для ядра Nios ll/f, використовувати біт 31 для пропуску кешу, і коректно запускатися на інших поточних реалізаціях Nios II. Таким чином цей засіб залежить від реалізації ядра Nios II [11]. 7. Шина Avalon

Avalon – проста шина для побудови мультипроцесорної системи на кристалі. Основні

83

цілі проекту шини Avalon: простота, мала кількість комірок кристалу задіяна для логіки шини, повністю синхронні операції. Тому специфікація Avalon не підтримує такі особливості як, передача даних пакетами (burstdata transfers) і можливість роботи в режимі «multi-master» [13]. Кожна шина Avalon підключає єдиного майстра «master» до багатьох периферійних пристроїв «slave». Майстром шини Avalon може бути, наприклад, ядро мікропроцесора Nios II, а периферійними пристрій Avalon може бути, наприклад, таймер, або пристрій пам'яті. Всі трансакції шини Avalon передають (переміщують) єдиний байт, слово половинної розрядності або слово (8, 16 або 32 біти) між одним з периферійних пристроїв і майстром. В багатопроцесорній системі всі процесори підключаються до майстер порту шини Avalon і кожен із них є головним в спілкуванні через шину із периферійними пристроями та пам’яттю. Тобто кожне процесорне ядро отримує рівноправний доступ до шини і до системних пристроїв – загальної пам’яті та периферії. В цьому контексті слід означити досліджувану систему як децентралізовану. Шина Avalon включає ряд особливостей і домовленостей для автоматичної генерації системи, шини і периферійних пристроїв за допомогою програмного середовища SOPC Builder. Середовище SOPC Builder відповідає за створення HDL-файлів, які здійснюють кожен з компонентів системи в каталозі Quartus проекту. Програмне забезпечення може опціонально генерувати синтезований файл .edfcписок зв'язків, який описує модуль системи Avalon як єдиний модуль. Шина Avalon є модулем з великою кількістю виводів. Модуль шини Avalon міститиме всю логіку, необхідну для підключення сигналів інтерфейсу до всіх периферійних пристроїв і навпаки. Програма SOPC Builder поставляється як вбудований в програму Quartus MegaWizard. Це додаток, заснований на Java, який дозволяє створювати і редагувати систему Avalon, використовуючи графічний інтерфейс користувача. SOPC Builder автоматично виявляє компоненти бібліотеки Avalon (які повинні міститися в певних каталогах і відповідати відповідним умовам) і робить їх доступними системному проектувальнику [13].


84

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

Зазвичай кінцевим результатом роботи «SOPC Builder» є: - Список зв'язків, який описує модуль системи Avalon. - HDL-файл (або Verilog, VHDL або AHDL) який визначає інтерфейс до модуля системи Avalon. - bsf- (символ) файл, необхідний для включення модуля системи Avalon в схемному проекті. Програма SOPC Builder використовує PTFфайл (периферійний файл шаблону) як базу даних, щоб зберегти інформацію про систему Avalon. Кожна система Avalon має власний опис в PTF-файлі [13], який використовують як набір команд, щоб генерувати всю необхідну логіку компонентів системи. Програма SOPC Builder на основі PTF-файлу створює цю систему. 8. Структурна і програмна розробка в САПР Quartus II та тестування мультипроцесору

Для реалізації системи використовується навчально-дослідницький стенд DE2 (DE2 Development and Education Board) [14] із вбудованою ПЛІС Cyclone II EP2C35F672C6 Altera [15], що містить 33 216 логічних елементів на кристалі. Загальний об’єм вбудованої пам’яті (On-Chip Memory) на чипі становить 483840 біт, що становить близько 59Кб. На стенді DE2 вбудовано зовнішня відносно мікросхеми ПЛІС пам’ять – 8Мб SDRAM, 512Кб SRAM, 1Мб Flash Memory та інші пристрої й інтерфейси [15]. Для розробки мультипроцесору використані програмовані ядра типу Nios II/s (Small core size) [11]. Обране процесорне ядро займає незначну кількість логічних елементів в кристалі, в порівнянні з більш просунутою версією Nios II/f, а саме до 1400 LEs, що становить всього 4% від всієї площі кристалу ПЛІС Cyclone II; забезпечує високу продуктивність 0,74DMIPS/MHz, при частоті роботи ядра 165MHz, максимальна продуктивність становитиме 127 DMIPS; підтримувана зовнішня пам'ять до 2Gb. Програма SOPC Builder дозволяє добавити в проект опціонально до 60 процесорних ядер різної конфігурації, але кількість процесорних ядер обмежується фізичними характеристиками кристалу, зокрема його логічними ресурсами. Так, наприклад мікросхема, що вибра-

на для реалізації системи, Cyclone II EP2C35F672C6, може помістити до 47 економних ядер Nios II/e (Economy core), в яких відсутній кеш і які дають продуктивність до 31DMIPS, при частоті роботи 200MHz. В той же час дана мікросхема може помістити до 18 швидких продуктивних ядер Nios II/f (Fast core), в яких присутні кеш інструкцій та кеш даних, а продуктивність роботи становить 218DMIPS при частоті роботи 185MHz, що в сумі при використанні паралельного програмного забезпечення може досягати 3924 DMIPS. В системі визначено 3 процесорні ядра, які мають кеш інструкцій 4Кб кожне, хоча максимальний розмір пам’яті інструкцій в ядрі може бути до 64Кб, але в даному проекті ми обмежені об’ємом вбудованої пам’яті мікросхеми. До кожного ядра підключений інтервальний таймер з періодом в 1мс. До складу мікропроцесорної системи входить загальна пам'ять RAM, розміром в 10Кб, що знаходиться в кристалі. Загальна пам’ять захищається апаратним мютексом, та використовується як буфер для передачі даних між процесорами. Для використання зовнішньої пам’яті і реалізації зв’язку з зовнішніми пристроями та персональним комп’ютером застосовуються засоби надані Altera у складі стенду DE2. Так для виконавчого коду використовується зовнішня пам’ять SDRAM розміром 256Кб. Для загрузки конфігурації системи використовується зовнішня енергонезалежна Flash-пам'ять розміром 0,3Мб. Інтерфейс UART реалізує передачу послідовних символьних потоків між вбудованою системою на ПЛІС і зовнішніми пристроями. Інтерфейс JTAG UART реалізує передачу потоків послідовних символів між персональним комп’ютером і системою на ПЛІС. У багатьох проектах, JTAG UART використовується для спілкування з ядром на читання і запис даних і управління регістрами. JTAG UART ядро використовує схему JTAG вбудовану в ПЛІС Altera, а також надає доступ через контакти JTAG до мікросхеми. ПК може підключатися до ПЛІС через JTAG кабель, наприклад, USBBlaster. Програмне забезпечення для JTAG UART ядра забезпечує Altera. Для процесора Nios II, драйвери пристроїв наведені в бібліотеках апаратних абстракцій (HAL), що дозволяє писати програму для доступу до системи, використовуючи процедури ANSI C стандарт-


Мультипроцесорна система на базі програмованих процесорних ядер Nios II Altera

ної бібліотеки stdio.h. Також на стенді використовується паралельний порт PIO, для виведення сигналів на світло-діоди на схемі, і інтерфейс для керування LCD дисплеєм під час виведення інформації. Розроблена система займає на кристалі 32% логічних ресурсів, а саме 10 785 логічних елементів, та використовує 46% вбудованої пам’яті, а саме близько 27Кб. Після синтезу мультипроцесорної системи в SOPC Builder отримали структурний модуль системи, який в САПР Quartus II підключається до вхідних та вихідних контактів мікросхеми (рис. 2). Далі модуль мультипроцесорної системи пройшов подальші етапи стандартного потоку проектування в САПР Quartus II, а саме функціональне модулювання, розміщення конфігурації на мікросхемі, часове моделювання, прошивка кристалу мікросхеми. В програмному середовищі Nios II Software Build Tools for Eclipse, для створеної системи

85

та кожного її ядра, написано програмне забезпечення для запуску на ядрах мультипроцесору. Виконане тестування мультипроцесорної системи, при цьому можна запускати як всі ядра разом, так і кожне ядро опціонально, обираючи налаштування запуску в меню програми Nios II SBT. Результати тестування можливо переглянути в консольному вікні програми Nios II Software Build Tools for Eclipse (рис. 3). 9. Висновки

При вирішенні потужних обчислювальних задач вбудовані системи потребують саме мультипроцесорної архітектури для забезпечення високої швидкодії обчислень, зменшення споживної потужності, фізичних розмірів та вартості. Значному підвищенню швидкодії цифрових пристроїв, виконаних на одному кристалі, сприяє застосування програмованих логічних інтегральних схем.

Multipricessor_Nios_II VCC

clock

INPUT VCC

reset_n sys_clk

PLD_CLKFB connector_pll_c0_out

OUTPUT

PLD_CLK

OUTPUT

pll_out

out_port_from_the_button_pio[7..0]

OUTPUT

button_pio [7..0]

OUTPUT

f lash [17..0]

OUTPUT

ram [17..0]

OUTPUT

be_n_ram [3..0]

OUTPUT

ram_data [31..0]

address_to_the_ext_flash[17..0] address_to_the_ext_ram[17..0] be_n_to_the_ext_ram[3..0] ext_ram_bus_data[31..0] read_n_to_the_ext_flash read_n_to_the_ext_ram select_n_to_the_ext_flash select_n_to_the_ext_ram w rite_n_to_the_ext_flash w rite_n_to_the_ext_ram

OUTPUT

red_ram

OUTPUT

select_f lash

OUTPUT

select_ram

OUTPUT

write_f lash

OUTPUT

write_ram

OUTPUT

LSD_E

OUTPUT

LSD_RS

OUTPUT

LSD_RW

OUTPUT

LSD_data[7..0]

out_port_from_the_led_pio[7..0]

OUTPUT

led_pio

out_port_from_the_reconfig_request_pio[7..0]

OUTPUT

request_pio[7..0]

OUTPUT

addr_sdram [10..0]

OUTPUT

ba_sdram [1..0]

OUTPUT

cas_sdram

OUTPUT

cke_sdram

OUTPUT

cs_sdram

OUTPUT

dq_sdram[15..0]

OUTPUT

dqm_sdram[1..0]

OUTPUT

ras_sdram

OUTPUT

we_sdram

out_port_from_the_seven_seg_pio[7..0]

OUTPUT

sev en_seg_pio[7..0]

txd_from_the_uart1

OUTPUT

txd_uart

LCD_E_from_the_lcd_display LCD_RS_from_the_lcd_display LCD_RW_from_the_lcd_display LCD_data_to_and_from_the_lcd_display[7..0]

zs_addr_from_the_sdram[10..0] zs_ba_from_the_sdram[1..0] zs_cas_n_from_the_sdram zs_cke_from_the_sdram zs_cs_n_from_the_sdram zs_dq_to_and_from_the_sdram[15..0] zs_dqm_from_the_sdram[1..0] zs_ras_n_from_the_sdram zs_w e_n_from_the_sdram

rxd_uart

INPUT VCC

rxd_to_the_uart1

read_f lash

OUTPUT

inst1

Рис. 2. Блок діаграма мультипроцесору в САПР Quartus II


86

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

Рис. 3. Консольний вивід повідомлень роботи мультипроцесору

Для створення мультипроцесорних систем на кристалі виробники ПЛІС пропонують готові, вже налагоджені мікропроцесорні ядра та спеціалізовані засоби для здійснення стандартного потоку проектування, які в своїх бібліотеках, окрім засобів налагодження процесорних ядер, пропонують комунікаційні рішення, засоби доступу до загальних системних ресурсів та синхронізації роботи процесорів, засоби обробки переривань. В роботі розроблена та досліджена мультипроцесорна система класу система-накисталі на базі процесорних ядер Nios II/е за застосування стандартного потоку проектування засобами середовища SOPC Builder. Дослідження показали, що засоби запропоновані виробником пропонують достатньо ефективні рішення, але мають значні обмеження з точки зору досягнення високої швидкодії обчислень, що вимагають задачі управління в реальному часі, гнучкості проектування та втілення динамічної реконфігурації: - всі засоби доступу до загальних системних ресурсів, синхронізації роботи процесорів та обробки переривань реалізовані на програмно-апаратному рівні переважно з програмною реалізацією, що значно зменшує швидкодію операцій обміну даними в системі; - середовище SOPC Builder пропонує єдине архітектурне рішення – мультипроцесорна система із загальною шиною, що унеможливлює створення систем з більш ефективною архітектурою комунікаційних з’єднань та способом передачі даних, відносно вимог вирішуваних задач; - запропоновані засоби синхронізації сумісної роботи процесорів функціонують в

режимі децентралізованого управління, що позитивно впливає на швидкодію системи; особливості реалізації загальної шини та спосіб підключення до неї процесорів забезпечують можливість реалізації синхронізації за каналами даних, що є одначе низькопродуктивною по причині значної завантаженості загальної шини непродуктивними даними [8], окрім того переважно програмна реалізації механізму доступу до загальної пам’яті нанегативно впливає на швидкодію обміну даними; - в системі відсутні спеціалізовані засоби для реалізації синхронізації сумісної роботи процесорів за каналами управління [8], що потребують ефективної реалізації системи обробки переривань; - використання стандартного потоку проектування засобами середовища SOPC Builder унеможливлює втілення в систему власних засобів підвищення ефективності, таких як спеціалізовані співпроцесори та інші додаткові пристрої. В роботі також досліджене важливе питання, що належить до проблеми проектування високопродуктивних мультипроцесорних систем на ПЛІС – обмеженість апаратних ресурсів ПЛІС, зокрема обмеженість логічних комірок, кількість убудованих блоків пам’яті та кількість виводів мікросхеми.: - процесорне ядро Nios належить до класу процесорів з RISC архітектурою, та спрямовані на вирішення широкого кола задач, тому слід зазначити його можливу збиткову функціональність в контексті вирішення специфічних задач, що також негативно впливає на швидкодію та витрату ресурсів мікросхеми; - кількість убудованих блоків пам’яті фіксовано, що більш обмежує можливу кіль-


Мультипроцесорна система на базі програмованих процесорних ядер Nios II Altera

кість процесорів, убудованих в один проект, ніж логічні ресурси мікросхеми взагалі, за даними досліджень реалізація системи на мікросхемі широкої доступності та низької вартості дозволить вбудувати не більш шести процесорних ядер Nios II/е, це достатньо для функціонування нескладних мультипроцесорних систем с загальною шиною. Ще одним важливим питанням є розпаралелювання задач. В мультипроцесорних системах розглянутого класу можлива лише програмна реалізація розподілу задач з централізованим управлінням на базі існуючих технологій паралельного програмування. Актуальна та дуже перспективна задача в галузі розробки мультипроцесорних систем – автоматизація процесу розподілу задач та вихідна з цього можливість динамічної реконфігурації системи також унеможливлені обмеженнями

87

потоку проектування та жорстко пропонуємою архітектурою. В контексті вищесказаного слід зазначити, що стандартні засоби проектування доступні для широкого кола розробників, але мають певні обмеження з точки зору швидкодії створених систем і гнучкості проектування та ефективні для проектування нескладних систем середньої продуктивності. Основним напрямком досліджень в галузі проектування високопродуктивних мультипроцесорних систем на базі ПЛІС є подолання зазначених вище недоліків та проблем шляхом втілення нових методів підвищення ефективності функціонування мультипроцесорних систем та створення на їх основі спеціалізованих засобів що дозволять отримати більш ефективні архітектури FPGA-MPSoC.

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

1. Dorta T. Reconfigurable Multiprocessor Systems: A Review / T. Dorta, J. Jiménez, J. L. Martín, U.Bidarte, A.Astarloa // International Journal of Reconfigurable Computing [Special issue on selected papers from ReconFig International conference on reconfigurable computing and FPGAs (ReconFig 2009)] – 2010. – Volume 2010. – 11 c. 2. Клименко І.А. Класифікація та архітектурні особливості програмованих мультипроцесорних систем-накристалі // Проблеми інформатизації та управління: Зб.наук.пр.– К.: Вид-во нац. авіац. ун-ту «НАУдрук», 2012.– Вип. 1(36). 3. Клименко І.А. Тенденції застосування сучасної елементної бази для побудови високопродуктивних обчислювальних систем // Проблеми інформатизації та управління: Зб.наук.пр.– К. : Вид-во нац. авіац. унту «НАУ-друк», 2010.– Вип.1(29). – С 90 – 103. 4. MicroBlaze Processor Reference Guide. Embedded Development Kit EDK 13.1 [Електронний ресурс]. – Xilinx Inc., 2011. – Режим доступу: http://www.xilinx.com/support/documentation/sw_manuals /xilinx13_1/mb_ref_guide.pdf. 5. SOPC Builder User Guide. Version 1.0. [Електронний ресурс]. – Altera Corporation, 2010. – Режим доступу: http://www.altera.com/literature/ug/ug_sopc_builder.pdf. 6. Embedded Design Handbook Version 2.9. [Електронний ресурс]. – Altera Corporation, 2011. – Режим доступу: http://www.altera.com/literature/hb/nios2/edh_ed_handbook.pdf. 7. Tumeo A. HW/SW methodologies for synchronization in FPGA / A. Tumeo, C. Pilato, G. Palermo, F. Ferrandi, D. Sciuto // Proceedings of the 7th International Symposium on Field-Programmable Gate Arrays (FPGA ’09), [ACM SIGDA], (Monterey, California, USA, 22-24 February 2009). – USA, NY, New York : ACM, 2009. – P. 265–268. 8. Жабин В.И. Архитектура вычислительных систем реального времени / В.И. Жабин. – К. : ВЕК +, 2003. – 176 с. 9. Nios II Processor Reference Handbook. Version 11.0.0. [Електронний ресурс]. – Altera Corporation, 2011. – Режим доступу: http://www.altera.com/literature/hb/nios2/n2cpu_nii5v1.pdf. 10. Nios II Software Developer’s Handbook. Version 11.0. [Електронний ресурс]. – Altera Corporation, 2011. – Режим доступу: http://www.altera.com/literature/hb/nios2/n2sw_nii5v2.pdf. 11. Creating Multiprocessor Nios II Systems Tutorial. Version 11.0. [Електронний ресурс]. – Altera Corporation, 2011. – Режим доступу: http://www.altera.com/literature/tt/tt_nios2_multiprocessor_tutorial.pdf 12. Embedded Peripherals IP. User Guide. Version 11.0. [Електронний ресурс]. – Altera Corporation, 2011. – Режим доступу: http://www.altera.com/literature/ug/ug_embedded_ip.pdf 13. Avalon Interface. Specifications Version 11.0. [Електронний ресурс]. – Altera Corporation, 2011. – Режим доступу: http://www.altera.com/literature/manual/mnl_avalon_spec.pdf. 14. DE2 Development and Education Board . [Електронний ресурс]. – Altera Corporation, 2012. – Режим доступу: http://www.altera.com/education/univ/materials/boards/de2/unv-de2-board.html?GSA_pos=3&WT.oss_r=1&WT.oss=DE2 board. 15. Cyclone II Device Handbook [Електронний ресурс]. – Altera Corporation, 2008. – Режим доступу: http://www.altera.com/devices/fpga/cyclone2/cy2-index.jsp.


УДК 681.3.053

CЕЛИВАНОВ В.Л., ВОРОБЙОВ В.В. ОПТИМАЛЬНЫЕ СТРУКТУРЫ ДЕКОДИРУЮЩИХ СЕТОК ПРЕОБРАЗОВАТЕЛЕЙ КОД-ТОК ДВОИЧНО-ДЕСЯТИЧНЫХ СИСТЕМ СЧИСЛЕНИЯ Показываются основные принципы построения декодирующих сеток (ДС) для преобразователей кодток (ПКТ) двоично-десятичных систем счисления (ДДСС). Предложены оптимальные структуры декодирующих сеток для ПКT ДДСС. The subject of the article is about basic principles of creating scale transform circuits in current D/A conversion (DAC) schemes for the binary-coded decimal numbers (BCD). Optimal transform circuits for BCD DAC was also given. 1. Введение

Преобразователи код-ток (ПКТ) широко используются в цифровой измерительной аппаратуре (в аналого-цифровых преобразователях АЦП последовательного счёта и поразрядного уравновешивания), для формирования управляющих сигналов в системах автоматического управления и регулирования, а также в цифро-аналоговых вычислительных комплексах (гибридных вычислительных системах). Декодирующие сетки для ПКТ – это сумматоры токов (последовательного типа или комбинированные) [1,2,3,4,5], у которых коэффициенты передач k i ( i  1,n  1 ) пропорциональны весам разрядов декодируемого числа gi ( i  1,n ) . Как известно, для сумматора токов последовательного типа значения сопроти-влений резисторов Ri ,i 1 ( i  1,n ) пропорциональны разностям требуемых значений коэффициентов передач k i ( i  1,n  1 ) и ki 1 ( i  2 , n ) , т.е с учётом того, что k n 1  0 получаем  Ri ,i 1 ~ k i  k i 1 ( i  1,n  1 );   Rn ,n 1 ~ k n .

(1)

Таким образом, сопротивления резисторов последовательной декодирующей сетки для ПКТ определяется по формулам:  Ri ,i 1 ~ g i  g i 1 ( i  1,n  1 );   Rn ,n 1 ~ g n .

(2)

Рассматривая ДС для ДДСС необходимо рассмотреть особенности таких систем счисления. Предположим, что m – количество десятичных разрядов (количество тетрад), соответственно n  4m – количество двоичных разрядов. 2. ДС для ПКТ ДДСС 8421

В цифровой части вычислительной системы при использовании двоично-десятичных кодов наиболее часто используют коды ДДСС 8421. Рассмотрим пример построения схемы ДС для ПКТ ДДСС 8421 при n  12 , m  3 . Как известно для ДДСС 8421 k k k g k  8  10 , g k 1  4  10 , g k  2  2  10 и g k 3  1  10  k ( k  1,m ) . Таким образом, с учётом вышесказанного, расчёт сопротивлений резисторов Ri ,i 1 ( i  1,n ) последовательной ДС ПКТ ДДСС 8421 должен осуществляться по формулам:

 R4 k 3 ,4 k  2 ~ 4  10  k ( k  1,m ),  k  R4 k  2 ,4 k 1 ~ 2  10 ( k  1,m ),  k  R4 k 1,4 k ~ 1  10 ( k  1,m ),  k  R4 k ,4 k 1 ~ 0.2  10 ( k  1,m  1 ), R  R4 m ,4 m 1  R4 m 1,4 m ~ 1  10  m .  n ,n 1

(3)

Например, при выборе коэффициента пропорциональности 2.5 R , можно получить следующие значения сопротивлений резисторов последовательной ДС: R 12  R , R23  R  2 1 , R34  R  2 2 , R45  0.1  R  2 1 ,


Оптимальные структуры декодирующих сеток преобразователей код-ток двоично-десятичных…

89

Рис. 1. Декодирующие сетки ПКТ ДДСС 8421.

R56  0.1  R , R67  0.1  R  2 1 , R78  0.1  R  2 2 , R89  0.01  R  2 1 , R910  0.01  R , R10 ,11  0.01  R  2 1 , R11 ,12  0.01  R  2 2 , R12 ,13  0.01  R  2 2 . Для данных значений весов разрядов получаются следующие значения резисторов параллельной ДС: R1  R , R2  2R , R3  4R ,

R4  8 R ,

R5  10R ,

R6  20R ,

R7  40R ,

R8  80R . Последовательная структура такой ДС [2,6] приведена на рис. 1а. Отметим, что в такой ДС большое количество разных номиналов резисторов ( 4 m без учета R L ), большой разброс номиналов резисторов ( Rmax / Rmin  4 * 10 m ) и общее количество резисторов n  1 .

Для уменьшения разброса номиналов и уменьшения количества номиналов резисторов необходимо использовать эквивалентные преобразования структуры сумматора токов последовательного типа включением резисторов утечки R4 k ( k  1,m  1 ) через каждую тетраду. При этом определяют эквивалентные значения сопротивлений резисторов Reqs ( s  1,n ) , выбирают значения Cs ( s  1,n ) , и расчитывают значения сопротивлений резисторов утечки Rs ( s  1,n ) , включенных в s ую точку, по формуле:

Rs 

Cs  Reqs ( s  1,n ) , C s 1

(4)


90

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

где Reqs – это эквивалентное сопротивление части схемы, начиная с резистора Rs ,s 1 и заканчивая Rn ,n1 , а С s – это некоторый постоянный коэффициент, показывающий во сколько раз необходимо увеличить сопротивления всех резисторов ниже места включения резистора утечки RS . Если включить резисторы утечки

R4 k

( k  1,m  1 ) через каждую тетраду и выбрать

C4 k  10

Req 4 k  R  10  k 1

( k  1,m  1 ) , то

( k  1,m  1 ) и исходя из (4), сопротивления резисторов утечки будут равны  k 1 ( k  1,m  1 ) . А с учётом R4 k  5 R / 18  10 того, что сопротивление резисторов ниже включённого резистора утечки Rs ( s  1,n )

увеличиваются в C4 k раз, то R4 k  5 R / 18 ( k  1,m  1 ) . Схема такой комбинированной ДС ПКТ ДДСС 8421 представлена на рис. 1b. Приведенная ДС в общем случае имеет всего 4 разных номиналов резисторов, разброс номиналов резисторов Rmax / Rmin  4 m (без

учета R L ) и общее количество резисторов 5m  1 . Такие минимальные ДС на данный момент считаются наиболее оптимальными и наиболее часто используются [2,6]. Если кроме резисторов утечки R4 k ( k  1,m  1 ) через каждую тетраду включить

резисторы утечки R4 k 1 ( k  1,m  1 ) , и выбрать C4 k 1  2 , а C4 k  5 ( k  1,m  1 ) . При этом Req 4 k 1  2 1  R  10  k 1 ( k  1,m ) , R4 k 1  2  R eq 4 k 1  2  R  10  k 1 R eq 4 k  1  0 . 25  R  10  k  1

( k  1,m ) ,

( k  1, m  1 ) ,

чае) 6m  2 . Следовательно, предложенная структура ДС является наиболее оптимальной. 3. ДС для ПКТ ДДСС 3321.

Для повышения точности в ПКТ ДДСС часто используют промежуточное преобразование кода ДДСС 8421 в код ДДСС 2421 (код Айкена) или в код ДДСС 3321. Рассмотрим оптимальные структуры ДС ДДСС 2421. Рассмотрим структуры ДС ДДСС 3321. Для такой ДДСС g k  g k 1  3  10  k , g k  2  2  10  k и g k  3  1  10  k ( k  1, m ) , и значения сопротивления резисторов следует рассчитывать исходя из следующей системы:

 R4 k 3 ,4 k 2  0 ( k  1, m ),  k  R4 k 2 ,4 k 1 ~ 1  10 ( k  1, m ),  k  R4 k 1,4 k ~ 1  10 ( k  1, m ),  k  R4 k ,4 k 1 ~ 0.7  10 ( k  1, m  1 ), m R  n ,n 1  R4 m ,4 m1  R4 m1,4 m ~ 1  10 .

(5)

Соответствующие значения сопротивлений, рассчитанные с помощью (5), для такой ДС (для коэффициента пропорциональности 10 R ) будут следующие: R12  0 , R23  R34  R , R45  0.7 R , R56  0 , R67  R78  R  10 1 , R89  0.7 R  10 1 , R910  0 , R10 ,11  R11 ,12  R12 ,13  R  10 2 . Схема соответствующей стандартной ДС (при n  12 ,m  3 ) для ПКТ ДДСС 3321 представлена на рис. 2а. В такой ДС в общем случае большое количество разных номиналов резисторов ( 2m  1 без учета R L ), большой разброс номиналов

то

резисторов ( Rmax / Rmin  10 m 1 ) и большое ко-

воспользовавшись формулой (4) получаем, что R4k  5 / 4Req4k  5 / 16 R  10k 1 ( k  1,m  1 ) ,

личество резисторов ( 3m без учета R L ). Для уменьшения разброса номиналов и уменьшения количества номиналов используются эквивалентные преобразования структуры. Если включить резисторы утечки R4 k 1 ( k  1,m  1 ) через каждую тетраду и

а

с

учётом

того,

что

C4 k 1  2 ,

R4k  5 / 8  R  10k 1 ( k  1,m  1 ) . Соответствующая схема оптимальной ДС ПКТ ДДСС 8421 приведена на рис. 1с. Такая ДС содержит всего 3 разных номиналов резисторов (без учета R L ) и разброс номиналов резисторов Rmax / Rmin  1,6 при общем количестве резисторов (в общем слу-

выбрать

С4 k 1  10 ( k  1,m  1 ) ,

Req 4 k 1  3 R  10

k

( k  1, m  1 )

тогда

и сопротив-

ления резисторов утечки, рассчитаные в соответствии с (4), будут равны


Оптимальные структуры декодирующих сеток преобразователей код-ток двоично-десятичных…

91

Рис. 2. Декодирующие сетки ПКТ ДДСС 3321.

R4 k 1  10 / 9 Req4 k 1  1 / 3 ( k  1,m  1 ) .

(6)

Схема такой известной комбинированной ДС ПКТ ДДСС 3321 приведена на рис. 2b. В такой ДС 3 разных номинала резисторов, разброс номиналов резисторов Rmax / Rmin  3 и общее количество резисторов - 4m  1. Для получения оптимальной структуры комбинированной ДС следует включить резисторы утечки R4 k ( k  1,m ) ( R4 ,R8 и т.д.) и выбрать С5 , С 9 и т.д. равным 70 / 17 , и С 4 ,

С 8 и т.д. равным 17 / 7 . Исходя из (4) можно получить значения резисторов утечки R4 k и R4 k 1 , равные соответственно 1.7 R и

51 / 53 R Полученная оптимальная структура ДС представлена на рис. 2с. Эта оптимальная ДС состоит из трех номиналов (без учета R L ), имеет минимальный разброс номиналов сопротивлений резисторов (  1.77 ) и общее количество резисторов (в общем случае) – 4m  1. 4. ДС для ПКТ ДДСС 2421 (4221)

Декодирующие сетки для ПКТ ДДСС 2421 могут быть реализованы только при рассмотрении ДДСС 2421 как ДДСС 4221 с изменением управления в первых двух разрядах каждой тетрады, то есть [ a 1 ] управляет током I 2 , а [ a 2 ] управляет током I 1 и т.д, где [ ai ] – соответствующий цифровой сигнал.


92

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

Такое требование «упорядочения весов» ( g i 1  g i ( i  1,n  1 ) ) обусловлено спецификой построения ДС для любых ПКТ. Рассмотрим ДДСС 4221. Как известно из формулы (2), расчёт сопротивлений резисторов последователь-ной ДС ПКТ ДДСС 4221 должен осуществлятся по формулам:

 R4 k 3 ,4 k  2 ~ 2  10  k ( k  1,m ),   R4 k  2 ,4 k 1  0 ( k  1,m ),  k  R4 k 1,4 k ~ 1  10 ( k  1,m ),  k  R4 k ,4 k 1 ~ 0.6  10 ( k  1,m  1 ), R  R4 m ,4 m 1  R4 m 1,4 m ~ 1  10  m .  n ,n 1

(7)

Соответствующие значения сопротивлений резисторов (для коэффициента пропорциональности 5 R ) будут равны: R12  R , R34  0.5 R , R45  0.3R , R56  R  10 1 , R78  0.5 R  10 1 , R910  R  10 2 ,

R89  0.3 R  10 1 , R11,12  R12,13  0.5R  102 ,

R23  R67  R10,11  0. Схема последовательной ДС ПКТ ДДСС 4221 (при n  12 ,m  3 ) представлена на рис. 3а. В такой ДС большое количество разных номиналов резисторов ( 3m  1 без учета R L ), большой разброс номиналов резисторов ( Rmax / Rmin  2 * 10 m 1 ) и общее количество резисторов 3m .

Рис. 3. Декодирующие сетки ПКТ ДДСС 2421 (4221).


Оптимальные структуры декодирующих сеток преобразователей код-ток двоично-десятичных…

Если включить резисторы утечки R4 k 1

и С 4 , С 8 и т.д. равным 10 / 3 , то можно получить оптимальную ДС ДДСС 4221. Тогда сопротивления резисторов утечки будут равны R4 k  5 / 7 R  10  k 1

( k  1,m  1 ) через каждую тетраду и вы-

брать

С4 k 1  10 ( k  1,m  1 ) ,

Req 4 k 1  2 R  10  k ( k  1,m  1 )

93

тогда

и сопротив-

R4 k 1  R  10  k , ( k  1,m  1 ) Оптимальная структура такой комбинированной ДС ПКТ ДДСС 4221 представлена на рис. 3c. В такой ДС всего три номинала (без учета R L ), при минимальном разбросе номиналов ( Rmax / Rmin  2 ), и количестве резисторов – 4m  1 .

ления резисторов утечки, рассчитаные в соот2 ветствии с (4), будут равны R4 k 1  R  10 m 1 9 ( k  1,m  1 ) (соответственно R5  R9  2 / 9 ). Соответствующая минимальная комбинированная ДС ПКТ ДДСС 4221 приведена на рис. 3b. В такой ДС 4 разных номинала резисторов, разброс номиналов резисторов Rmax / Rmin  4.5 и общее количество резисторов – 4m  1 . Если воспользоваться формулой (4) и применить эквивалентное преобразование структуры включением резисторов утечки ( R4 , R8 , R5 , R9 и т.д.) между тетрадами и внут-

Выводы

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

ри тетрады и выбрать С5 , С 9 и т.д. равным 3 , Список литературы

1. 2. 3. 4. 5. 6.

Волович Г.И. Схемотехника аналоговых и цифро-аналоговых электронных устройств. Москва, 2005 г. Гнатек Ю.Р. Справочник по цифроаналоговым и аналогоцифровым преобразователям. Москва, 1982 г. Лебедев О.Н., Марцинкявичюс А.-Й.К. и др. Микросхемы памяти. ЦАП и АЦП. "КУбК-а" Москва, 1996 г. Сентурия С.Д., Уэдлок Б.Д. Электронные схемы и их применения, Издательство "МИР", Москва, 1977. Raj Kamal. Digital Systems Principles and Design. Pearson Education India, 2007. Корн Г., Корн Т., Электронные аналоговые и аналого-цифровые вычислительные машины, пер. с англ., М., 1967.


УДК 681.324 СИМОНЕНКО А.В., ПИХ С.В., СЛУЦКИЙ Н.В,. ВОРОБЙОВ В.В. СИСТЕМА ПРОСТРАНСТВЕННОГО РАСПРЕДЕЛЕНИЯ ЗАДАНИЙ В РАСПРЕДЕЛЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМАХ В статье рассматриваются основные подходы распределения (планирования) заданий в глобальных GRID-системах. Показано, что в одноуровневых неоднородных системах более эффективно использование планировщиков пространственного типа, основанных на принципах исключающего планирования с учетом пространственного отношения заявка – ресурс. This article is devoted to the main approaches of the distribution (planning) tasks in distributed systems. It is shown that siblings of inhomogeneous systems more effectively use planners-based on the principles of exclusionary planning. 1. Введение

Весь процесс планирования в параллельной (распределенной) ВС можно представить в виде многоуровневой уровневой схемы, где каждый уровень (являющийся составной частью полной схемы планирования) представляет собой отдельную задачу. Составными частями полной задачи планирования являются: ввод потока заданий, мониторинг среды исполнения, структурный анализ соответствия входного потока заявок имеющимся ресурсам, адаптация распределения работ соответственно особенностям ВС, планирование выполнения задач в ПВС в соответствии с функцией цели, адресное распределение процессов по ресурсам, перераспределение процессов при изменении состояния ВС. В настоящий момент, наиболее распространенными являются системы управления пакетной обработки заданий. Они используются в таких системах как Platform LSF, Windows Compute Cluster Server, PBS, Condor, SGE, LoadLever. С развитием grid-технологий вопрос управления распределенными вычислительными системами уделяется огромное внимание. На данный момент одним из наиболее распространенным алгоритмов, позволяющих производить планирование нагрузки вычислительной системы, является алгоритм Backfill. Данный алгоритм реализован в составе внешнего планировщика Maui. Maui – планировщик заданий с открытым кодом для использования в кластерах и суперкомпьютерах. Для определения ресурсов, готовых для

приема задания, можно использовать локальный менеджер ресурсов (ЛМР или LRM – Local Resource Manager) [1, 4, 5, 6, 7]. Таким образом исходной информацией для работы планировщика является множество имеющихся, готовых ресурсов (вычислительных узлов) и множество заданий (задач) для распределения. Виду того, что в данной статье рассматривается строго неоднородное отношение задача – ресурс, то претендование заявки на ресурс отображается, вектором R  { R1,R2,R3,...,Rn} (где Ri – булевое значение, указывающее на то, может ли данный ресурс использоваться для обработки данной заявки, 1 – может, 0 – не может). Вектор R определяет множество ресурсов, на которых может быть выполнена заявка. Менеджер ресурсов периодически через время  t , заданное администратором системы, выполняет мониторинг системы и опрашивает ресурсы (свободны они или нет). После опроса система отправляет каждую заявку на соответствующий свободный ресурс, руководствуясь определённым алгоритмом обработки очереди [5, 6], который может обслужить данную заявку (естественно в векторе Ri данного ресурса равен 1), или задерживает её в очереди, если все возможные ресурсы заняты. Существующие решения, использующие потоковое планирование, не учитывают влияния любого назначения на последующие. Т.е. когда заявка, погруженная в определённый ресурс, но имеющая возможность выбора, может заблокировать назначение на него дру-


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

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

Если учитывать, что в системе формируется пул задач, то с учётом того, что в ЛМР поступает информация в виде битового вектора (1 – ресурс можно назначить этой заявке, 0 – ресурс не назначать), то за время  t наберётся определённое количество заявок и свободных ресурсов, удовлетворяющее условию JN  RN , где JN – количество заявок, RN – общее количество ресурсов. При выборе принципа планирования следует также учитывать интенсивность входного потока заявок. В том случае, когда интенсивность мала, неоднородность системы слабо выражена и количество заявок, пришедших за время  t значительно меньше числа освобождающихся ресурсов следует использовать обычные алгоритмы, основанные на принципе первого подходящего. Таким образом, алгоритм должен иметь определённую степень адаптивности и учитывать степень интенсивности поступления входных заявок, исходя из уровня загруженности системы. Основным критерием, применения предложенного алгоритма, помимо интенсивности поступления входных заявок, является разреженность матрицы, образующейся из векторов пула задач.

95

Предлагается алгоритм, основанный на следующих положениях:  Использование принципа исключающего планирования,  Использование принципа пошагового конструирования,  Применение принципа min-max выбора.  Применение принципа оптимальности Белмана,  Применение принципа «надежного состояния системы выбора». Алгоритм назначения: 1. Отмечается пул задач для распределения и формируется матрица выбора. 2. Поиск в пуле среди выделенных для распределения заявок, заявки, имеющей минимальное возможное мест размещения. (Входной фильтр менеджера ресурсов вычисляет сумму мест размещения заявки ещё на входе). 3. Для выделенной заявки (строки) ищется ресурс, имеющий минимальное число требований на захват ресурса от других заявок. Поиск ведется только для тех столбцов в которых имеется «1» в выбранной строке. 4. Найденные в пунктах 1, 2 строка и столбец удаляется из матрицы выбора. 5. Выбранная заявка из матрицы выбора может быть направлена на исполнение в выбранный ресурс. 6. Пункты 2-4 повторяются до полного размещения всех заявок. 4. Сравнительный анализ алгоритмов потокового и пространственного планирования

Сравнительный анализ алгоритмов потокового и пространственного планирования характеристик был выполнен с помощью разработанной системы моделирования работы распределенной системы. Сравнение выполнялось по различным критериям: интенсивности входного потока заявок, времени захвата задачей ресурса, вычислительной мощности ресурсов, степени неоднородности вычислительных ресурсов. На рис. 1 – 4 изображены графики среднего времени ожидания задач и простоя ресурсов от степени неоднородности вычислительных ресурсов. Анализ полученных графики (1 – 4)


96

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

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

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

Рис. 2. Зависимость среднего времени ожидания задач при изменении степени неоднородности вычислительных ресурсов. (потоковый планировщик)

Рис. 1. Зависимость среднего времени ожидания задач при изменении степени неоднородности вычислительных ресурсов. (пространственный планировщик)

Рис. 3. Зависимость времени простоя ресурсов от степени неоднородности вычислительных ресурсов. (пространственный планировщик) Выводы

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

Рис. 4. Зависимость времени простоя ресурсов от степени неоднородности вычислительных ресурсов. (потоковый планировщик)

потоковый принцип распределения заявок по ресурсам применяя либо выбор заявок по приоритету либо используя дисциплину FIFO. Наилучшее распределение заявок по ресурсам можно достичь в глобальных GRID системах в которых степень неоднородности выше 50%.


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

97

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

1. 2. 3. 4. 5. 6. 7. 8.

Коваленко В.Н., Корягин Д.А., Коваленко Д.А., Любимский Э.З. Метод опережающего планирования для GRID. Препринт ИПМ, 2005 г. – № 112. Симоненко А.В. Выбор стратегии пространственного планирования в параллельных вычислительных системах. Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техника, Київ 2001 р. №35.- с. 104-108. Симоненко В.П. Математическая постановка задачи динамического распределения работ в GRID системах и оценки качества решения. Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техника, Київ 2011 р. №53.- с. 37-41. Fangpeng Dong, Selim G. Akl. Scheduling Algorithms for GRID Computing: State of the Art and Open Problems. Technical Report No. 2006-504. School of Computing. Queen's University, Kingston, Ontario, January 2006. Raksha Sharma, Vishnu Kant Soni, Manoj Kumar Mishra, Prachet Bhuyan A Survey on Grid Scheduling Systems. World Academy of Science, Engineering and Technology 64 2010. Klaus Krauter, Rajkumar Buyya, Muthucumaru Maheswaran. A Taxonomy and Survey of Grid Resource Management Systems. Software – Practice & Experience, Volume 32, Issue 2 , February 2002. F. Berman, R. Wolski, H. Casanova, W. Cirne, H. Dail, M. Faerman, S. Figueira, J.Hayes, G. Obertelli, J. Schopf, G. Shao, S. Smallen, N. Spring, A. Su, D.Zagorodnov. Adaptive Computing on the GRID using AppLeS, in IEEE. Trans On Parallel and Distributed Systems (TPDS), 2003. K. Czajkowski, I. Foster, N. Karonis, C. Kesselman, S. Martin, W. Smith, S.Tuecke, A Resource Management Architecture for Metacomputing Systems, In D.G.Feitelson and L. Rudolph, editors, in Proc of the 4th Workshop on Job Scheduling Strategies for Parallel Processing, LNCS Vol. 1459, Orlando, Florida USA, March 1998.


УДК 519.854.2 ПАВЛОВ А.А., МИСЮРА Е.Б., ХАЛУС Е.А. ИССЛЕДОВАНИЕ СВОЙСТВ ЗАДАЧИ КАЛЕНДАРНОГО ПЛАНИРОВАНИЯ ДЛЯ ОДНОГО ПРИБОРА ПО КРИТЕРИЮ МИНИМИЗАЦИИ СУММАРНОГО ОПЕРЕЖЕНИЯ ЗАДАНИЙ ПРИ УСЛОВИИ ДОПУСТИМОСТИ РАСПИСАНИИ Рассмотрена задача составления расписаний выполнения независимых заданий с произвольны-ми длительностями и различными директивными сроками на одном приборе по критериям ми-нимизации суммарного опережения и нахождения максимально позднего момента начала вы-полнения заданий в допустимом расписании. Предложены точные полиномиальные алгоритмы для отдельных случаев задачи, для общего случая определена верхняя оценка отклонения пока-зателя качества от оптимального. We consider a scheduling problem of independent tasks execution with arbitrary durations and various due dates on a single machine by minimizing the total earliness and finding the maximum startup time of the tasks in a feasible schedule. The exact polynomial algorithms are proposed for particular cases of the task, for the general case an upper estimate of the deviation from the optimum quality index is determined. Введение

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

Задано множество независимых заданий J = { j1, j2, ..., jn}, каждое из которых состоит из одной операции. Для каждого задания j известны длительность выполнения pj и директивный срок выполнения d j . Прерывания не допускаются. Задания поступают в систему одновременно. Необходимо: 1) найти максимально поздний момент r начала выполнения заданий в допустимом расписании; 2) минимизировать суммарное опережение выполнения заданий относительно директивного срока при условии допустимости расписания. Определение 1. Если для заданного момента начала выполнения заданий объективно существует расписание, в котором удовлетво-

рены все директивные сроки, то такое расписание называется допустимым. Теорема 1. Пусть существует произвольная допустимая последовательность выполнения заданий одним прибором 1 = {j[1], j[2], ..., j[n]}, где j[k] обозначает задание на позиции k в текущей последовательности. Последовательность на этом множестве заданий, упорядоченная по неубыванию значений директивных сроков, также допустима. Доказательство. Перенумеруем задания в последовательности 1 по неубыванию значений директивных сроков: d1  d 2    d n . Пусть задание 1 с минимальным значением директивного срока d1 занимает в 1 позицию k1, момент окончания этого задания в текущей последовательности C j[ k ]  d j[ k ]  d1 . Пере1

1

несем задание 1 с позиции k1 на позицию 1. Задания j[ k 1 1] , j[ k 1  2] ,, j[ n ] на интервале

k  1, n остаются на занимаемых позициях, j[1] , j[ 2] ,, j[ k 1 1] на интервале задания 1, k  1 смещаются на позиции 2, 3, … k1. Последовательность принимает вид: 2 = {1, j[2], j[3], ..., j[ k 1 ] , ..., j[n]}. (Примечание. Номера заданий в последовательности 2 вида j[i] могут не совпадают с номерами заданий, стоящих на тех же позициях в последовательности 1). В последовательности 2 справедливо:


Исследование свойств задачи календарного планирования для одного прибора по критерию…

99

но, что подпоследовательность заданий {j[3], ..., j[ k 2 ] } в 3 удовлетворяет условию:

ледовательность s+1 допустима. Аналогичные действия выполняются до тех пор, пока не будет построена вся последовательность, упорядоченная по неубыванию директивных сроков, которая останется допустимой. Максимальный диапазон изменения s равен 1, n  1 . Теорема доказана. ■ Следствие. Если расписание, упорядоченное по неубыванию директивных сроков, является недопустимым, то допустимого расписания не существует. Теорема 2. Получены новые логикоаналитические условия реализации полиномиальной составляющей ПДС-алгоритма решения задачи по критерию минимизации суммарного запаздывания для одного прибора [1]: если расписание, упорядоченное по неубыванию директивных сроков, является допустимым, то оно оптимально, в противном случае в оптимальном расписании суммарное запаздывание будет строго больше нуля. Доказательство очевидным образом вытекает из следствия к теореме 1. ■ Приведем алгоритм определения самого позднего момента начала выполнения заданий rmax в системе n | 1, при котором расписание остается допустимым.

C j[ i ]  d 2 i  3, k2 , и задания на позициях 3,

Алгоритм А

4, …, k2 остаются незапаздывающими, а последовательность 3 допустима. Рассмотрим шаг s. Последовательность на этом шаге имеет вид: s = {1, 2, …, s – 1, j[s], ..., j[n]}. Пусть задание s с очередным минимальным директивным сроком занимает в s позицию ks, момент окончания этого задания в текущей последовательности C j[ k ]  d j[ k ]  d s . Перенесем задание s с

1. Строим, в соответствии с теоремой 1, расписание  = {1, 2, … n}, в котором задания упорядочены по неубыванию директивных сроков. 2. Определяем момент запуска выполнения заданий r, при котором в расписании  хотя бы одно задание jk будет запаздывающим:

d1  d j[ i ] i  2, k1 . Очевидно, что подпоследовательность заданий {j[2], ..., j[ k 1 ] } в 2 удовлетворяет условию: C j[ i ]  d1 i  2, k1 , и задания на позициях 2, 3, …, k1 остаются незапаздывающими, а последовательность 2 допустима. Аналогичная процедура выполняется для задания 2 со следующим минимальным значением директивного срока, которое переносится на позицию 2. Пусть задание 2 занимает в 2 позицию k2, момент окончания этого задания в текущей последовательности C j[ k ]  d j[ k ]  d 2 . Перенесем задание 2 с 2

позиции

2

позицию 2. Задания 1, j[ k 2 1] , j[ k 2  2] ,, j[ n ] остаются на занимаемых k2

на

позициях, задания j[ 2] , , j[ k 2 1] смещаются на позиции 3, 4, … k2. Последовательность принимает вид: 3 = {1, 2, j[3], ..., j[ k 2 ] , ..., j[n]}. (См. примечание к 2). В последовательности 3 справедливо: d 2  d j[ i ] i  3, k2 . Очевид-

s

s

позиции ks на позицию s. Задания 1, 2, …, s – 1, j[ k s 1] , , j[ n ] остаются на занимаемых позициях, задания j[s], ..., j[ k s 1] смещаются на позиции s+1, … ks. Последовательность принимает вид: s+1 = {1, 2, …, s, j[s+1], ..., j[n]}. (См. примечание к 2). В последовательности s+1 справедливо: d s  d j[ i ] i  s  1, k s . Очевидно, что подпоследовательность заданий {j[s], ..., j[ k s ] } в s+1 удовлетворяет условию:

C j[ i ]  d s i  s  1, ks , и задания на позициях s+1, …, ks остаются незапаздывающими, а пос-

k

k : d k  r   pi . i 1

Для момента запуска r находим за3. дание jl с максимальным запаздыванием относительного директивного срока и определеляем новый момент начала выполнения заданий rmax  r  Cl  d l  , где Cl  d l – запаздывание по заданию jl. В расписании с началом выполнения заданий rmax запаздывание по заданию jl станет равным нулю, а остальные задания станут незапаздывающими. В результате выполнения этой процедуры построено допустимое расписание доп. Примечание. Начало временной оси выбирается так, чтобы всегда выполнялось условие


100

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

rmax > 0 и допустимые r < rmax всегда были положительными. Пример к алгоритму А

Табл. 1 – последовательность  j pj dj 1 25 110 2 30 120 3 40 150 4 30 200 5 25 250 6 35 270 7 45 370 Определяем момент запуска, при котором задание 3 станет запаздывающим: 3

r  d3   pi  150  25  30  40 = 55. i 1

Примем момент запуска равным 80 > 55. Последовательность принимает вид: Табл. 2 – последовательность при r = 80 j pj dj Cj Tj 1 25 110 105 0 2 30 120 135 15 3 40 150 175 25 4 30 200 205 5 5 25 250 230 0 6 35 270 265 0 7 45 370 310 0

Здесь T j  max 0; C j  d j

– запаздыва-

ние задания j. В этом расписании есть три запаздывающих задания (2, 3 и 4), задание 3 имеет максимальное запаздывание 25. Новый момент запуска заданий на выполнение: rmax = 80 – 25 = 55. Получено допустимое расписание: Табл. 3 – последовательность при моменте запуска r = rmax = 55 j pj dj Cj Tj 1 25 110 80 0 2 30 120 110 0 3 40 150 150 0 4 30 200 180 0 5 25 250 205 0 6 35 270 240 0 7 45 370 285 0 Теорема 3. Алгоритм А строит допустимое расписаниедоп, в котором момент начала выполнения заданий rmax является самым поздним.

Доказательство. При увеличении значения момента начала выполнения заданий в расписании доп появится запаздывание по заданию j[l], и расписание станет недопустимым. А при уменьшении значения момента начала выполнения заданий rmax не будет самым поздним. ■ Теорема 4. Допустимое расписание, построенное по неубыванию директивных сроков, является оптимальным по критерию минимизации суммарного опережения при выполнении условий: d1  d 2    d n , p1  p2    pn . Суммарное опережение минимально при моменте запуска rmax. Доказательство. Обозначим через  = {1, 2, ..., n} расписание, удовлетворяющее условиям теоремы 4. Допустим, что существует другое допустимое расписание 1 = {j[1], j[2], ..., j[n]} с моментом запуска rmax, не совпадающее с расписанием  и имеющее меньшее суммарное опережение. Доказательство проведем по аналогии с доказательством теоремы 1, выполняя аналогичные итерации, на каждой итерации будем определять величину изменения суммарного опережения в результате переноса заданий на позиции, которые они должны занимать в расписании . Пусть задание 1 с максимальной длительностью занимает в последовательности 1 позицию k1  1. Перенесем это задание на первую позицию. Расписание остается допустимым в соответствии с теоремой 1. Найдем величину изменения суммарного опережения в результате переноса: по заданию 1 в результате встраивания опережение увеличилось на k1 1

 pj i 1

[i ]

, а по заданиям, смещенным на более

поздние позиции, уменьшилось на ( k1  1) p1 , где (k1 – 1) – количество заданий на интервале переноса. Получаем последовательность 2. Длительность выполнения задания 1 самая большая, поэтому суммарное опережение по k1 1

сравнению с 1 не увеличилось: 1=

( k1  1) p1

 pj i 1

[i ]

≤ 0. Выполняем аналогичную процедуру для следующего задания 2, занимающего в 2 некоторую позицию k2  2. Это задание переносится на вторую позицию, изменение суммарного опережения в этом слу-


Исследование свойств задачи календарного планирования для одного прибора по критерию… k 2 1 Пример к теореме 4

чае равно 2=

 pj i2

[i ]

– ( k 2  2) p2 ≤ 0. Полу-

Табл. 4 – расписание  момент запуска r = rmax = 60) j pj dj Cj dj –Cj 1 70 140 130 10 2 60 200 190 10 3 50 240 240 0 4 40 310 280 30 5 30 320 310 10 6 20 340 330 10 7 10 340 340 0 Суммарное опережение: 80

чаем последовательность 3, и т.д. Пусть построена последовательность s. Выполняем аналогичную процедуру для задания s, занимающего в s некоторую позицию ks  s. Это задание переносится на позицию s, изменение суммарного опережения в этом случае равно s= k s 1

 pj is

[i ]

– ( k s  s ) ps ≤ 0. Получаем последова-

тельность s+1. Продолжаем выполнять процедуру переноса для заданий i  s  1, n  1 , пока не будет построено расписание n, упорядоченное по невозрастанию значений длительностей заданий, в котором задания также упорядочены по неубыванию значений директивных сроков, т.е. расписание . Так как все величины изменений i, i  1, n  1 , не могут быть положительными, то суммарное опережение не увеличилось. Таким образом, суммарное опережение в расписании  является минимальным. Покажем, что при моменте запуска r < rmax суммарное опережение в оптимальном расписании будет иметь большее значение. В соответствии с первой частью доказательства теоремы, для момента запуска r оптимальным расписанием по критерию суммарного опережения является расписание, упорядоченное по неубыванию директивных сроков. Но у этого расписания суммарное опережение по сравнению с расписанием, полученным для момента запуска rmax, увеличилось на величину n(rmax – r). Следовательно, расписание для момента запуска rmax имеет минимальное значение суммарного опережения. Теорема доказана. ■ Примечание. Если в допустимом расписании  = {1, 2, ..., n} с максимальным моментом начала выполнения заданий для произвольного C k существуют задания i  1, k  1 , для кото-

рых Ck  d i , то при упорядочении этих заданий по невозрастанию их длительностей получаем допустимое расписание с максимальным моментом начала выполнения заданий, в котором уменьшается суммарное опережение (в предположении, что в  существуют как минимум две такие работы различной длительности, не упорядоченные по невозрастанию их значений).

101

Построим другое допустимое расписание с тем же моментом запуска: j 1 2 3 5 4 7 6

Табл. 5 – расписание 1 pj dj Cj dj –Cj 70 140 130 10 60 200 190 10 50 240 240 0 30 320 270 50 40 310 310 0 10 340 320 20 20 340 340 0 Суммарное опережение: 90

В этом расписании задания 1, 2, 3 стоят на позициях, соответствующих упорядочению по неубыванию длительностей. Задание 4 стоит не на своей позиции k4 = 5  4. Переставляем его на позицию 4, получаем расписание 5, изменение суммарного опережения составило 4= 5 1

 pj i4

[i ]

– (5  4) p4 =30 – 40 = –10 < 0. Табл. 6 – расписание 5 j pj dj Cj dj – Cj 1 70 140 130 10 2 60 200 190 10 3 50 240 240 0 4 40 310 280 30 5 30 320 310 10 7 10 340 320 20 6 20 340 340 0 Суммарное опережение: 80

В расписании 5 задания 1–5 стоят на позициях, соответствующих упорядочению по неубыванию длительностей. Задание 6 стоит не на своей позиции k6 = 7  6. Переставляем его на позицию 6, получаем расписание 7 =  (табл.


102

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56 Пример к теореме 5 4), изменение суммарного опережения 6 = 7 1

 pj i 6

[i ]

– (7  6) p6 = 10 – 20 = –10 < 0. Сум-

марное опережение в расписании  является минимальным. Теорема 5. В общем случае верхняя оценка отклонения суммарного опережения допустимого расписания, полученного упорядочением по неубыванию директивных сроков, от оптимального расписания для того же момента запуска по критерию минимизации суммарного опережения, определяется выражением: n 1  i   p j  i ,  d i  rmax   p j  jmin  i 1  j 1   i 1,n  , (1)  i  max  0, max p j  pi   j i 1,n  где a обозначает ближайшее снизу целое от a. Доказательство основано на первой части доказательства теоремы 4. Определяется наихудшее увеличение опережения при перестановке i-го задания на i-ю позицию в соответствии с упорядочением по неубыванию директивных сроков. Значение i     di  rmax   p j   j 1 

 min p j  j  i 1, n 

определяет

максимальное количество заданий, которые могут стоять перед i-м заданием, а величина  i определяет увеличение опережения в результате перестановки. Если max p j  pi < 0, то  i j i 1,n

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

Рассмотрим произвольное допустимое расписание, в котором задания упорядочены по неубыванию директивных сроков, с максимальным моментом запуска: Табл. 7 – расписание  момент запуска r = rmax = 55) j pj dj Cj dj –Cj 1 25 110 80 30 2 30 120 110 10 3 40 150 150 0 4 30 200 180 20 5 25 250 205 45 6 35 270 240 30 7 45 370 285 85 Суммарное опережение: 220 По формуле (1) вычисляем величину верхней оценки отклонения суммарного опережения от оптимального: 30 / 25  20 + 10 / 25 15 + 0 / 25  5 + 20 / 25 15 + 45 / 35  20 + 30 / 45  10 = 1·20 + 0 + 0 + 0 + 1·20 + 0 = 40. Выводы

Рассмотрены актуальные задачи теории расписаний, не рассматриваемые ранее в данной постановке, которые найдут широкое применение в современных условиях планирования точно в срок. Проведено исследование свойств этих задач. Получены новые логикоаналитические условия реализации полиномиальной составляющей ПДС-алгоритма решения задачи по критерию минимизации суммарного запаздывания для одного прибора [1]. Разработан точный полиномиальный алгоритм определения самого позднего момента начала выполнения заданий в системе n | 1, при котором расписание остается допустимым. Выделен частный случай задачи по критерию минимизации суммарного опережения и определены условия, при выполнении которых расписание будет оптимальным. Для общего случая получена верхняя оценка отклонения суммарного опережения допустимого расписания от оптимального.

Литература

1. Згуровский М.З., Павлов А.А. Принятие решений в сетевых системах с ограниченными ресурсами: Монография.– К.: Наукова думка, – 2010.– 573 с.


УДК 51-77: 65.011.56 РОДІЧЕВА О.С., ЧЕМЕРИС А.М., ТЮТЮННИК С.В. МАТЕМАТИЧНІ МОДЕЛІ ЗАДАЧІ ВИБОРУ ОПТИМАЛЬНОГО НАБОРУ ЗАПИТІВ МАТЕРІАЛІЗАЦІЇ Запропоновано моделі роботи бази даних, що використовують формалізовані знання аналітиків у вигляді правил алгебри показників, які використовуються для вирішення задачі вибору оптимального набору запитів матеріалізації. Моделі є розширенням базової моделі параметричної бази даних Гриші С.М. Запропоновано метод визначення обернених ребер орграфу предметної області з використанням правил алгебри показників для отримання графу моделі з альтернативним джерелом даних. Для проведення експериментальних тестів запропонованих моделей було формалізовано нелінійну модель бульового програмування. Результати експериментів підтверджують ефективність використання запропонованих моделей. Two formal models of database work are offered for using in solving task of choosing of optimal set of materialized views and that use formalized analyst knowledge in a form of indices algebra rules. The proposed models are extensions of the base parameterized database model of Dr. Grysha S.M. A method of adding back calculated edges to an oriented graph of the subject area is proposed through the use of indices algebra for obtaining a directed graph of a model with an alternative data source. A nonlinear model of Boolean programming was formalized for experimentally testing. The results of experiments prove the effectiveness of implementing the proposed models. ВСТУП

Проблема здешевлення сукупної вартості володіння інформаційною системою управління бізнесом (ІСУБ) на всіх стадіях життєвого циклу є актуальним напрямком дослідження, адже досі вартість інформаційних систем залишається надзвичайно високою. Однією з найважливіших задач в рамках вирішення вказаної проблеми є автоматизація вирішення задачі вибору оптимального набору запитів матеріалізації (ВОНЗМ), що в свою чергу дозволить отримати оптимальну або хоча б ефективну структуру бази даних(далі БД) ІСУБ. Математичні моделі та застосовані в роботі підходи є частиною технології автоматизованої розробки ІСУБ «КІТХХІ» та призначені для вирішення вказаної задачі. Для опису предметної області використовується алгебра показників [1, 2, 12]. В системах чи підсистемах типу OLTP матеріалізовані дані включають первинні показники та деяку невелику підмножину вторинних показників. Для складних запитів над великим об’ємами даних широко розповсюдженими є системи типу OLAP, які дозволяють швидко обробляти запити, але і в них аналогічний перелік даних для матеріалізації визначає користувач. Наприклад в Oracle BI аналітик має визначити три рівні: фізичний рівень, бізнесмодель та рівень представлення [13]. Ціль дослідження автору є пошук ефективних шляхів

автоматизації, а в подальшому і переведення в автоматичний режим методів розподілу всього простору показників, що потребують користувачі, на множини віртуалізованих та матеріалізованих показників для забезпечення своєчасного отримання інформації. Зазначимо, що дане питання потребує автоматизації на об’ємах даних в десятки, сотні мільйонів записів та більше. 1. ОГЛЯД ЛІТЕРАТУРИ

Задача пошуку оптимальної структури БД розглядається в багатьох роботах: [3]-[7]. В зарубіжній літературі проблема пошуку оптимального набору представлень для матеріалізації відома під назвою “view-selection problem”, семантична оптимізація в БД відома під назвою ”semantic query optimization” [8]. В роботі [9] показано, що задача вибору представлень є npповною задачею для потоку запитів без самоз’єднань таблиць (self-joins). В роботі [10] формалізовано задачу пошуку набору представлень (views) БД для матеріалізації, які б задовольнили обмеження дискового простору. В роботі [11] описано підхід з використанням оптимізації запитів, що є самонастроюваним в процесі роботи системи. В опрацьованих роботах не було знайдено такої формалізації, яка б дозволяла вирішувати питання матеріалізації вже під час розробки ІСУБ з використанням


104

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

формалізованих знань аналітиків. Також не було знайдено бульової формалізації цільової функції задачі (далі ЦФ) на базі алгебри показників чи реляційної алгебри(далі – РА), що відображає предметну область. В більшості робіт моделі спрощені і опущені важливі обмеження на час обробки запитів та час матеріалізації при зміні даних, в той час як вони зазвичай є вирішальними при визначенні питання матеріалізації відношення. В описаних методах не використовуються семантичні знання про структуру запитів та їх зв’язки між собою, які дають додаткову інформацію для оптимізації структури БД. 2. МОДЕЛЬ СТРУКТУРИ БД З БЕЗАЛЬТЕРНАТИВНИМ ДЖЕРЕЛОМ ДАНИХ

Запропонована модель базуються на моделі параметричної БД Гриші С.М [12], яка доопрацьована наступним чином: 1) використовується невідкладний режим актуалізації БД, за якого актуалізація показників виконується примусово ще до появи запиту до похідних показників; 2) використовується такий режим підтримки БД, за якого для визначеної підмножини показників P актуалізація може виконуватись відкладено з певним зсувом в часі з визначеними обмеженнями B  : b   B  ; 3) визначено множину елементів відношення обчислювальності. Показник – відношення БД чи певним чином обрана підсхема, яка може бути матеріалізована чи віртуалізована (обчислюватись кожен раз з попередніх показників при кожному новому зверненні). Актуалізація – процес встановлення відповідності значень зв’язаних показників. Деактуалізація – поява невідповідності значень матеріалізованих показників, що викликане змінами первинних показників. Будемо використосувати для позначення схему показника p позначення: sh  p  . Визначення 1. БД зі збереженням частини показників (відношень) можна представити моделлю наступного вигляду: P, A, M , R,    (2.1) де P – множина показників БД така, що P  P x  Pv , P x  Pv  , P  P P x – множина показників, що зберігаються у зовнішніх запам’ятовуючих пристроях (матеріалізовані показники) і тому при зверненні до них процедури актуалізації виконуються тільки в разі, коли в початкових показниках зареєст-

ровані зміни; P v – множина віртуальних показників, тобто таких при зверненні до яких завжди вимагається їх актуалізація; P – множина показників, яка визначається аналітиком при проектування, що може бути матеріалізована відкладено, для якої аналітик задає вектор максимального часу матеріалізації B . P   P x – множина матеріалізованих показників, при зверненні користувача до яких система не буде очікувати завершення актуалізації даних, та буде надавати останні актуальні дані  v на попередній період часу. P  P - множина віртуалізованих показників, обчислення яких відбувається при зверненні користувача, тобто після отримання рішення задачі ВОНЗМ, тобто P   P v  P v . Також для результуючої множиx ни, коли відомо P можна записати наступне: p i  P x  P   p j  P  : pi  p j  

 



 P  : P  \ pi A  P  P - відношення обчислювальності (джерела даних), тобто p1 , p2  A означає що

p2 обчислюється з p1 або, що теж саме, p1 необхідне для обчислення p2 ( p1 є джерелом даних для обчислення p2 ). 

P – множина всіх первинних показників БД, тобто таких, які не можуть виводитись з інших; P  – множина всіх кінцевих показників БД чи її підсистеми, тобто таких, які не приймають участі при виведенні інших показників; оскільки для деяких показників є альтернативні джерела даних, то одне джерело отримання даних для кожного такого показника остаточно буде визначена тільки після рішення задачі ВОНЗМ; M  m p  p  P - вектор об’ємів показників

для збереження на деякий заданий часовий інтервал роботи системи, де mp – об’єм пам’яті, що необхідний для збереження показника p , що є, в загальному випадку, деякою випадковою величиною; R – вектор трудомісткості операцій вибірки та зміни даних над показниками;  – вектор інтенсивності запитів користувачів до показників БД;  – вектор інтенсивності потоків зміни первинних показників. Вказані потоки з інтенсивностями  та  є стандартними пуасонівськи-


Математичні моделі задачі вибору оптимального набору запитів матеріалізації

ми потоками подій. Визначення 2. Множиною елементів відношення обчислювальності A може бути будьякий оператор алгебри показників. За базис операцій алгебри показників обрано наступні операції: сортування  B  p  , проекція

 B  p  , селекція  C  p  , агрегування  B  p  ,

з’єднання   p1 , p2  та об’єднання   p1 , p2  . Коротко нагадаємо відмінність від однойменних в РА. Оператори сортування  B  p  та се-

лекції  C  p  та агрегування  B , B  p  такі ж як і однойменні в реляційній алгебрі. Оператор проекції  B  p  виконує розширену проекцію над мірами показника p , при цьому виміри залишаються незмінними. Оператори натурального з’єднання   p1 , p2  та об’єднання group

agg

  p1 , p2  відрізняються від однойменних в РА тим що з’єднує/об’єднує відповідно множини показників за рівністю доменів відповідних атрибутів а не за назвою імен. Також До схеми результуючого відношення при застосуванні оператора об’єднання автоматично додається ще одна міра – u p , значення якої визначає до

якого показника належить кортеж: до p1 , до p2 p1 p2 : та чи одночасно до

sh    p1 , p2    sh  p1   u p . Визначення 2 дозволяє отримати практичні рекомендації щодо правил побудови вхідного орграфу предметної області: для кожного запиту на базі алгебри показників будь-який оператор виразу алгебри показників будь-якого показника вважається показником. Це, окрім іншого, забезпечує можливість редукції орграфу при побудові тим, що якщо серед показників, що визначені аналітиком, присутній вузол p j зі структурою як у проміжного вузла k , то в якості такого внутрішнього вузла береться такий знайдений існуючий показник p j , інакше ство-

рюється новий показник pk  P 3 , де P 3 – множина всіх довизначених автоматично показників;  p – множина показників, з яких безпосередньо виводиться (обчислюється) показник p за допомогою відповідної процедури. Помітимо, що  p  P   p    .  p – множина всіх показників, що приймають участь в актуалізації показника p . Помітимо, що  p     p   .

105

p – множина первинних показників, що впливає на актуальність показника p , тобто  p   p  P . p – множина показників, при обчисленні яких безпосередньо використовується показник p у відповідних процедурах. Помітимо, що  p  P   p    . p – множина показників, при обчисленні яких опосередковано використовується показник p . p – множина кінцевих показників, в актуалізації яких приймає участь показник p ; Pj – множина показників, що запитані в результаті запиту до довільного показника j ; P  – множина показників, що знаходяться в неактуальному стані; P  – множина актуальних показників; p – факт безпосереднього запиту до показника p ; p – факт опосередкованого запиту до показника p через інші показники; p – факт неактуальності показника p ; p  – факт актуальності показника p (всі віртуальні показники вважаються неактуальними). Функціонування БД є чергування процесів актуалізації та деактуалізації. В класі БД, що досліджується, актуалізація ініціюється завершенням актуалізації первинних показників. Якщо актуалізовано показник p, p  P , то далі поетапно актуалізуються показники з множини p P x . Таким чином, при зверненні до будьякого показника користувачем всі показники,  окрім показників відкладеної матеріалізації P , мають бути актуалізовані: Pj  P  \ P   

або знаходитись в стані актуалізації. Деактуалізація в класі БД, що розглядається, виконується подібним чином. Якщо внесено зміни до показнику p  P , то показники

P x  p оголошуються неактуальними, тобто P   P    P x  p  

Для строгих оцінок ефективності БД потрібно аксиоматизувати описаний вище порядок обробки запитів (запам’ятовування) та деактуалізації (забуття). Аксіоми запитів:


106

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

А.1.  p  P  p  p

А.2.  pi , p j  P  p j  pi  j  i

А.3.  p j   pi , pi  P x  pi  pi А.4. p j

  pj

  pi  p j   pi  P x  pi

Аксіома А.1. забороняє можливість замкнених циклів в БД при отриманні даних. Аксіома А.2. забороняє одночасні безпосередні запити до двох чи більше різних показників. Аксіома А.3. визначає появу опосередкованого запиту для показника. Аксіома А.4. визначає обов’язкову наявність показника з множини p j  до якого відбувся прямий запит, якщо є опосередкований запит p j . Аксіоми А.1.– А.4. породжують множину ситуацій запиту (ситуацій, що мають місце в момент початку запиту). Стан після зміни первинного показника визначається аксіомою актуалізації: А.5.  p  P  p   p  p

Аксіоми деактуалізації: А.6.  p j , pi  P  p j   pi   j  i

А.7.  p  P  p  p  p   p 

Аксіома А.6. забороняє одночасну деактуалізацію двох або більше показників. Зазначимо, що деактуалізація первинних показників для великих об’ємів даних може займати багато часу, тому що в БД для відповідних таблиць є індекси, можливо секції, тощо, які в свою чергу зменшують час отримання інформації. Аксіома А.7. визначає перехід показника в неактуальний стан коли він безпосередньо змінився чи хоча б один показник, який приймав участь в його виведенні та визначає наступний запуск актуалізації після завершення процесу деактуалізації. 3. МОДЕЛЬ СТРУКТУРИ БД З АЛЬ ТЕРНАТИВНИМ ДЖЕРЕЛОМ ДАНИХ

Модель структури БД з альтернативним джерелом даних базується на попередньо описаній моделі та має суттєве розширення – в модель включено можливість альтернативної обчислювальності для підмножини показників, яку визначено далі. Структура даної моделі описана визначенням 1. В даній моделі використовуються такі ж показники, як і в попередній характеристики показників моделі P, ( M , R,  ,  ) такі самі, як і в моделі з безальтернативним джерелом даних. Аналогічно викори-

стовуються позначення показників, що обчислюються відносно показника p (  p,  p, p, p ), множини первинних та кінцевих показників (  P та P  відповідно), множини показників, що запитані P , деактуалізовані P  , актуальні P  . Також використовуються позначення факту безпосереднього та опосередкованого запиту до відповідно. В даній мопоказника p та p делі актуальні всі формули попередньої моделі та додано ті, що описано нижче. До структури показників P ( P x , P v , P ) та відношення обчислювальності A додамо: P – множина показників альтернативної обчислювальності, які можуть бути джерелом даних для деяких вершин з  P ; P  P x – множина показників, які можуть бути джерелом даних для вершин, з яких вони обчислюються при вибірці (не при актуалізації). До множини аксіом А.1.–А.4. додамо аксіому, які визначає наявність альтернативного джерела даних для деякої підмножини вершин: А.8. p : p  P   P x \ P   показник p при

наявності факту прямого p чи опосередкованого запиту p може обчислюватись як з попередніх вершин  p , так і з вершин p , що визначені аксіомою. Введення множин показників альтернативної обчислювальності, що є можливим тільки для деякого обмеженого типу вершин, дає можливість обрати джерело даних за критерієм мінімальних витрат при обчисленні даних. 4. ПРАВИЛА ФОРМУВАННЯ РЕБЕР ОБЕРНЕНОЇ ОБЧИСЛЮВАЛЬНОСТІ В ОРГРАФІ ПОКАЗНИКІВ

Кожна вершина орграфу показників отримується з попередніх застосуванням відношення обчислювальності A . Кожний показник з імовірністю, відмінною від нуля, в результаті рішення задачі ВОНЗМ може бути матеріалізований і тому розглянемо можливість обчислення віртуалізованих показників з похідних матеріалізованих. Далі наведено твердження алгебри показників, на базі яких отримується перелік показників, для яких потрібно добудувати обернені ребра в орграфі. Твердження 4.1. Якщо для деяких показників виконується ліва частина однієї з формул (4.1) – (4.6), то в орграф показників потрібно додати ребро (будемо називати його ребром альтернативного джерела отримання даних),


Математичні моделі задачі вибору оптимального набору запитів матеріалізації 107 формула обчислення для якого описується в входять в B ), тобто права частина (4.2)

правій частині відповідної формули, яке можна задіяти для отримання таких даних за умови матеріалізованості та актуальності показниківджерел даних.  p2   B  p1     sh  p1   sh  p2    (4.1)  p1   B sh p   p2 

1

 p    p    p    p     B  sh  p     p    p    p    p    p : p    p     p  p  2

1

1

B

1

1

2

i

p

2

B

2

1

1

B

i

(4.2)

1

(4.3)

2

 

  C1  p1   p1   C2  p     C1  C2    p1  p2 

 p3  p1  p2    shr ( p1 )  shr ( p2 )     pi   sh p   p3  , i 1, 2   p3  p1  p2    sh( p1 )  sh( p2 )  

3

i

5. ПОСТАНОВКА ЗАДАЧІ БУЛЬОВОГО ПРОГРАМУВАННЯ

Нехай P1 – набір всіх первинних показників, тобто P1   P ; P 2 – набір всіх похідних показників, що визначені користувачем; P 3 – набір всіх добудованих показників (тобто таких, які користувач визначив у вигляді формул та не виділив в окремі показники), кожен з яких відповідає одній з вершин показників (очевидно, внутрішній). P1  n, P 2  m , P 3  l

xi – бульова ознака матеріалізації i -го пока(4.4)

(4.5)

1

 pi   parg  p  p3  , i 1, 2 

виконується■

(4.6)

  sh  p3   sh  p1   u p 

де sh  p  – схема показника, shr – ключ показника p , u p - додатковий атрибут. Доведення. Наведемо доведення твердження для формули (4.2), для всіх інших формул твердження доводиться аналогічно. Згідно твердження показник p1 є результатом застосування оператора сортування показника p та показник p2 є результатом застосування оператора сортування над p1 , то p1 можна отримати з p2 застосувавши той самий оператор сортування з переліком атрибутів, що p1 . Доведемо від відповідає показнику зворотнього. Нехай виконується ліва частина формули (4.2) та не виконується права, тобто p1 не можна отримати з p2 , застосувавши оператор сортування з переліком атрибутів, що відповідає показнику p1 . Але за визначенням оператор сортування не змінює кортежів множини [14], а порядок сортування буде збережено при застосуванні того самого оператора сортування B до p2 . Тобто застосувавши оператор B до p2 отримаємо показник p ' , еквівалентний p1 (не враховуючи порядок сортування за атрибутами, що не

зника: i  1, n : xi  1 . i – бульова ознака відкладеної матеріалізації i -го показника Визначимо ЦФ задачі, переписавши формулу критерію ефективності, запропоновану в [12] так, щоб враховувати тільки змінні витрати експлуатації системи: (5.1) c  R Sb  R Cb  R b  M Sb де R – вартість простоїв, що викликані порушенням часового обмеження отримання даних, RCb – вартість простоїв, що викликані порушенням часу актуалізації даних, R b – вартість простоїв, що викликані порушенням часу отримання даних показників відкладеної матеріалізації; M – вартість додаткового сховища для збереження даних. Для R Sb , RCb , R b та M аналітик визначає деякий проміжок часу (на кожний такий проміжок часу потрібно буде здійснити витрату c ). Постійні витрати зменшуються іншими методами, зокрема, використанням самої технології KIT-XXI, що описано в [2]. Деталізуємо ЦФ: nm

c   max  RiS  biS  , 0 i kiS  i 1

 n C C C   max  Ri  bi  , 0 i ki  i 1    max  RCj  bCj   , 0 * C I ,U , D    p j P  *  k  i i 

     (5.2)   

n  m l

 mx i 1

i i

де RiS , RiI RiU , RiD – час виконання операції над показником відповідно вибірки, вставки, онов-


108

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56 7. ВАРТІСНІ ОЦІНКИ ПАРАМЕТРІВ МОДЕЛІ лення, видалення; ki – ваговий коефіцієнт важДЛЯ ЗАДАЧІ З АЛЬТЕРНАТИВНИМ ливості забезпечення швидкодії роботи відпоДЖЕРЕЛОМ ДАНИХ

відного показника для операцій вибірки, вставки, оновлення, видалення;  – усереднена вартість простоїв для підприємства кожної часової одиниці. Математична постановка задачі ВОНЗМ на орграфі алгебри показників наступна: для зада1 2 ного набору запитів БД ( P , P ), частот роботи з ними i ,  i , (вибірки, зміни даних), при зада-

них обмеженнях на час biS , biC (вибірки, зміни даних), заданих зважених значень порушень оперативності реагування показників kiS , kiC (вибірки, зміни даних), вартості часу користувачів  , простій яких відбувається в разі порушення часового регламенту, при заданих періоді генерування T gen , значені вартості зовнішньої пам’яті  , векторі можливості відкладеної матеріалізації  та часовому обмеженні на таку відкладену матеріалізацію B , знайти такий вектор матеріалізації X , за якого значення функції сумарної зваженої вартості змінних витрат експлуатації системи (5.2) буде мінімальним. 6. ВАРТІСНІ ОЦІНКИ ПАРАМЕТРІВ МОДЕЛІ ДЛЯ ЗАДАЧІ З БЕЗАЛЬТЕРНАТИВНИМ ДЖЕРЕЛОМ ДАНИХ

Вартість вибірки даних для i -ї вершини графу залежить від значення бульової змінної матеріалізації: RiS  RiSM xi  1  xi  RiSN

(6.1) – вартість вибірки даних зі сховища,

Де RiSM

за умови, що показник матеріалізовано; RiSN – вартість виконання запиту алгебри показників вибірки даних за умови, що показник не матеріалізовано і виконується вибірка даних з показників; загальна формула для отримання значення RiSN для показника pi , аргументами якого є показники p j , pk (або тільки p j ): SN i

R

Значення

 ai  b ji R  bki R  ci R R S j

S k

S j

S k

RiC  f  X ,  , V  обчислюється за

формулою: RiC 

p j  pi 

R SN j xj j

(6.2)

Для моделі з альтернативним джерелом даних процеси актуалізації ідентичні із процесами актуалізації в моделі з безальтернативним джерелом даних, RC рахується також за формулою (6.2), причому RiS у формулі (6.2) обчислюється за формулою (6.1), а RiS для визначення вартості вибірки обчислюється з врахуванням альтернативної обчислювальності:  SM  SN  Ri xi  1  xi  Ri ,   back  S Ri  min  R j1 x j1  1  x j1 L ,...,  , (7.1)    R back  x  1  x L jp  jp jp 

 

 

jq : V  jq , i   V back

де L – достатньо велика за значенням константа, щоб забезпечити умову невикористання оберненого ребра, якщо наступну вершину не матеріалізовано: L  max  RiSM , RiSN  тобто вартість вибірки визначається як найменше з вартості безпосередніх обчислень та всіх можливих вартостей альтернативних обчислень. Перепишемо формулу (5.2) з врахуванням оберненої обчислювальності так:

nm

c   max  Rimin  biS  , 0 i ki  i 1

   C max    R SN x   b ,0    p j  pi  j j j i         (7.2) CI ,U , D i 1  i ki n

n  m l

 i 1

mi xi 

 SM  SN  Ri xi  1  xi  Ri ,    Rimin  min  R back x j1  1  x j1 L ,...,  (7.3) j1    R back  x  1  x jp L  jp jp  Твердження 7.2. Для циклічного орграфу G ' , який отримано в результаті додавання обернених ребер застосуванням правил (4.1) – (4.6), виконується:

 

 


Математичні моделі задачі вибору оптимального набору запитів матеріалізації

X i  X : c '  X i   c  X i 

109

(7.4)

(7.7) і для обчислення вершини pi було обрано

де c '  X i  – значення ЦФ, побудованої на

це ребро  p jk , pi  , якому відповідає доданок

графі G ' за формулою (7.2), а c  X i  – значення ЦФ, побудованої на графі G за формулою (5.2). Доведення. Розглянемо можливі варіанти значення матерілаізації вектору рішення X і їх вплив на значення ЦФ. Розглядаючи всі чотири варіанти сумісної матеріалізації показників p1 , p2 легко бачити, що тільки для варіанту матеріалізації, за якого x1  0, x2  1 , обернене ребро може бути використане для отримання даних. За визначенням ЦФ c та c ' ((5.2) та (7.2) відповідно) відрізняються тільки в частині суми вартості вибірки показників RS . Тому для доведення (7.4) потрібно показати, що max

 R

SM i

 

xi  1  xi  RiSN   biS , 0 

    RiSM xi  1  xi  RiSN ,       back     Rj xj  1 x j L ,  1 1 1 (7.5) S       bi , 0  max min     ...,            R back    x 1 x L jp  jp jp    

 

 

Якщо для вершини не знайдеться оберненого ребра, для якого max RiSM xi  1  xi  RiSN  (7.6)  max min Rback x   x L 1 jk jk jk

 

 

то у нерівності (7.5) ліва і права частини будуть рівні між собою, а тому виконується нерівність (7.4). Якщо ж знайдеться ребро для якого виконується умова (7.6), а отже і (7.5) то, відповідно, (7.4) виконується також, що й потрібно було довести. ■ Твердження 7.3. Якщо для деякого ребра  p jk , pi  виконується min( RiSM , RiSN )  R back jk

(7.7)

де RiSN – верхня оцінка значення RiSN :

RiSN  RiSN  xg  0  , pg  pi

(7.8)

то для жодного вектору рішень X це ребро не може бути обране до використання для обчислення значення відповідного показника. Доведення. Доведення від зворотнього. Нехай для ребра  p jk , pi  виконується умова

формули (7.3)

R

back jk

 

x jk  1  x jk L

ЦФ (7.2).

але з умови (7.7) випливає, що для обчислення з мінімальним часом не потрібно обирати ребро , а потрібно обирати ребро i ніколи не R back jk буде обране ребро  p jk , pi  . Отже, прийшли до протиріччя, що й треба було довести. ■ Запишемо алгоритм додавання обернених ребер наступним чином. Алгоритм 1 – Додавання обернених ребер до графу G 1 Сформувати множину правил C , для отримання ребер альтернативного джерела даних 2 for (для) кожної вершини pi  P G  3 if

 c  C : c  p

i

 p2 , p j  p1   true 

 min( RiSM , RiSN )  Rback jk

4 then V G   V G    p j , pi , a ji  R Sji На поточний момент множину правил C складають правила (4.1) – (4.6). Зазначимо, що саме твердження (7.2) дає можливість на етапі 3 алгоритму 1 відсікти непотрібні обернені ребра, тобто ті, які ніколи не призведуть до покращення рішення. 7. ПЛАН ТА РЕЗУЛЬТАТИ ЕКСПЕРИМЕНТІВ

Метою експерименту є з’ясування області ефективного застосування запропонованих в роботі підходів за допомогою статистичної оцінки наступних параметрів: 1) відсоток ребер, для яких спрацювали правила побудови ребер оберненої обчислювальності; 2) відсоток задіяних обернених ребер; 3) відношення значень ЦФ наближених рішень задачі на графі з альтернативним джерелом даних та на графі з безальтернативним джерелом даних при одних і тих самих векторах X . Обчислювальний експеримент проводився на випадкових, штучно згенерованих даних. Розмірності даних, на яких проводяться випробування, наведені у таблиці 1 разом з результатами експериментів. Графічне відображення результатів експерименту наведено в на рисун-


110

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

ку 1. Табл. 1. Результати проведення експерименту для визначення ефективності використання задачі з альтернативним джерелом даних Середня кількість вершин

% визнач. оберн. ребер

% викор. оберн. ребер в найкр. ріш-ні

% покращення ЦФ при вик. оберн. задачі ГА

11,92

70,63

P1

P2

P3

Кінц.

Всього

Всього наборів

1

3

4

3

2

10

40

42,28

2

4

7

4

2

15

40

35,48

8,44

75,38

8,56

80,7

#

3

4

8

6

2

18

40

40,63

4

5

11

10

2

25

40

38,67

8,76

83,7

5

10

22

18

3

50

40

43,12

9,9

89,43

6

10

25

25

4

60

40

44,76

9,94

93,25

7

20

42

38

6

100

40

44,18

9,71

90,32

8

30

89

81

9

200

40

42,52

9,75

88,05

9

100

155

145

14

400

40

44,92

10,37

89,55

10

50

153

297

18

500

40

43,57

4,59

95,3

0,52

93,15

11

50

281

269

19

600

40

43,91

12

200

418

382

32

1000

40

45,35

0,97

91,57

13

300

921

779

145

2000

40

42,14

1,67

93,41

14

200

1105

1195

109

2500

40

42,85

2,39

98,45

15

500

2407

2093

299

5000

40

42,55

1,64

99,39

16

2500

2762

2238

527

7500

40

42,72

0,53

98,49

17

200

2150

7650

495

10000

40 min:

41,61

1,2

99,99

35,48

0,52

70,63

max:

45,35

11,92

99,99

avg:

42,43

5,93

90,04

120 100 80 60

% покращення ЦФ при вик. оберн. Задачі ГА % визначених оберн. ребер

40 20 0

% викор. оберн. ребер в найкращому рішенні

Рис. 1. Графічне відображення результатів проведення експерименту з визначення ефективності використання задачі з альтернативним джерелом даних

Для кожного графу було згенеровано відповідну кількість вершин, ребер, коефіцієнти для вершин та ребер. Оцінки потужностей вершин визначались за допомогою загальних правил, описаних в [14].

Випробування були проведені на всіх комплектах експериментальних даних. В якості наближеного алгоритму для рішення було використано генетичний алгоритм. Вибір саме цього алгоритму був зумовлений його широким


Математичні моделі задачі вибору оптимального набору запитів матеріалізації

розповсюдженням при вирішенні задач оптимізації в БД[15,16]. Для визначення області ефективного застосування генетичного алгоритму для рішення даної задачі було проведено попередній експеримент для визначення ефективних параметрів алгоритму. Результати проведеного експерименту свідчать про високу доцільність використання математичної моделі з альтернативним джерелом даних. Час на додавання обернених ребер до графу менше O  n A  , де n A – кількість всіх ребер в графі, і не впливає на результати експерименту. Тому при однакових витратах часу та однакових характеристиках генетичного алгоритму було отримано покращення значення ЦФ в середньому на 90,04, при середній кількості визначених до використання ребер – 5,93% та 42,43% усіх визначених обернених ребер згідно правил. Для вхідних даних задачі ефективність застосування суттєво збільшується при збільшенні розмірності задачі, хоча частка задіяних обернених ребер і значно зменшується при цьому, що значно розширює область ефективного застосування запропонованого підходу. МАЙБУТНЯ РОБОТА

Дана робота є частиною робіт зі створення інтелектуальної технології розробки та впровадження ІСУБ на базі технології «КІТ-ХХІ» з функціями OLTP та OLAP. Найближчим часом планується опублікувати результати з дослідження ефективних методів рішення задачі ВОНЗМ, що використовують моделі, описані в даній роботі. ВИСНОВКИ

1. Узагальнено дослідження вітчизняних та зарубіжних видань на тему ВОНЗМ. Аналіз підтверджує актуальність вирішення поставле-

111

ної задачі та недостатність існуючих методів для ефективного рішення задачі. Окрім іншого, в описаних методах не використовуються семантичні знання про структуру ІСУБ. 2. Для вирішення поставленої задачі було сформульовано та аксіоматизовано дві математичні моделі (формально та у вигляді бульової задачі), що є розширенням моделі параметричної БД Гриші С.М [12]: модель з безальтернативним та модель з альтернативним джерелом даних. Було визначено елементи відношення обчислювальності в моделі БД; в моделі використовується невідкладний режим актуалізації БД; в моделі визначено множину показників відкладеної актуалізації з обмеженням на максимальний час матеріалізації. Друга модель з альтернативним джерелом даних базується на попередньо описаній моделі та має суттєве розширення – в модель включено можливість оберненої обчислювальності для підмножини показників. 3. Запропоновано метод визначення обернених ребер в орграфі з використанням правил алгебри показників. 4. Результати проведеного експерименту свідчать про високу доцільність використання математичної моделі з альтернативним джерелом даних. При однакових витратах часу та однакових характеристиках генетичного алгоритму, що використовувався для пошуку рішення, було отримано покращення значення ЦФ в середньому на 89,58, при середній кількості визначених до використання ребер – 46,22% з 42,18% усіх визначених обернених ребер. Для вхідних даних задачі, ефективність застосування суттєво не змінюється для різних розмірностей задачі, що значно розширює область ефективного застосування запропонованого підходу.

ЛІТЕРАТУРА

1.

2.

3. 4. 5.

Формализация процедур обработки данных в АСУ на основе алгебры показателей : материалы 3-й Советско-Польской научно-технической конференции «Комплексная автоматизация промышленности» / Гриша С.Н., Фаловский А.А., Малькевич А.Б. – ПНР, Вроцлав, 1988. – т.2 с.131-134. Гриша С.М. Технологічно інтелектуалізовані інформаційні системи для управління бізнесом (ІСУБ) на основі алгебри показників / Гриша С.М., Родічева О.С., Приліпко Д.І. // Вісник Національного Технічного Університету «ХПІ». – 2008. – №5. – С.123-133. Agrawal S. Automated selection of materialized views and indexes in Microsoft SQL Server / Agrawal S, Chaudhuri S, Narasayya V // In: Proc VLDB. – Cairo, Egypt, 2000. – pp 496-505. Gupta H. Index selection for OLAP / Gupta H, HarinarayanV, Rajaraman A, Ullman JD. // In: Proc ICDE. – 1997. – pp 208-219. Harinarayan V. Implementing data cubes efficiently/ Harinarayan V, Rajaraman A, Ullman JD. // In: Proc


112 6. 7. 8. 9.

10. 11. 12.

13. 14.

15. 16.

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56 SIGMOD. – 1996. – pp. 205-216. Karloff HJ. On the complexity of the view selection problem / Karloff HJ, Mihail M. // In: Proc PODS. – Philadelphia, Penn., USA, 1999. – pp 167-173. Yang J. Algorithms for materialized view design in data warehousing environment / Yang J, Karlapalem K, Li Q. // In: Proc VLDB. – Athens, Greece, 1997. – pp 136-145. U.S. Chakravarthy “Logic-based Approach to Semantic Query Optimization,” / U.S. Chakravarthy, J. Grant, and J. Minker //ACM Trans. Database Systems. – 1990. –vol. 15, no. 2. – pp. 162-207. Rada Chirkova. Designing Views to Answer Queries under Set, Bag,and BagSet Semantics / Rada Chirkova, Foto Afrati, Manolis Gergatsoulis, Vassia Pavlaki // Proceedings of 6th International Symposium, SARA. – Scotland, UK, 2005. – pp. 332-350. Rada Chirkova. A Formal Perspective on the View Selection Problem / Rada Chirkova , Alon Halevy , Dan Suciu // Proc. of the Int. Conf. on Very Large Data Bases. –2002. – pp. 216-237. V. Markl. LEO: An autonomic query optimizer for DB2 / V. Markl, G. M. Lohman, V. Raman // IBM SYSTEMS JOURNAL. – VOL 42, NO 1. – 2003. – pp. 98-106. Гриша С.Н. Информационно-стоимостной анализ и синтез моделей компьютеризованного управления производственными системами : Дис. ... док. техн. наук.: 05.13.06 / Гриша Сергей Николаевич / Киевский политехнический институт. – К., 1991. – 340 с. Rittman Mead – Delivered Intelligence. OBIEE 11.1.1.5 and Oracle OLAP Support http://www.rittmanmead.com/2011/05/untitled-1/ Гектор Гарсиа-Молина. Системы баз данных. Полный курс / Гектор Гарсиа-Молина, Джеффри Д. Ульман, Дженифер Уидом.; Пер. с англ. – М.: Издательский дом «Вильямс», 2003. – 1088 с. – ISBN 58459-0384-X. Kristin Bennett. A Genetic Algorithm for Database Query Optimization. / Kristin Bennett, Michael C. Ferris, Yannis Ioannidis // 4th Int’l Conference on Genetic Algorithms. – San Diego, CA, July 1991. – pp. 400-407. Michael Stillger. Genetic Programming in Database Query Optimization / Michael Stillger, Myra Spiliopoulou // Institut fur Informatik Humboldt-Universitat zu Berlin, 1996.


УДК 519.8; 368; 65.0+004.421.2 НОРКИН Б.В. ОБ АКТУАРНЫХ ВЫЧИСЛЕНИЯХ С ИСПОЛЬЗОВАНИЕМ ГРАФИЧЕСКИХ ПРОЦЕССОРОВ В статье рассматриваются проблемы выполнения актуарных вычислений на графических ускорителях. Оценка вероятности разорения и других показателей функционирования страховой компании может быть проведена методом статистического моделирования Монте- Карло. Во многих случаях это единственно применимый метод. В связи с тем, что вероятность разорения достаточно мала, для достижения приемлемой точности может потребоваться астрономическое число испытаний. Распараллеливаемость метода Монте Карло делает возможным проведение расчетов на графическом ускорителеь. Это позволяет получить достаточно точный результат за разумное время. В работе представлены результаты численных экспериментов на разработанной системе актуарного моделирования RMS 0.1, использующей GPU с архитектурой NVIDIA CUDA 4.2. The paper considers issues of performing actuarial calculations on graphical processing units (GPU). Ruin probability estimation for an insurance company can always be made by means of Monte-Carlo method. In some cases it is the only applicable method. Smallness of ruin probability may require astronomical number of Monte-Carlo simulations to achieve an acceptable accuracy. Effective parallelization of the Monte Carlo method and utilizing calculation power of modern GPU makes it possible to obtain good accuracy within reasonable real time limits. A software system RMS 0.1 utilizing NVIDIA CUDA 4.2 architecture for modeling reserve evolution and performance of an insurance company was developed. Results of numerical experiments by means of this system are presented. Введение1

Суть страхового бизнеса состоит в получении максимума чистой прибыли при достаточных страховых резервах для покрытия страховых требований. При этом важно соблюсти тонкий баланс между прибыльностью и рисками. В качестве меры риска может выступать вероятность разорения или неплатежеспособности компании, а прибыльность можно оценивать по распределению собранных дивидендов и остатка капитала в конце планового периода времени. Для формального описания деятельности страховой компании часто используется классический случайный процесс риска (модель Крамера-Лундберга), моделирующий стохастическую эволюцию капитала страховой компании [1]. В этой модели, с одной стороны капитал монотонно и линейно возрастает с течением времени за счет непрерывно поступающих премий, а с другой стороны, в случайные моменты времени (прихода страховых требований) он убывает на случайную величину (требования). Компания разоряется, если капитал становится меньше нуля. 1

Данная статья является расширенной версий доклада [1] на международной конференции «Высокопродуктивные вычисления» HPC-UA 2012, 8-9 октября 2012 г., Киев, Украина.

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


114

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56 Обобщенный процесс риска как модель страховой компании

вероятностном распределении результатов. Тогда можно вычислить любые детерминированные характеристики выбранной стратегии управления: вероятность разорения, ожидаемые дивиденды, ожидаемое значения остаточного резерва и др. Однако проблема состоит в том, что для оценки этих показателей, например, вероятности разорения, может потребоваться астрономическое число симуляций, которое невозможно выполнить за разумное время даже на современных компьютерах. Эта проблема осознана в страховой математике, поэтому, например, для классического процесса риска получены разнообразные формулы приближенной оценки вероятности разорения [1]. Но эти формулы не работают для более общих, а тем более реальных моделей страховой деятельности. Универсальным, а зачастую, единственным методом моделирования сложных динамических стохастических систем является метод статистического имитационного моделирования Монте-Карло. Этот метод требует астрономического числа симуляций для достижения достаточной точности, поскольку вероятность разорения является малой величиной. Однако, отличная распараллеливаемость метода делает возможным решить эту проблему за счет наращивания вычислительной мощности. В работах автора [4 – 7] параллельная версия метода Монте-Карло наряду с параллельным методом последовательных приближений, реализованные на кластере из нескольких персональных компьютеров, применялись для нахождения вероятности разорения как функции от начального капитала и других параметров управления страховой компанией. В [8] обсуждаются близкие вопросы параллельного моделирования случайных блужданий на графических ускорителях с архитектурой NVIDIA CUDA [9]. В данной работе метод Монте-Карло для решения актуарных задач реализован на графическом ускорителе с архитектурой NVIDIA CUDA 4.2 [9], за счет чего время расчетов сократилось на один-два порядка по сравнению с расчетами на центральном процессоре. Более того, скорость вычислений делает возможным изучать зависимости вероятности разорения и других показателей не только от начального капитала, а от нескольких других параметров работы компании.

Страховая компания обязана поддерживать некоторый уровень страховых резервов для покрытия текущих случайных страховых требований. Математическая модель стохастической эволюции резервов xt страховой компании имеет вид: t

xt  u    c  d ( x s )  ds  S t , 0  t  T , 0

где

t

временной

параметр

(1)

0  t  T  ;

x0  u  0 – начальный капитал (страховой резерв); St   k t 1 zk – агрегированные случайные страхоN

вые требования; zk – случайные требования в моменты tk с функцией распределения Ftk () ; N t – число поступивших к моменту t случайных требований; c – агрегированная страховая премия в единицу времени; d () – некоторая функция, выражающая интенсивность выплат дивидендов и других отчислений в зависимости от текущих резервов, 0  d ()  c . Здесь, функция d () имеет смысл позиционного управления дивидендами. Например,

a  x  b( x )  , x  b( x ), d ( x)   0, x  b( x ),  где b() – некоторая монотонно возрастающая функция, называемая дивидендным барьером, a – доля капитала, отчисляемая на непроизводственные нужды. В классической модели Крамера-Лундберга [1] (с вычитанием постоянных дивидендов d , 0  d  c ) уравнение эволюции капитала имеет вид:

xt  u  (c  d )t   k t 1 zk , 0  t  T , N

где

zk , k  1, 2,...

(2)

– независимые одинаково

распределенные наблюдения случайной величины требований с общей функцией распределения F () и средним  , Nt – целочисленная случайная величина с распределением Пуассона с параметром  (временная интенсивность прихода требований в экспоненциальном распределении). На практике финансовое состояние компании регистрируется в дискретные моменты времени, например, поквартально. В этом случае математическая модель стохастической


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

эволюции резервов x t

страховой компании

имеет вид: x t + 1 = x t + ct - xt - dt =

= u+

е

t

c i= 1 i

е

t

x i= 1 i

е

t

d, i= 1 i

(3)

(u, c, d ,  ,  ) и вычислении доли pN (t ) неразо-

рившихся траекторий к моменту времени t , а также среднего чистого дохода (собранных дивидендов ) (38)

параметр; x 0 = u і 0 – начальный капитал (резерв); x t – текущий страховой резерв в момент t ; ct , dt , xt – соответственно суммарные квартальные премии, дивидендные выплаты и случайные страховые требования за период t . Распределение величин xt находится из страховой статистики [9]. Рассмотрим вероятность разорения  ()  Pr inf 0t T xt  0  как функцию от параметров процесса. Эта вероятность может быть использована как мера риска при управлении страховой компанией. Например, вероятность разорения (на бесконечном интервале времени) в классической модели страховой компании (2) с экспоненциальным распределением требований имеет вид [2]: (4)

где   ( c  d ) ( )  1 . В данном случае зависимость  (u, c, d ,  ,  ) известна в явном виде. В более общей модели (1) такая зависимость не известна и может быть получена только методом Монте-Карло. Формула (4) в данной работе используется для тестирования и настройки метода Монте-Карло. Кроме вероятности разорения нас может интересовать распределение капитала в некоторый момент времени и собранные дивиденды, их средние значения и дисперсии в этот момент, а также зависимость этих величин от разнообразных параметров. Параллельный метод статистического моделирования (метод Монте-Карло)

Метод состоит в независимом параллельном моделировании большого числа N траекторий стохастической эволюции резервов xt страховой компании на заданном интервале времени 0,T  для заданного набора параметров

n

DN (T )  1 N   n 1  d ( xsn )ds , N

где t = 0, 1, ..., T - 1 – дискретный временной

 1  u  exp     ,   0,  ( u , c, d ,  ,  )   1   1         0, 1, 

115

0

где xsn , 0  s   n  – траектория процесса риска (1), (2) или (3) в n -ом испытании,  n – момент разорения или  n  T , если разорения до момента T в n -ом испытании не произошло. В процессе параллельного моделирования вычислительные ядра не общаются, а по завершении моделирования информация о траекториях собирается на одном ядре и строятся функции pN (u, c, d ,  , , T ) и DN (u, c, d ,  , , T ) как функции того или иного параметра. Результаты моделирования отображаются в плоскости «изменяемый параметр – вероятность разорения» и в пространстве «риск – доход», т.е. в плоскости «вероятность разорения – собранные дивиденды». Точность метода Монте-Карло может быть оценена с помощью экспоненциального неравенства Хефдинга: Pr  p N ( u , c , d ,  ,  , T )   ( u , c , d ,  ,  , T )     2 e  N 

откуда

-k

(10 )–доверительная pN (u, t )   (u, t ) имеет вид

 k ( N )  2  k ln10  ln 2 

граница

2

2

,

для

N.

Программная реализация параллельного метода Монте-Карло на GPU

Для проведения расчетов была создана программная система страхового моделирования “RMS 0.2”. Графический интерфейс системы (Рис.1, 2) позволяет изучать зависимость функции полезности (к примеру, величины собранных дивидендов или остаточного резерва) от различных параметров работы компании. Можно также строить зависимость вероятности разорения (используемой в качестве меры риска) от вышеуказанных параметров. Для написания интерфейса был использован язык С#, расчётная часть написана на CUDA C. В системе реализованы следующие функции: выбор модели (классическая или модель с дискретным временем);


116

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

загрузка статистических данных и стандартный анализ данных;

вывод результатов в память и на печать. Система работает на реальных статистических данных для конкретных компаний, полученных путем обработки информации из украинских журналов "Страхова справа" и "Insurance TОР". Пример таких данных приведен на рис. 3. 1,2 1 0,8 0,6 0,4 0,2

Рис.1. Окно задания параметров в RMS 0.1

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Рис. 3. Эмпирическое распределение нормированных квартальных требований

Рис.2. Отображение результатов моделирования

задание интервалов и сетки для изменяемых параметров модели; задание параметра статистического моделирования (числа симуляций); задание параметров для распараллеливания вычислений (распределение нагрузки между вычислительными ядрами); сохранение и загрузку проекта (данных и параметров модели); построение и графическое представление зависимостей вероятности разорения, суммарных дивидендов и остаточного резерва от любого исследуемого параметра; отображение результатов моделирования (эффективной границы) в плоскости «вероятность разорения – суммарные дивиденды»;

Для реализации параллельного метода Монте-Карло ключевое значение имеет проблема параллельного генерирования большого числа длинных независимых числовых последовательностей, состоящих из независимых случайных чисел. В CUDA эта проблема решается с помощью библиотеки генерирования псевдослучайных числе CUDA CURAND [8]. В данной системе каждая «нить» (thread) в цикле генерировала от 10 до 1000 траекторий, 256 нитей объединялись в блоки. Проводились эксперименты с одинарной и двойной точностью представления числовых данных. Результаты численных экспериментов

Была рассмотрена задача нахождения вероятности разорения и чистого дохода страховой компании на конечном интервале времени 0,T  . Для проведения тестовых численных экспериментов использовалась классическая модель Крамера-Лундберга (2) с экспоненциально распределенными величинами требований и ее временная дискретизация (3), так как для вероятности разорения  (u, c, d ,  ,  ) модель (2) допускает простое аналитическое решение (4). Численные эксперименты производились на конфигурации AMD Athlon 64 3200+ 1.5Gb Ram, графический ускоритель – Nvidia


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

GeForce GTX 560 2Gb с использованием технологии NVIDIA CUDA 4.2. 1. Ускорение вычислений на GPU. Было произведено сравнение времени оценки вероятности разорения для процесса (2) с параметрами c  1 , d  0 ,     1 , u  1 , T  100 на CPU и GPU. В эксперименте наблюдалось ускорение вычисления вероятности разорения с помощью GPU на один-два порядка.

117

(суммарных дивидендов) страховой компании как функцию от любого параметра модели. Для этого достаточно в окне интерфейса системы задать минимальное и максимальное значение изменяемого парамтера, а также число промежуточных значений параметра. Сокращение времени вычислений достигается за счет массивного распараллеливания метода статистического моделирования с помощью GPU. На Рис. 5 показана (пунктиром) зависимость вероятности разорения  (u, c, d ,  ,  , T ) в модели (2) от интенсивности прихода требований   [0.5, 2.2] . Сплошная линия отображает точное значение вероятности разорения при T   , полученное по формуле (3). Остальные параметры принимали следующие значения u  10 , c  2, d  0 ,   1 , T  100 . Несовпадение оценки вероятности разорения и ее точного значения объясняется конечностью временного интервала  0,100 в методе статистического моделирования.

Рис. 4. Сравнение скорости вычислений 2. Точность и время оценки малых вероятностей разорения на GPU. Проводилось также сравнение оценки вероятности разорения процесса (2) для T  100 с ее точным значением при T   , полученным по формуле (4), для параметров c  2 ,     1 , u  10 . Табл. 1. Точность и время вычисления вероятности разорения Число траекторий Время (в миллисекундах) одинарная точность Время (в миллисекундах) двойная точность Относительная ошибка, одинарная точность % Относительная ошибка, двойная точность % Теоретическая вероятность разорения

106

107

199

1959

581

5019

3.35

0.654401

1.03

0.322772

0.003369

Этот эксперимент показывает, что с помощью GPU можно с высокой точность оценивать малые вероятности разорения в реальном времени. 3. Исследование зависимости вероятностей разорения и чистого дохода от параметров с помощью GPU. Разработання система страхового моделирования RMS 0.1 позволяет в реальном времени исследовать зависимость вероятности разорения и чистого дохода

Рис. 5. Зависимость вероятности разорения от интенсивности прихода требований На рис. 6 – 7 представлены результаты моделирования процесса (1) с дивидендной стратегией  0, x  b, d  x   d , x  b, где величина порога отбора дивидендов b  5,50 выступает в качестве изменяемого параметра. Остальные параметры модели принимали следующие значения c  2,   2 , u  10 ,   1.5 , T  100 , d   1 . Рис. 8 сопоставляет на одном графике вероятность разорения и собраные дивиденды при изменении параметра b .


118

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56 Выводы достигается практически в режиме реального

Использование графических ускорителей позволяет производить численные расчеты в сложных общих актуарных моделях методом Монте Карло, при этом приемлемая относительная точность порядка 1% на вероятностях разорения порядка 103

времени. Следует принимать во внимание, что скорость работы графических ускорителей Nvidia GeForce при решении актуарных задач

Рис.7. Отображение результатов моделирования в плоскости «доходность-риск» Рис.5. Зависимость вероятности разорения от порога b.

Рис.6. Зависимость величины собранных дивидендов и остаточного капитала от порога b.

отличается при использовании операций с числами одинарной и двойной точности (теоретически – в 8 раз), поэтому для каждого конкретного случая необходимо оценивать целесообразность применения расчетов с числами двойной точности. Разработанная система актуарного моделирования RMS 0.1 позволяет в реальном времени за счет ускорения вычислений на GPU исследовать зависимость вероятности разорения и ожидаемого чистого дохода страховой компании как функцию любого параметра управления компанией. Тем самым она позволяет исследовать влияние факторов управления на функционирование страховой компании. Система позволяет также сопоставлять в реальном времени доходность и риск при выборе параметров управления компанией.

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

1. Норкин Б.В. Об актуарных вычислениях с использованием графических процессоров // Труды международной конференции «Высокопродуктивные вычисления» (HPC-UA 2012, Украина, Киев, 8-10 октября 2012 г.). – Киев: Национальная академия наук Украины, 2012. – С.268-274. 2. Леоненко М.М., Мішура Ю.С., Пархоменко Я.М., Ядренко М.Й. Теоретико-ймовірнісні та статистичні методи в економетриці та фінансовій математиці. – К.: Інформтехніка, 1995. – 380с. 3. Kaufmann R., Gadmer A., Klett R. Introduction to dynamic financial analysis // ASTIN Bulletin. – 2001. – Vol. 31. – No. 1. – P. 213-249. 4. Норкин Б.В. Математические модели оптимизации страхового дела // Кибернетика и системный анализ. – 2011. – № 1. – С. 128-145.


Система параметричної оцінки ресурсів в глобальних Grid системах 119 5. Norkin B. Parallel computations in insurance business optimization //Proceedings of the 1-st International Conference on High Performance Computing. October 12-14, 2011, Kyiv, Ukraine. – P. 33-39. 6. Норкин Б.В. Распараллеливание методов оценки риска банкротства страховой компании // Теорія оптимальних рішень. – Київ : Інститут Кібернетики, 2010. – Стор. 33-39. 7. Норкин Б.В. О вероятности разорения управляемого процесса авторегрессии // Комп’ютерна математика. Ін-т кібернетики ім. В.М. Глушкова. Київ, 2011. – С. 142-150. 8. Haizhen Wu. Parallel Computing Using GPUs. – March 1, 2011. http://ecs.victoria.ac.nz/twiki/pub/EResearch/EcsTeslaResource/Parallel.Computing.Using.Graphics.Cards.pdf 9. Боресков А. В., Харламов А. А., Марковский Н.Д. и др. Параллельные вычисления на GPU. Архитектура и программная модель CUDA. – М.: Издательство Московского университета, 2012. – 336 с. 10. Залетов А.И. Страхование в Украине. – Киев: Международная агенция «BeeZone», 2002. – 452 с. 11. NVIDIA, CUDA CURAND Library, 2010.


УДК 681.324 СИМОНЕНКО А.В. СИСТЕМА ОЦЕНКИ РЕСУРСОВ В СИСТЕМЕ ДИНАМИЧЕСКОГО ПЛАНИРОВАНИЯ НЕОДНОРОДНЫХ GRID СИСТЕМ В статье предложены количественные, нормированные оценки характеристик показателей Grid систем, влияющих на распределение задач по ресурсам при динамическом планировании. Предложен интегральный коэффициент степени претендования заявки на ресурс. Quantitative normalized estimates of Grid systems characteristics that have an influence on tasks assignment in dynamic scheduling are proposed in this article. The integral coefficient of degree of requests preference is roposed.

Введение

Распределенные вычисления на основе Грид технологий в настоящее время активно развиваются [1-4,7,8]. Получили развитие глобальные Грид системы. Получение актуальных данных о параметрах Грид-системы, выделении и назначении, наиболее подходящих узлов для вычислительных задач, является задачей, решение которой позволит увеличить эффективность работы всей вычислительной системы и повысить пропускную способность системы.[6,8] Особенно это актуально, если вычислительная система гетерогенна. Для вычисления коэффициентов предпочтения ( претендования ) каждого узла Grid системы для каждой пользовательской задачи (заявки) необходимо решить проблему нормализации (нормирование) всех параметров узлов Grid системы, которые фиксируются системой мониторинга. Для определения степени предпочтения для назначения заявки на ресурс можно предложить следующее выражение [9] : M

N

x 1

y 1

K  max( R x   R y )

(1)

Где, Rx – степень выполнения обязательного требования Ry – степень выполнения оптимизирующего требования M – количество обязательных требований N – количество оптимизирующих требований K –коэффициент предпочтения i-го узла для размещения j-ой задачи Степень выполнения и оценка обязательных требований не вызывает особых трудностей, так как невыполнение хотя бы одного из них приводит к тому что коэффициент предпочтения к данному узлу будет равен нулю и

этот узел исключается из дальнейшего рассмотрения. С оптимизирующими параметрами дело обстоит сложнее, так как необходимо из количественных и качественных параметров узла и системы коммуникации Grid системы получить их количественные значения нормализованные в пределах отрезка (0; 1]. При определении степени предендования, также следует учитывать, что некоторые требования, с точки зрения пользователя вычислительных ресурсов, могут быть более предпочтительные, нежели другие. В таком случае, формула (1) примет вид (2), где учтены весовые коэффициенты каждой из метрик [9]: M

N

x 1

y 1

K   Rx   ( K y  R y )

(2)

Где, Ky – весовой коэффициент оптимизирующего требования y. Сумма весовых коэффициентов оптимизирующих требований должна равняться единице: N

K y 1

y

1

Весовые коэффициенты каждого из оптимизирующих требований определяет потребитель вычислительных ресурсов Grid системы, исходя из характера вычислительной задачи, ее размерности, топологических требований, временной сложности, потребления памяти, стоимости и т. д. Для оценки весовых коэффициентов метрик составляющих ресурсов Grid системы может быть применен метод экспертных оценок. Нормализацию параметров Грид-системы (далее «метрик») будем сводить к тому, что результатом данных действий будут значения метрики в пределах от (0; 1]. Это позволит удобно использовать данные для вычисления коэффициента предпочтения по формуле (2).


Система параметричної оцінки ресурсів в глобальних Grid системах

Для того, что бы нормализация метрик ресурсов Grid системы имела практическое применение, и ее можно было использовать в системах мониторинга ресурсов и решении задачи распределения заданий по вычислительным узлам, классифицируем эти метрики по свойствам: 1. Классификация метрик узлов Гридсистем по их временным характеристикам изменения параметров

Данная классификация позволяет выделить среди множества параметров узла Grid системы те, которые изменяются реже других. Это позволит построить систему мониторинга и выбора наиболее подходящего узла Grid системы, по иерархической схеме. Наиболее редко изменяемые параметры будут храниться в базах данных соответствующего уровня системы мониторинга, что позволит существенно сузить область поиска наиболее подходящих узлов, убирая те узлы, которые заведомо не будут удовлетворять обязательным требованиям. Таким образом, можно разделить все метрики на следующие классы по их временным характеристикам изменения параметров: А) Постоянные, изменяются очень редко (состав программного обеспечения, количество процессоров, Объем ОЗУ…) Б) Постоянно-Переменные, изменяются относительно чаще постоянных, или имеют постоянную тенденцию к изменению (Топология (S,D,T), коэффициент_готовности, коэффициент, _успешности, коэффициент простоя) В) Переменные, изменяются постоянно, изменяются во время выполнения задания (загруженность вычислительных ресурсов, каналов связи…) 2. Классификация метрик узлов Гридсистемы по их принадлежности

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

121

нему. Рассмотрим случай, когда мощный кластер с большим количеством процессоров находиться на большом отдалении от клиента и потери от доступа к нему превысят преимущества характеристик самого узла. Тогда коэффициент предпочтения для данного узла может быть существенно занижен в силу того, что метрики каналов доступа, цены и их загруженности могут получить низкую степень предпочтения. От части этот вопрос может быть решен увеличением весового коэффициента данного оптимизирующего требования и введением интегрального показателя предпочтения данного узла для размещения в нем заявок. Для более полной и понятной нормализации метрик необходимо так же провести и такую классификацию. Проведя исследования множества параметров узлов, можем их разделить по таким двум классам. А) Непосредственные метрики узла Гридсистемы (вычислительные ресурсы, объемы памяти…) Б) Косвенные метрики каналов доступа к узлу (скорость каналов связи, загруженность каналов…) Таким образом, получив классифицированные метрики грид-системы, можем перейти к нормализации ее параметров, причем подходы к нормализации будут зависеть от типа параметра, его классификации по данным свойствам. Цель нормализация метрик узлов Grid системы – введение количественных значений (соотношений) качественных параметров узлов системы. Это позволит производить вычисление коэффициента по формуле (1 или 2), вводит формализованные определения параметров для их количественной оценки в задаче выбора наиболее подходящего узла. Такой подход к определению количественных параметров узлов грид-систем позволит путем анализа сущности каждого отдельного параметра выработать стратегию его нормирования в пределах отрезка (0; 1]. Отнормированные параметры узлов гридсистемы и коэффициенты значимости каждого из них можем использовать для вычисления коэффициента предпочтения по формуле (1 или 2). При анализе вычислительной задачи и требований к вычислительным ресурсам для нее, пользователь может варьируя весовыми коэффициентами определить параметры которые могут больше других повлиять на выбор вычислительного узла.


122

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

Классификация метрик узлов Грид-систем по их временным характеристикам Метрики узла Грид – системы

Постоянные

Постоянно-Переменные

Переменные

Количество процессоров Объем ОЗУ

Степень готовности узла Коэффициент успешности

Операционная система

Программное обеспечение

Пропускная способность сети

Коэффициент простоя

Занят/свободен Количество свободных вычислительных ресурсов Наличие свободного места на жестких дисках Степень загруженности процессора

Объем кеша процессоров

Степень загруженности внутренних каналов связи Количество заданий во входной очереди

Скорость работы ОЗУ Скорость межъядерных шин Скорость межпроцессорных шин Скорость внутренних каналов связи Пиковая производительность Реальная производительность Тип узла

Классификация метрик узлов Грид-системы по Принадлежности Метрики Грид – систем

Непосредственные Метрики

Метрики каналов доступа к системе узла Грид-системы

Количество процессоров Топология(S,D,T) Объем ОЗУ ПО Загруженность внутренних каналов связи Операционная система К_готовности Пропускная способность сети К_успешности Объем кеша процессоров К_простоя Скорость межъядерных шин Скорость межпроцессорных шин Скорость работы ОЗУ Скорость внутренних каналов связи Пиковая производительность Реальная производительность Свободно вычислительных ресурсов Свободно ОЗУ Свободно ПЗУ

Загруженность каналов связи Время доступа к узлам сети Близость клиента к серверу (локальная близость)


Система параметричної оцінки ресурсів в глобальних Grid системах 123 Основные параметры Количественные показатели (чем мень-

Топология – получить коэффициент соответствия топологии системы размерности и характеру задачи (по показателям S,D,T). ОС и ПО – возможно ли выполнение задачи на данной ОС и с данным ПО. Тип узла – возможны дополнительные требования к типу вычислительного узла системы (например, предпочтение отдается не отдельным ПК а кластерным системам) К_готовности – отношение времени, когда система могла принимать задачи и времени когда не могла, берется усредненный параметр за определенный период времени. К_успешности – отношение успешно выполненных задач к неуспешно выполненным (например, при отказе элементов узла или передаче вычислительных ресурсов более приоритетным задачам, к примеру, коммерческим). К_простоя – отношение времени простоя системы к времени работы. Нормализация метрик Грид-систем

Количественные показатели (чем больше, тем лучше) – нормализацию производим по линейной шкале. За минимальное значение примем отношение минимального значения параметра к максимальному в системе. За максимальное значение примем единицу 1. Разделим все значения в системе на максимальное – получим нормализованные значения. V Ki  i Vmax Где, K i – очередное нормализованное значение метрики Vmax – максимальное значение метрики.

Vi - очередное значение метрики. Такую стратегию используем для таких параметров: количество процессоров, объем ОЗУ, пропускная способность сети, объем кеша процессоров, скорость межъядерных шин, скорость межпроцессорных шин, скорость работы ОЗУ, скорость внутренних каналов связи, пиковая производительность, реальная производительность, К_готовности, К_успешности, К_простоя, свободно вычислительных ресурсов, свободно ОЗУ, свободно ПЗУ.

ше, тем лучше) – нормализацию производим по линейной шкале. Так как значение таких параметров должно подчиняться правилу «чем меньше, тем лучше», коэффициент требуется преобразовать по формуле: 1 K2  K1

Для того, что бы получить значения нормализованные в интервале (0, 1] продолжим нормализацию. Разделим все коэффициенты на наибольший из полученных при предыдущем преобразовании. Ki K2  K max Такую стратегию используем для таких параметров: Загруженность каналов связи, Загруженность внутренних каналов связи. ОС и ПО – нормализация этих параметров системы сводим к такому – подходит данное ПО и ОС для решения задачи или нет. В этом случае параметр будет принимать значение либо 1 либо 0. Иными словами, это обязательный параметр, невыполнение которого делает узел неподходящим для данной задачи. Тип узла – данную метрику будем считать как обязательную для выполнения. Тип узла имеет большое значение при учете требуемой размерности задачи. Ведь действительно, сложная задача которая имеет большую размерность и большие требования по памяти успешнее выполниться в вычислительном кластере, нежели на персональных ПК компьютерного класса, лаборатории или офиса. Так же, можем решить вопросы быстрого обслуживания коротких задач, их быстрого вывода из системы (стратегия short job first). Это позволит не тратить вычислительные ресурсы мало подходящих для большинства задач с большими требованиями по размерности на слабых (персональных) вычислительных машинах. Оценка коэффициента соответствия топологии системы и задачи

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


124

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

связная топология может быть подходящей в любом случае, но организация вычислительной системы с такой топологией является очень дорогой и, часто, не целесообразной при возрастании размерности системы. Поэтому, часто топологии являют собой некий компромисс, совмещая особенности нескольких топологий – это и есть основной идеей оптимизации параметра S*D топологии (S – степень узла, D – диаметр системы). Для того, что бы получить оптимизирующий коэффициент для топологии системы, можем ввести такие утверждения: 1. Чем больше параметр S системы, тем больше вероятность того, что путь между i-м и j-м элементом будет иметь наименьшее количество промежуточных узлов (попросту говоря, будем иметь наименьшее количество пересылок). 2. Чем меньше параметр D системы, тем, вероятно, меньшим будет путь между i-м и jм узлами. Таким образом, задача нормализации и получения количественного значения данной метрики состоит в оценке параметров S и D системы. Тогда параметр системы S будем нормализовать по, ранее описанному подходу «чем больше, тем лучше», а параметр D – по подходу «чем меньше, тем лучше». Выводы

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

лов Грид-систем и получить метрики, которые можно использовать для вычисления коэффициентов предпочтения по формуле (1) или, получив весовые коэффициенты каждой из метрик, по формуле (2). Данные исследования формируют основные требования и предпосылки для построения системы сбора, анализа и фильтрации параметров узлов Грид-системы, с целью определения наиболее подходящего узла, решения на нем пользовательской вычислительной задачи. Фильтрация позволяет значительно сузить область поиска наиболее предпочтительного узла, отфильтровав те, которые заведомо не подходят – не обладают обязательными свойствами. Это позволит значительно уменьшить количество информации, которую программепланировщику придется обработать для того, что бы, определив коэффициенты предпочтения, выдать наиболее подходящий для решения данной задачи ресурс. Сбор данных можно организовать по децентрализованной схеме. Построив иерархическую древовидную структуру из промежуточных серверов, которые будут хранить постоянные и постоянно-переменные обобщенные данные об узлах которые находятся ниже них в иерархии. При изменении какого-то из своих параметров, узел передает сообщение об изменениях выше по иерархии. Таким образом, можно решить проблему хранения и поддержания в актуальном состоянии данных об узлах Грид-систем. Все эти действия направлены на решение одной проблемы – формирования для программы-планировщика данных наиболее эффективным способом, поддержание их в актуальном состоянии, в этом случае, можно будет спланировать задачи по вычислительным ресурсам, наиболее эффективно их используя.

Литература

1. Ian Foster,The anatomy of the GRID/Ian Foster Carl Kesselman, Steven Tuecke, International Journal of High Performance Computing Applications.- 2001- №15(3). – С.200-222. 2. Распределенные вычисления, GRID-технологии или кластеры? [электронный ресурс]: Черняк Л.: Журнал «Открытые системы». – 2004 – вып. 4. – Режим доступу до журналу: http://www.osp.ru/cw/2004/72923/ _- Назва с екрану.


Система параметричної оцінки ресурсів в глобальних Grid системах 125 3. Платформа для коммерческихGRID [электронный ресурс]: Ривкин М. Журнал «Открытые системы», 2004 вып. 12. – Режим доступу до журналу: http://www.osp.ru/os/2003/12/183700/ - Назва с екрану. 4. Эксперименты с фрагментами сетей GRID [электронный ресурс]: Шевель А., Корхов В., Журнал «Открытые системы», 2001 вып. 5-6. – Режим доступу до журналу: http:// www. osp. ru/cw/2001/0506/034/http://www.osp.ru/cw/2004/12/01/ - Назва с екрану. 5. Главные вехи в истории метавычислений [электронный ресурс]: Климов А. , Журнал «Компьютерра», 2001 вып. 25. – Режим доступу до журналу: http://www.computerra.ru/ offline/2001/402/10913 Назва с екрану. 6. Вычислительная инфраструктура будущего [электронный ресурс]: Корягин Д.А., Коваленко В.Н. / ИПМ им. М.В.Келдыша РАН. – Режим доступу: http://citforum.ru/hardware/articles/futurvich.shtml – Назва с екрану. 7. Управление заданиями в распределенной вычислительной среде [электронный ресурс]: Коваленко В., Коваленко Е., Корягин Д., Любимский Э., Хухлаев Е.// Журнал «Открытые системы», 2001 вып. 5-6 – Режим доступу до журналу: http://www.osp.ru/os/2001/05-06/180168/ – Назва с екрану. 8. Симонеко В.П. Теоретические основы проектирования динамических пространственных планировщиков неоднородных GRID систем / Симонеко В.П. – Киев: Ж. Электронное моделирование 2011 Т. 33. № 5. С. 57-64


УДК 681.324 СИМОНЕНКО А.В., ЩЕРБИНА О.В. СИСТЕМА ПАРАМЕТРИЧНОЇ ОЦІНКИ РЕСУРСІВ В ГЛОБАЛЬНИХ GRID СИСТЕМАХ В статті наведено покращення DWMM алгоритму для можливості встановлення оптимізуючих параметрів у вигляді допустимих діапазонів. Вводиться коефіцієнт δ[-1,1] для кожного оптимізуючого параметра задачі. Алгоритм дозволяє гнучкіше розподіляти задачі по ресурсах, за рахунок того, що задача може пожертвувати у допустимих межах оптимізуючими параметрами. Ефективність алгоритму зростає зі збільшенням числа заявок. The article gives improved DWMM algorithm for optimizing the parameters of the job opportunities in the form of the allowable range. Introduced coefficient δ [-1,1] for each optimizes task. The algorithm allows for more flexibility to allocate tasks to resources, due to the fact that the problem can donate to optimize the allowable limits. Efficiency of the algorithm increases with the number of customers in the system. Введение

GRID – распределённая система, которая обеспечивает динамически общий доступ, подбор и агрегацию территориально распределённых ресурсов в зависимости от их доступности, производительности и необходимости. Распределённые вычисления позволяют совместно использовать распределённые ресурсы и обеспечивают наиболее подходящие платформы для эффективного выполнения задач. GRID является средой коллективного компьютинга, в которой каждый ресурс имеет владельца или поставщика ресурсов, а доступ к ресурсам открыт некоторому множеству пользователей или потребителей ресурсов в разделяемом по времени и по пространству режиме. Владельцы и пользователи, действующие на основании определённых правил предоставления/потребления ресурсов – политики использования ресурсов, образуют виртуальную организацию GRID. Отметим, что члены виртуальной организации могут совмещать роли владельца и потребителя. Виртуальная организация может образовываться динамически и иметь ограниченное время существования. [1] Для эффективного распределения задач по ресурсам используется служба диспетчеризации. Её задача заключается в автоматической обработке входного потока заданий и распределение заданий по доступным ресурсам.

Описание алгоритма формирования матрицы выбора

Ввиду того, что распределённая система неоднородна, ресурсы и задачи имеют множество параметров такие как объём памяти(M), стоимость(C), характеристики процессора(P) и т.д. Эти параметры можно объединить и сформировать вектор требований заявки к ресурсу Q={M,C,P…} Параметры задачи можно разделить на 2 типа: обязательные – параметры, удовлетворение которых в полной мере обязательно и изменение их диапазона невозможно, например, объём памяти и оптимизирующие – параметры, которые влияют на решение задачи менее существенно и которые можно менять, например, цена. Задача планирования – максимально эффективно распределить все задачи по ресурсам, чтобы максимально удовлетворить требования пользователей.[3] Возникают ситуации, когда пользователь готов пожертвовать одним параметром в установленных пределах, для получения выигрыша по другим параметрам. Примем следующие обозначения: nколичество задач, m- количество ресурсов, – множество задач, T={t1,t2,…,tn} R={r1,r2,…,rn} множество ресурсов. Каждая задача и ресурс имеют множество параметров Y={y1,y2,…,yn} – обязательные параметры и Q={q1,q2,..,qk} – оптимизирующие, поскольку каждый параметр имеет свою размерность, нужно провести нормировку.


Система параметричної оцінки ресурсів в глобальних Grid системах

q i ,k  q k

S i ,k 

max

min min

(1)

 qk qk qi,k – k-ый оптимизирующий параметр i-ой задачи в векторе Qi оптимизирующих параметров i-й задачи. qkmin – минимальное значение k-го параметра у всех задач. qkmax – максимальное значение k-го параметра у всех задач [2] δi,k – граница в пределах которой можно изменять k-ый оптимизирующий параметр iой задачи. Если δi,k>0 – изменение в сторону увеличения, если δi,k<0 – изменение в сторону уменьшения. εi – минимальная граница ради которой пользователь, готов жертвовать параметрами, для i-ой задачи.

127

S

* t ,k

 S t ,k (1   k )(3)

*

S t,k – изменение k-оптимизирующего параметра t-ой задачи в пределах допустимых пользователем. Необходимо определить уменьшится ли расстояние между задачей и ресурсом в случае изменения оптимизирующего параметра, тоесть увеличится ли степень претендования задачи на ресурс. ( S t ,k  S r ,k ) 2  ( S t*,k  S r ,k ) 2 ( S t ,k  S r ,k ) 2  ( S t ,k (1   k )  S r ,k ) 2 S t ,k  2 S t ,k S r ,k  S r ,k  S t ,k (1   k ) 2  2 S t ,k S r ,k (1   k )  S r ,k 2

2

2

S t ,k  2 S t ,k S r ,k  S t ,k  2 k S t ,k   2 k S t ,k  2 S t ,k S r ,k  2 S t ,k S r ,k  k 2

2

2

2

2 k S t ,k   2 k S t ,k  2 S t ,k S r ,k  k  0 2

2

2S t ,k   2 k S t ,k  2S r ,k  k  2

S t ,k (1  )  S r ,k  k

Определение степени претендования задачи на ресурс

При δ>0 получаем: S t ,k (1 

Для определения степени претендования задачи на ресурс используем термин расстояния между задачей и ресурсом. Степень претендования задачи на ресурс тем больше, чем меньше расстояние задачи и ресурса. Если хотя бы один обязательный параметр задач и ресурса не совпадают, то расстояние равно бесконечности – ресурс для задачи не подходит. Если же все обязательные параметры подходят, то расстояние между задачей и ресурсом рассчитывается по формуле:

При δ<0 получаем: S t ,k (1 

q

d t ,r 

 (S k 1

t ,k

 S r ,k ) 2 (2)

q q – количество оптимизирующих параметров задачи St,k – нормированное значение t-ой задачи, k-го оптимизирующего параметра. Sr,k – нормированное значение r-ого ресурса, k-го оптимизирующего параметра. Использование диапазонов допустимых изменений оптимизирующих параметров

δ = { δ1, δ2, …δn } – вектор коэффициентов, которые определяют в каких пределах может изменятся оптимизирующий параметр. δ = [-1,1] – если δ<0 изменение параметра в сторону уменьшения, δ> изменение параметра в сторону увеличения.

2

k 2

)  S r ,k (4)

k

)  S r ,k (5) 2 Если выполняются условия указанные выше, то степень претендования увеличивается и потому необходимо изменить St,k: S t*',k  S t ,k (1   k )

( 6)

Расстояние с учетом поправок: q

d t*,k 

 (S k 1

* t ,k

 S r ,k ) 2 (6)

q

Теперь степень претендования заявки на ресурс можно определить как:

n

Ct , r 

m 1

q

( Pt ,m Pr ,m )   ( S t*,k  S r ,k ) 2 2

k 1

nq

( 7)

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


128 Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56 Пример формирования матрицы выбора Табл. 2 Нормированные характеристики

Входные данные Задачи: T1–обязательный параметр объем свободного места на жестком диске -1 Гб. Оптимизирующие параметры: объем оперативной памяти 2Гб, допустимо изменение в сторону уменьшения на 20%, цена 10$, допустимо изменение в сторону увеличения на 20%, при уменьшении расстояния на 20%. T2 – объем свободного места на жестком диске -2 Гб, объем оперативной памяти 4Гб, допустимо изменение в сторону уменьшения на 10%, цена 20$, допустимо изменение в сторону увеличения на 10%, при уменьшении расстояния на 20%. Ресурсы: R1 – объем свободного места на жестком диске 1.5 Гб, объем оперативной памяти 1.5 Гб, цена 14$. R2 – объем свободного места на жестком диске 2.5 Гб, объем оперативной памяти 4 Гб, цена 14$. R3 – объем свободного места на жестком диске 4 Гб, объем оперативной памяти 2 Гб, цена 12$. Табл.1 Характеристики задач и ресурсов

T1 T2 R1 R2 R3

Объем свободного места на жестком диске 1 2 1.5 2.5 4

Объем оперативной памяти

Цена

2 4 1.5 4 2

10 20 14 14 12

Составляем таблицу характеристик задач и ресурсов (таблица1). Проводим нормирование: y1,min=1; q1,min=1.5; q1,max=4; q2,max=20;

q2,min=10;

11 0 4 1 2  1.5  0.2 S1,1  4  1.5 10  10 0 S1, 2  20  11 P1,1 

Аналогично для всех строк таблицы

y1,max=4;

задач и ресурсов

T1 T2 R1 R2 R3

Объем свободного места на жестком диске

Объем оперативной памяти

Цена

0 0.33 0.17 0.5 1

0.2 1 0 1 0.2

0 1 0.4 0.4 0.2

Получаем нормированную таблицу (таблица 2). Рассчитываем расстояния между задачами и ресурсами Степень претендования задачи T2 на ресурс R1 ∞, поскольку не удовлетворяется обязательный параметр, потому рассчитывать расстояние не нужно.

(0  0.2) 2  (0.4  0) 2 d1,1   0.1 2 Табл. 3 Расстояния между задачами и р есурсами T1 T2

R1 0.1 ∞

R2 0.4 0.18

R3 0.02 0.64

В таблице 3 представлены расстояния между задачами и ресурсами. Находим характеристики задач с учетом диапазонов изменений S1,1=0.2(1-0.2)=0.16 S1,2=0(1+0.2)=0 Табл.4 Измененные характеристики задач

T1 T2

Объем оперативной памяти 0.16 0.9

Цена 0 1.1

В таблице 4 представлены измененные характеристики задач. Находим расстояния между ресурсами и задачами, используя измененные характеристики задач. Табл. 5 Измененные расстояния между задачами и ресурсами

T1 T2

R1 0.092 ∞

R2 0.4 0.18

R3 0.02 0.565


Система параметричної оцінки ресурсів в глобальних Grid системах

В таблице 5 представлены измененные значения расстояний между задачами и ресурсами с учетом допустимых пользователем диапазонов. Рассчитываем степень претендованиязадачь на ресурсы. Табл. 6 Степень претендования задач на ресурсы с учетом диапазонов изменений

T1 T2

R1 0.060 ∞

R2 0.325 0.1039

R3 0.51 0.50

T1 T2

R1 0.064 ∞

R2 0.325 0.1039

R3 0.51 0.54

В таблице 7 представлены степени претендования задач на ресурсы без учета диапазонов. Как видно из сравнения таблиц, степень претендования задачи T1 на ресурс R1 и задачи T2 на ресурс R3 изменились, тем самым увеличивается гибкость распределения в условиях большого количества задач и ресурсов. Выводы

В таблице 6 представлены степени претендования задач на ресурсы. Для сравнения рассчитываем степень претендования без использования изменений характеристик задач. Табл. 7 Степень претендования задач на ресурсы без учета диапазонов изменений

129

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

Литература

1. Improved MACO approach forgrid scheduling. International Conference on Industrial and Intelligent In formation, Singapore March 17-18, 2012 ParisaRahmani: Mehdi Dadbakhshand Soulmaz Gheisari: – С. 135-142,. 2. Kunfang Song, A Flexible Grid Task Scheduling Algorithm Based on QoS Similarity/ Kunfang Song ,Shufen RUAN, Minghua JIANG/ Journal of Convergence Information Technology: September 2010 – C. 161-166, . 3. Симоненко А.В.: Элементы теории повышения эффективности решения задачи динамического планирования в GRID системах / Вісник НТУУ “КПІ”. Серія Інформатика, управління та обчислювальна техніка. -2010. Выпуск 53, C. 48-53,


УДК 004.932.2 НАСТЕНКО М.Е., СТИРЕНКО С.Г. РАСПОЗНАВАНИЕ И ВЫДЕЛЕНИЕ ГРАНИЦ ОДНОРОДНЫХ ОБЛАСТЕЙ ПРИ ПАРАЛЛЕЛЬНОЙ ОБРАБОТКЕ ГИСТОЛОГИЧЕСКИХ ИЗОБРАЖЕНИЙ Актуальною в наш час є проблема розпізнавання та виділення границь однорідних областей, зокрема вона поширена в медицині. В даній роботі представляється алгоритм, що швидко та якісно розв’язує задачі такого роду, а також описується спосіб його реалізації при створенні програмного продукту. Також демонструються результати роботи програми при аналізі різних гістологічних зображень. The problem of area recognition and border highlighting of homogeneous areas is very actual nowadays. In most of them the problem is to find and show borders of cells or cell organoids quickly and clearly for further analysis. An algorithm to solve such problems is proposed in this article. The way of implementing the algorithm in software demonstrated. Results of this implementation are also shown. 1.

Постановка проблемы

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

Анализ последних исследований и публикаций

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

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


Распознавание и выделение границ однородных областей при компьютерной обработке…

утверждении, что на границе областей существует значительный перепад яркости. Из выбранных групп алгоритмов можно выделить две, которые лягут в основу выводимого нами алгоритма. Они называются алгоритмами «Краб» (от КРАтчайший Путь) и «Форель» (от первых букв ФОРмальный АЛгоритм)[1,3]. На основании проведенного анализа в следующем разделе будет представлен выведенный для данной задачи алгоритм. 3.

Формулирование цели статьи

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

Описание метода

После проведенного анализа мы остановились на использовании собственного алгоритма, который может быть представлен как производная алгоритмов «Краба» и «Фореля»[1,3]. Также его идея похожа на алгоритм Собеля решения подобных задач. Его суть заключается в том, что каждая точка изображения (пиксель) представляется как вершина графа, которая в пространстве имеет 5 координат, 3 из которых отвечают за составляющие цвета (Red, Green, Blue), а 2 оставшихся за положение в пространстве (х и у). В связи с тем, что работа с пятимерным пространством весьма затруднительна, первым делом мы переводим изображение в оттенки серого согласно известной формуле:

131

Согласно вышеуказанной формуле, проходя по пикселям всего изображения, в качестве цвета текущей точки берется значение разности цветов текущего и следующего пикселей. Получается оттенок серого, который будет тем темнее, чем больше перепад контрастности (как на границах областей). После этого, мы получаем картину, где на белом фоне уже различимы слабо проявленные границы и шум. На следующем этапе необходимо сделать границы более заметными. Для этого мы проводим бинаризацию изображения: проходим по всем пикселям изображения и меняем их цвет на черный или белый. Эта операция проводится относительно определенного коэффициента, который удобно подбирать экспериментально для каждой группы изображений. Пиксель перекрашивается в черный если оттенок серого больше коэффициента, иначе в белый цвет. Его выбор зависит от четкости изображений и контрастности на границах областей. Наилучшие результаты в наших исследованиях показал коэффициент в пределах 243-249. На предыдущем шаге было получено чернобелое изображение, где черные пиксели являются границами областей и шумом. Теперь, проходя по пикселям изображения, мы можем считывать граничные точки. Простое считывание подряд не удовлетворяет поставленной задаче, так как порождает проблему определения принадлежности граничной точки той или иной области, потому был выбран метод «ближайшего соседа»[2]. Сначала надо найти любую первую черную точку, относительно которой и будем искать соседние. Так как пиксели лежат упорядочено, поиск соседней черной точки будем проводить в квадрате вокруг неё. Границы квадрата будем расширять на 1 если следующая черная точка не была найдена (схема на рис.1).

K = 0,11 * B + 0,3 * R + 0,59 * G где К – оттенок серого, приобретаемый точкой; R,G,B – значения красной, зеленой и синей составляющих цвета. Для преобразования изображения программно значение К заносится в компоненты R,G и B, обеспечивая серый цвет. После этого необходимо как-то выделить границы областей. Для этого сначала высчитываем разностную картину. Проводится следующее преобразование: zj = zj – zj+1,

j = 1, … , n – 1

Рис.1 Поиск следующей точки

Находя пиксели таким образом, получаем последовательность точек границ зон. Чтобы разделить их по принадлежности разным зонам


132

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

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

Рис. 2 Клетка крови до выделения границ

Рис. 3 Клетка крови с распознанными границами (зеленый цвет) Также, алгоритм применим и для распознавания границ нескольких разных клеток (смотр. рис. 4 и 5).

Рис. 4 Онкологическое начальное изображение

Рис. 5 Изображение (рис. 4) с распознанными границами (зеленый цвет) 5.

Анализ полученных результатов

Для оценивания качества полученных результатов был выбран метод экспертного оценивания. Была сформирована выборка тестовых изображений разного характера, аналогичных приведенным выше. Она анализировалась полученной программой, а результаты анализа вместе с исходными изображениями показывались экспертам, которые выставляли каждой паре изображений балл от 0 до 10. Потом данные по всей выборке и по всем экспертам усреднялись, и полученный средний балл принимался как оценка всей системы. Результаты данного анализа показаны на Рис. 6.


Распознавание и выделение границ однородных областей при компьютерной обработке…

Рис. 6 График оценки качества полученного программного продукта

Как видно на рис. 6, оценки являются достаточно высокими (среднее значение 9,02 из возможных 10). Из этого можно сделать вывод, что программа достаточно эффективно справляется с поставленной задачей. 6.

Выводы

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

133

жений. Он является вполне универсальным и может быть применен для различных предметных областей. В рамках этого исследования был создан программный продукт, реализующий приведенный выше алгоритм. Тестирование программы проводилось на гистологических изображениях и были получены удовлетворительные результаты. Как видим на рисунках 2 и 3, алгоритм недостаточно хорошо распознает горизонтальные линии. Для исправления этого недостатка при нахождении разностной характеристики достаточно добавить еще один проход по пикселям: определять разность цветов между вертикально расположенными пикселями. Работа может стать основой для принятия решений в различных сферах человеческой жизни, в частности, в медицинских экспертных системах. Разработанный программный продукт может быть использован при создании экспертной онлайн – системы как её составляющая или как независимое программное обеспечение при исследовании графической информации.

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

Ципилева Т.А. Геоинформационные системы: Учебное пособие / Ципелева Т.А.− Томск: (Томский межвузовский центр дистанционного образования, 2004). 2. Загоруйко Н.Г. Алгоритмы обнаружения эмпирических закономерностей. / Загоруйко Н.Г., Елкина В.Н., Лбов Г.С Новосибирск: (Наука.-1985) 3. Вапник В.Н. Теория распознавания образов / Вапник В.Н., Червоненкис А.Я. Москва: (Наука, 1974) 1.


УДК 004.932.2 ВАРФОЛОМЕЕВ А. Ю. УСОВЕРШЕНСТВОВАННЫЙ АЛГОРИТМ МЕДИАННОГО ПОТОКА ДЛЯ ВИЗУАЛЬНОГО ОТСЛЕЖИВАНИЯ ОБЪЕКТОВ НА ВИДЕОПОСЛЕДОВАТЕЛЬНОСТЯХ В статье рассмотрено ряд усовершенствований алгоритма медианного потока, предназначенного для визуального отслеживания объектов. Суть усовершенствований сводится к адаптивному выбору размера окна апертуры, количества уровней пирамиды и положения анализируемых точек при оценивании разреженного оптического потока. Это позволяет повысить эффективность отслеживания по сравнению с базовым алгоритмом, особенно при работе с малыми объектами. На реальных видеопоследовательностях проведен анализ улучшенного медианного потока. Полученные результаты показали универсальность и невысокую вычислительную требовательность алгоритма, что делает его перспективным для применения во встраиваемых системах. The improvements of a median flow algorithm, which meant for visual object tracking, are considered. The improvements consist in adaptive selection of aperture size, number of pyramid levels and locations of points used during the sparse optical flow estimation. This permits to increase the efficiency of tracking as compared with the basic algorithm, especially when dealing with small objects. Analysis of improved median flow was performed on real video sequences. The obtained results showed the versatility, robustness and moderate computational demands of the algorithm, which makes it promising for application in embedded systems. 1. Введение

На сегодняшний день алгоритмы визуального отслеживания находят широкое применение в медицине, человеко-машинных интерфейсах, системах слежения и видеоаналитике, робототехнике, что собственно и обуславливает их высокую актуальность. С точки зрения реализации алгоритмов отслеживания, большой интерес представляют недорогие и надежные встраиваемые процессоры, а также системы на кристалле (SoC). При этом, однако, их вычислительных возможностей зачастую недостаточно для реализации большинства сложных алгоритмов. Таким образом, необходимость в поиске, надежных и одновременно быстродействующих алгоритмов отслеживания по-прежнему сохраняется. Даная работа направлена на решение обозначенной задачи. Здесь анализируется алгоритм, называемый медианным потоком, впервые описанный в работе [1]. В ходе испытаний было установлено, что этот алгоритм обладает компромиссными возможностями в отношении быстродействия и надежности, однако последняя может быть несколько увеличена. Таким образом, цель данной работы как раз и заключается в исследовании подходов позволяющих повысить надежность алгоритма медианного потока. В последующих разделах рассматривается: базовый алгоритм, его преимущества и недо-

статки (раздел 2); простые эвристические подходы, направленные на улучшения надежности медианного потока (раздел 3); усовершенствованные способы повышения надежности алгоритма (раздел 4); экспериментальная апробация и сравнительный анализ базового, простого эвристического и усовершенствованного подходов (разделы 5, 6). 2. Исходный алгоритм медианного потока и его недостатки

Суть алгоритма медианного потока заключается в оценивании на смежных кадрах видеопоследовательности положения объекта с помощью разреженного оптического потока [1]. При этом считается, что объект состоит из небольших жестко связанных областей, которые при его перемещении движутся синхронно (согласованно). Инициализация алгоритма осуществляется следующим образом: задается прямоугольник, в котором находится объект слежения и в пределах этого прямоугольника генерируется разреженная координатная сетка (обычно размера 10×10 обычно достаточно). Далее точки сетки отслеживаются между предыдущим и текущим кадром, для чего используется пирамидальный алгоритм оптического потока Лукаса-Канаде [4, 5]. С целью повышения надежности алгоритма в нем предусмотрено отсеивание неточных ре-


Усовершенствованный алгоритм медианного потока для визуального отслеживания объектов…

зультатов. Для этого применяется двухуровневая фильтрация: во-первых, отбрасываются соответствующие точки смежных кадров, для областей которых значение нормализованной корреляции (NCC) не меньше заданного порога, а во-вторых, те точки – чьи ошибки прямогообратного распространения (FB-ошибки) выше заданного значения. При этом под ошибкой прямого-обратного распространения подразумевается евклидово расстояние между соответствующими точками, отслеженными сначала в прямом направлении – от предыдущего к текущему кадру, а потом в обратном – от текущего кадра к предыдущему. Сдвиг объекта оценивается как медианное значение разностей между координатами соответствующих точек текущего и предыдущего кадров. При этом в рассмотрение принимаются только те точки, которые были признаны надежными во время фильтрации. Кроме того существует возможность оценить изменение масштаба объекта. Для этого необходимо найти расстояния между парами точек объекта на предыдущем и текущем кадрах, рассчитать их медианное значение в пределах каждого из кадров, а далее определить соотношение между полученными медианами. Более детально см. [1]. Следует выделить следующие недостатки базового алгоритма медианного потока: - оптический поток рассчитывается для точек с неизменным размером апертуры (окна) равным 4×4 пикселя и количеством уровней пирамиды равным 5 (см. реализацию метода TLD в состав которого входит алгоритм медианного потока [2, 11]). Однако такая комбинация не является универсальной и не позволяет надежно отслеживать, к примеру, малые объекты; - на каждом кадре в области объекта генерируется разреженная сетка точек, которые далее подлежат отслеживанию. В то же время авторы алгоритма [1] отказались от механизмов предотвращения попадания точек сетки на непригодные для работы области (к примеру, с однородной яркостью) в пользу оценивания FB-ошибки [1, 2, 11]. В то же время такое решение не является оптимальным как с точки зрения количества вычислений, так и в отношении надежно-

135

сти: зачем отслеживать точки которые заведомо дадут неверный результат. 3. Первоначальные попытки улучшения алгоритма медианного потока

Экспериментальные исследования показали, что изменение параметров описанного выше алгоритма, в некоторых случаях, позволяет обеспечить более надежное отслеживание. Исходя из этого, первоначально, были предложены эвристические подходы, которые позволяют повысить эффективность работы базового алгоритма. Коротко приведем основные их положения. В пирамидальном алгоритме Лукаса-Канаде объект на больших уровнях пирамиды, ввиду сильного уменьшения, может вырождаться в точку или вообще исчезнуть, что, очевидно, приведет к ошибочному определению для него оптического потока. Ненадежный результат отслеживания также имеет место и при недостаточном количестве уровней пирамиды. Это особенно характерно для быстро перемещающихся, содержащих плавные переходы яркости объектов. Аналогичным образом на качестве отслеживания сказывается размер апертуры (размер окна, применяемый для оценивания перемещения каждой точки). Таким образом, количество уровней пирамиды и размер окна было решено сделать адаптивными. В частности количество уровней пирамиды было ограничено так, что при масштабировании объект не ставал меньше размера окна (апертуры). Учитывая, что на смежных уровнях пирамиды масштаб изображений отличается в два раза [3], было предложено следующее простое условие: min( w, h)  2 ω 1 2L , min( w, h) L  log 2 2 ω 1

(1)

где w и h – соответственно ширина и высота описывающего объект прямоугольника; L – количество уровней пирамиды; 2 + 1 – размер окна (апертуры). В соответствии с рекомендациями, приведенными в работе [3], имеет смысл брать L  4. Выражение (1) применимо, если известна величина . Изначально предложено выбирать  непосредственно на основе размеров объекта. Экспериментально было установлено, что при-


136

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

емлемый результат достигается в случае использования квадратных окон со значением  от 3×3 до 7×7 пикселей, причем выбор осуществлять так, чтоб не было значительного перекрытия апертур. При этом использовалась следующая эмпирическая формула: 2 ω 1 

hw , 2D

(2)

где D×D – размер разреженной сетки точек, подлежащих отслеживанию; (h + w) / 2 – средний габаритный размер объекта. Здесь размер апертуры представлен в виде выражения 2 + 1 в связи с удобством использования параметра  – именно он передается в функцию вычисления оптического потока библиотеки OpenCV версий до 2.3 включительно. Хотя выражение (2) дает лучшие результаты в сравнении с исходным подходом, оно остается не полностью оптимальным, поскольку никоим образом не учитывает характер и размер перепадов яркости присущих объекту. Поэтому, в следующем разделе предлагается новый способ оценивания размера апертуры. Для оптического потока характерна еще одна сложность, связанная с апертурой. В литературе ее так и называют «проблемой апертуры» [4, 5], и заключается она в невозможности надежного определения оптического потока для всех точек изображения. Для решения этой проблемы в исходной работе [1] рассматривалась возможность использовать процедур отбора областей удачных для отслеживания [5, 6]. Однако авторы впоследствии от них отказались [2, 11], вероятно ввиду неудобства прямого их использования: оба подхода основаны на пороговой обработке и неверный выбор порога зачастую не обеспечивает достаточное для надежного отслеживания объекта количество точек. Более того подход описанный в [5] ресурсоемок и не может быть использован для работы во встраиваемых системах. В связи с этим предлагается простой способ отбора признаков. Он основан на разбиении области объекта слежения на небольшие неперекрывающиеся фрагменты, в каждом из которых производится поиск границ и выбирается по одной точке, которая в данном фрагменте соответствует границе с наибольшей амплитудой. Детектирование границ можно эффективно выполнять, с помощью операторов Собела или Превита. Подобную схему, также несложно адаптировать к быстрому способу определения углов «FAST»

[6]. Для этого, углы следует искать, используя небольшой порог (к примеру, равный единице) и среди найденных ключевых точек в каждом фрагменте выбрать по одной – с максимальной оценкой (score). При этом указанная схема на практике гарантирует определение в каждом из фрагментов по одной точке подлежащей отслеживанию. Отметим, что в следующем разделе данной работы предлагается еще один быстрый способ поиска оптимальных для отслеживания точек. Базовый алгоритм медианного потока переинициализируется на каждом кадре [2], то есть генерируется новая разреженная сетка точек подлежащих отслеживанию. Однако замечено, что более надежный результат достигается при повторном использовании тех точки, которые не были отфильтрованы с помощью вычисления NCC, FB-ошибки, и не оказались за пределами прямоугольника охватывающего объект. При этом отброшенные точки несложно восстановить при помощи процедур, описанных выше. 4. Дальнейшее совершенствование алгоритма медианного потока

4.1. Поиск оптимального размера апертуры Очевидно, что оптический поток будет надежнее вычисляться тогда, когда в апертуры каждой из точек попадут достаточно большие перепады яркости. Это означает, что размеры апертур следует выбирать так, чтоб энергия перепадов яркости в их пределах была максимальной. При этом величину перепада можно оценить с помощью пространственных градиентов, а оптимальный размер – искать исходя из анализа их энергий на разных масштабах. Масштаб, на котором энергия градиентов окажется максимальной, вероятно и будет соответствовать апертуре с наибольшими перепадами яркости. Наиболее простой и очевидный способ оценить энергии градиентов на разных масштабах – вычислять квадраты разностей между точками изображения, взятыми на различных расстояниях друг от друга, то есть:

EI / x (d )  [ I ( x, y)  I ( x  d , y)]2 EI / y (d )  [ I ( x, y)  I ( x, y  d )]2

,

(3)

где EI/x(d) и EI/y(d) – энергии горизонтальных и вертикальных градиентов в точке (x, y) соответственно; d – расстояние между точками


Усовершенствованный алгоритм медианного потока для визуального отслеживания объектов…

изображения, соответствующие масштабу на котором вычисляется градиент; I(x, y) – яркость изображения объекта в точке (x, y). Таким образом, значения d, для которых суммарные по всему изображению энергии градиентов максимальны, должны соответствовать оптимальным размерам апертуры. Это можно записать следующим образом:

137

ся самостоятельно. Это существенно не ухудшит надежность, в то же время потребует меньших размеров апертур, а соответственно и – вычислительных затрат. M d

N d

M d y 1

N d | x 1

 x  y 1  x 1  y 

| I ( x, y )  I ( x  d , y ) | I ( x , y )  I ( x, y  d ) |

M dN d

2 ωx  1  arg max  [ I ( x, y)  I ( x  d , y)]2 y 1 x 1

M dN d

2 ω y  1  arg max  [ I ( x, y)  I ( x, y  d )]2 d

I

, (4)

×104

y 1 x 1

где 2x + 1 и 2y + 1 – ширина и высота апертуры соответственно; N и M – ширина и высота изображения соответственно. Поскольку, замена квадрата на абсолютное значение в приведенных выше формулах для большинства случаев значительно не повлияет на поведение функции arg max по отношению к d, то выражения (4) можно представить в более эффективном для вычисления виде:

Σx

×104

9

9

7

7

5

d = 13

Σy

3 1

5

d = 11

3 0

10

d

20

30

1 0

10

d

20

30

11

d

M d N d

2 ωx  1  arg max   | I ( x, y)  I ( x  d , y) | d

y 1 x 1

M d N d

2 ω y  1  arg max   | I ( x, y)  I ( x, y  d ) | d

13

(5)

y 1 x 1

Процедуру оценивания размера апертуры иллюстрирует рис. 1, на котором предложенный подход фактически определил средний размер пятна, который, очевидно, оптимален для отслеживания. С целью повышения быстродействия, предлагается изменять расстояние d с шагом Δ > 1. При этом, однако, важно знать: не будет ли при большом шаге Δ пропущено расстояние, соответствующее глобальному максимуму энергии градиентов. В общем случае такая ситуация не исключена и может иметь место тогда, когда на изображении максимумы яркостных перепадов разнесены так, что ни одно значение di = d0 + i·Δ; i = 1,2,3,...; Δ > 1 не будет соответствовать истинному расстоянию между ними (см. рис. 2 – для простоты приведен одномерный случай). На самом деле пропуск максимума энергии градиентов для узких разнесенных перепадов не является критичным. Дело в том, что узкие перепады яркости, характерны для узких линий или точек, которые вполне могут отслеживать-

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

Широкие, расположенные близко друг к другу перепады, наиболее часто принадлежат нечеткими границами объектов, поэтому их целесообразнее отслеживать как единое целое. Примечательно, что функции EI/x(d) и EI/y(d) (в виду большой ширины перепадов яркости) будут изменяться плавно вблизи точек максимума. Таким образом, для их уточнения ниже предлагается простая процедура последовательного приближения. Суть данной процедуры сводится к следующему: проходя по изображению с большим шагом d и найдя точку максимума энергии гради-


138

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

ентов dmax, произвести более детальный анализ в ее окрестности. Для этого убедиться, что в точке dmax энергия градиентов выше чем, точках dmax  Δ/2 и dmax + Δ/2 (для простоты можно просто анализировать ближайшие соседние точки: dmax  1 и dmax + 1). Если это окажется не так, то продолжить поиск максимума в окрестности той из точек, которой будет соответствовать наибольшее значение энергии. При этом, если E(dmax  Δ/2) = E(dmax + Δ/2), но превышают E(dmax), то дальнейший анализ предпочтительнее проводить в окрестности dmax  Δ/2, так как это даст меньшую апертуру и соответственно большее быстродействие при вычислении оптического потока. Приведенная схема проиллюстрирована на рис. 3. d1 = d0+ Δ d0

d1 = d0+ Δ d0

Рис. 2. Условия пропуска максимума энергии градиента при Δ > 1. Рассмотрено два случая: слева – резкие небольшие по ширине перепады, характерны для мелких точек или узких линий, далеко отстоящих друг от друга; справа – широкие перепады, которые часто свойственны нечетким границам объектов.

Как говорилось ранее, значения  целесообразно брать в пределах от 3 до 7. Нижняя граница здесь определяется требованиями алгоритма оценивания оптического потока [3] (см. реализацию OpenCV), а верхняя выбрана исходя из соображений быстродействия на встраиваемых процессорах. В целом на более мощных компьютерах верхняя граница может быть несколько увеличена, но ее все же не имеет смысла брать больше 15 пикселей. В связи с указанными ограничениями, а также с тем, что апертура представляется как 2 + 1, поиск оптимального ее размера с помощью (5) необходимо проводить только в пределах d от 7 до 31. Учитывая, что для вычисления  потребуется деление на 2 и округление, d можно изменять с шагом Δ = 2. Наличие процедуры последовательного приближения, также позволяет незначительно увеличить шаг. Таким образом, поиск максимумов энергий градиентов можно выпол-

нять по d с шагом Δ = 4÷5, а это потребует в наихудшем случае порядка (31  7) / 4 + 4 = 10 (последнее слагаемое определяет расходы на приближение) вычислений сумм в формулах (5). 3,3 ×10

5

dmax + 1 dmax

3,2

dmax – 1 E(dmax – 1) < E(dmax + 1)

Σ

3,1

3,0

2,9

9

10

11

12

13

14

15

16

17

d

Рис. 3. Поиск максимума путем последовательного приближения, если энергия градиентов первоначально оценивалась с шагом изменения d бóльшим единице. Кривая, показанная сплошной линией – значения энергий на расстояниях d взятых с шагом Δ = 4. Пунктирная кривая – энергии градиентов для d взятых с шагом Δ = 1. Черным круглым маркером обозначена точка соответствующая максимуму энергии на кривой, для которой d изменяется с Δ = 4. Черным квадратным маркером обозначен глобальный максимум. Стрелка указывает направления поиска максимума.

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


Усовершенствованный алгоритм медианного потока для визуального отслеживания объектов…

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

Γ ( x)   ζ( I( y )  I (x),0) ,

5 15 4 15

≈ 15

5 14 3

139

ла Γ(x) и рассматривается как некоторый признак, кодирующий область изображения в точке x. Формально вычисление MCT признака определяется как: (6)

y ( x )

≈ 8

4 15 3

Рис. 4. Глобальный перепад яркости и его компенсация. На изображении слева максимум энергии из-за глобального перепада достигается при d ≈ 15, в то же время оценивание энергии во фрагментах, показанных на рисунке справа дает результат более близкий к истинному: d = 7,56 ≈ 8.

Таким образом, изложенный выше подход определения апертуры, основанный на выражении (5), призван заменить непосредственное оценивание по размеру, задаваемое уравнением (2). При этом, количество уровней пирамиды, как и прежде можно рассчитать по формуле (1). 4.2. Выбор точек подлежащих отслеживанию Как уже отмечалось выше для решения проблемы апертуры в алгоритме медианного потока предложено два подхода, и оба они не лишены недостатков. Первый из них ищет максимум амплитуды границы, но не учитывает ее форму, что не устраняет проблему апертуры на ровных протяженных линиях. Второй подход призван анализировать оценки качества угловых ключевых точек FAST [6], однако как отмечают сами авторы, FAST все же может детектировать под некоторыми углами линии шириной в 1 пиксель, что опять же не позволяет полностью решить проблему апертуры. В связи с этим в данной работе предлагается еще один простой подход поиска ключевых точек, основанный на так называемом усовершенствованном цензурном преобразовании (MCT – Modified Census Transform) [7]. Его суть заключается в следующем: для областей изображения имеющих размер 3×3 пикселя и центр в точке с координатами x рассчитывается среднее значение Ī(x), которое далее сравнивается с каждым пикселем данной области, формируя в результате двоичную последовательность. Эта двоичная последовательность может быть представлена в виде 9-битного чис-

где (x) – окно задающее область с центром в точке x; символ  – обозначает операцию конкатенации; (a, b) – оператор сравнения, равный «1» если a > b и «0» – в противном случае; Ī(x) – средняя яркость в области (x); I(y) – яркость пикселя в точке y. Процесс вычисления MCT иллюстрирует рис. 5 [8]. I 100 90

(I(y), Ī(x))

Ī(x) 64

255 225 90

159

0 0 0

Γ(x)

1 1 0

0001101102

1 1 0

238 242 127

Рис. 5. – Процедура вычисления признака усовершенствованного цензурного преобразования (MCT)

Поскольку, надежному отслеживанию поддаются области, содержащие яркостные пятна, углы, края, пересечения и изгибы линий [4], именно их следовало бы использовать в качестве ключевых точек. Поиск таких областей несложно осуществить, используя специальный алфавит MCT-признаков, пример которого приведен на рис. 6. Углы

Точки и пересечения линий

Края линий

Рис. 6. Пример неполного алфавита MCT-

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

Данным алфавитом заданны наиболее надежные для отслеживания области, однако он является неполным и при необходимости может быть расширен дополнительными признаками. Отметим, что отбор ключевых точек из


140

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56 5. Результаты тестирования алгоритма

всего множества MCT-признаков можно очень эффективно осуществлять с помощью таблиц поиска. Размер подобной таблицы для областей 3×3 пикселя составит 29 = 512 элементов. Детектор на основе MCT-признаков, однако, чувствителен к шуму, поэтому для обнаруживаемых ключевых точек важно иметь определенную меру качества S(x). Для ее вычисления, целесообразно использовать отклонение от средней яркости: S (x) 

 | I( y )  I ( x ) | .

(7)

y  ( x )

Преимущество рассмотренного подхода перед детектором FAST заключается в том, что он в отличие от FAST анализирует область каждой из точек изображения полностью и соответственно не детектирует узкие протяженные линии. Таким образом, в контексте рассматриваемого алгоритма медианного потока предлагается использовать описанный детектор ключевых точек совместно с подходом по оцениванию апертуры следующим образом: 1) Произвести поиск оптимального размера апертуры и определить размер преобладающих на объекте сильных перепадов яркости. Для этого пользуясь выражением (5) найти оптимальные значения 2x + 1 и 2y + 1. С целью экономии вычислительных ресурсов в уравнении (5) параметр изменять d с шагом (4÷5), после чего выполнить процедуру последовательного приближения. 2) Путем масштабирования объекта привести его размер к такому, чтоб найденные на нем перепады по ширине и высоте оказались сравнимы с размером областей анализа ключевых точек (для рассмотренного подхода на основе MCTпризнаков этот размер составляет 3×3, для ключевых точек FAST – 7×7). 3) Разбить масштабированный объект на фрагменты в соответствии с требуемой плотностью разреженной сетки, то есть на D×D ячеек (см. уравнение (2)). В каждой из ячеек произвести поиск ключевых точек и выбрать по одной с наибольшим значением оценки (для предложенного подхода на основе MCT-признаков оценка вычисляется с помощью (7)).

Для того чтобы убедится, что усовершенствованный алгоритм является более надежным чем его базовая версия [1], было проведено несколько простых тестов: на трех видеопоследовательностях обозначенных как «David», «Car4» и «Mirage» (показаны на рис. 7) были определены опорные положения объектов. Далее данные положения были сопоставлены с результатами, полученными с помощью каждого из алгоритмов. Реализация базового алгоритма, при этом, взята из оригинальной системы TLD, в которой был предварительно отключен компонент детектирования и обучения. Адаптация масштаба была отключена для всех алгоритмов. В таблице 1 приведены данные относительно количества потерь объекта каждым из алгоритмов. Факт потери устанавливался на основании площади перекрытия прямоугольников, которые задают положения объекта на опорных данных и полученных с помощью тестируемых алгоритмов: A | BB  BBref | ,

(8)

где BB – множество точек прямоугольника найденного системой слежения; BBref – множество точек опорного прямоугольника; |·| – оператор дающий количество точек множества. Объект считался потерянным, если площадь перекрытия меньше 50% площади опорного прямоугольника. Табл. 1. Количество объекта Алгоритм Базовый [1] Простой эвристический Улучшенный

потерь

алгоритмом

Последовательность David Car4 Mirage

0 0 0

3 0 0

10 0 0

Как видно из таблицы 1, для усовершенствованного алгоритма на тестовых видеопоследовательностях, в соответствии с выбранным критерием, не имели место потери объектов. При этом оценивание FB-ошибки в усовершенствованном алгоритме и в первоначальном эвристическом алгоритме не проводилось. Табл. 2 содержит информацию о среднем отклонении от опорных координат каждым из алгоритмов.


Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

141

а)

б)

в)

г)

д)

е)

ж)

з)

к)

л)

м)

н)

Рис. 7. Пример отслеживания различных объектов на видеопоследовательностях (показаны выбранные кадры): а)-г) – последовательность «David»; д)-з) – последовательность «Car4»; к)н) – последовательность «Mirage». На рисунках прямоугольниками обозначены результаты: со штрихпунктирной линией – полученные с помощью базового алгоритма, с пунктирной линией – полученные простым эвристическим алгоритмом из раздела 3 и со сплошной линией – полученные усовершенствованным алгоритмом из этой работы. Табл. 2. Средняя ошибка отклонения координат объекта в пикселях Алгоритм Базовый [1] Простой эвристический Улучшенный

Последовательность David Car4 Mirage

7,96 6,27 4,77

11,9 16,36 13,47

2,47 1,63 1,49

Из нее также видно, что последняя модификация алгоритма имеет наименьшую ошибку. Приведенные выше результаты получены в среде MATLAB версии 7.14.0.739 (2012a) к которой были подключены библиотеки OpenCV 2.1, вычисляющие пирамидальный оптический поток. Тестирование проводилось на компьютере с процессором Intel Core Duo с тактовой частотой 1,86 ГГц, 2 Гб ОЗУ. Время обработки кадра с разрешением 320×240 пикселей составило в среднем 4,5 мс для объекта размером 97×90 пикселей. Слежение осуществлялось с использованием разреженной сетки 10×10 точек, параметр размера окна апертуры ω алгоритмом был определен равным 6, количе-

ство уровней пирамиды L – равным 2. Данные приведены для последовательности «Car4» (см. рис. 7), которая является наиболее сложной среди рассматриваемых в данной работе. Учитывая высокие показатели быстродействия рассмотренного алгоритма (обработка кадра составляет менее 5 мс на ПК общего назначения), можно ожидать, что он сможет работать в режиме близком к реальному времени на современных встраиваемых ARM процессорах и системах на кристалле, таких как: TI OMAP, NVidia Tegra, Qualcomm Snapdragon и подобных. 6. Обсуждения результатов

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


142

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

ности «Car4», следует считать корректным лишь формально. Причиной этого являются переинициализации, имевшие место при потере объекта (см. табл. 1), не позволившие накапливать погрешность при определении его координат. Следует отметить также, что возможно использование более надежных и точных алгоритмов оценивания апертуры, основанных, например, на многомасштабном анализе качества ключевых точек [9] или на разности изображений размытых фильтрами Гаусса (DoG) [10]. Однако, при ознакомлении с ними детальнее несложно убедится, что они уступают по сложности реализации и быстродействию рассмотренному выше алгоритму анализа энергий градиентов. 7. Выводы

В данной работе автором усовершенствован алгоритм медианного потока, предназначенный для автоматического отслеживания объектов на

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

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

1.

Kalal Z., Mikolajczyk K., Matas J. Forward-Backward Error: Automatic Detection of Tracking Failures // International Conference on Pattern Recognition. – 2010. – P. 23–26. 2. Kalal Z., Mikolajczyk K., Matas J. Tracking-Learning-Detection. // Transactions on Pattern Analysis and Machine Intelligence. – 2012– Vol. 34(7). – P. 1409–1422. 3. Boguet J.-Y. Pyramidal Implementation of the Lucas Kanade Feature Tracker: Description of the algorithm. // Tech. report, Intel Corporation, Microprocessor Research Labs. – 2002. – 9 P. 4. Bradski G., Kaehler A. Learning OpenCV. – Sebastopol: O’Reilly Media, Inc. – 2008. – 557 P. 5. Shi J., Tomasi C. Good features to track. // Proc. Conference on Computer Vision and Pattern Recognition. – 1994. – P. 593–600. 6. Rosten E., T. Drummond. Machine learning for high-speed corner detection. // European Conference on Computer Vision. – 2006. – P. 430–443. 7. Küblbeck C., Ernst A. Face detection and tracking in video sequences using the modified // Image and Vision Computing. – 2006. – Vol. 24(6), P. 564–572. 8. Varfolomieiev A., Dzyuba V., Lysenko O. Implementation of a Real-Time Object Detection System on a TI TMS320DM6437 DSP // Mediterranean Conference on Embedded Computing. – 2012. – P. 108–111. 9. Lowe D. G. Object Recognition from Local Scale-Invariant Features // International Conference on Computer Vision. – 1999. – Vol. 2. – P. 1150–1157. 10. Mair E., Hager G. D., Burschka D., Suppa M., Hirzinger G. Adaptive and generic corner detection based on the accelerated segment test. // Proceedings of the European Conference on Computer Vision. – 2010. – P. 183–196. 11. Исходный код реализации метода TLD [электронный ресурс], режим доступа: https://github.com/zk00006/OpenTLD – проверен 25.09.2012.


УДК 004.89:004.657 ПОСПЕШНЫЙ А.С. МЕТОД ИНФОРМАЦИОННОГО ДОПОЛНЕНИЯ НА ОСНОВЕ ОНТОЛОГИЙ ДЛЯ ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ ИНФОРМАЦИОННЫХ СИСТЕМ В данной статье рассмотрено формальное описание информационной системы и предложено способ оценки количества информации, которое хранится и обрабатывается такой системой. Рассмотрено понятие дополняемой информационной системы, способной извлекать дополнительную информацию, основываясь на семантике данных. Доказано эффективность онтологий в качестве средства информационного дополнения. Рассмотрен способ существенного понижения сложности запросов к информационной системе и усовершенствования взаимодействия пользователя с системой. Предложено производить логическую валидацию входящих запросов, с целью дополнительного повышения эффективности информационных систем. Ключевые слова: информационные системы, онтология, количество информации, информационный поиск. The article presents a formal description of an information system and proposes a method for quantifying an amount of information that it stores and processes. A notion of complemented information systems is being considered, in which additional implicit information is extracted from the stored data based on its semantics. We discuss an application of ontologies to the task at hand, proving their effectiveness as an information complementing tool. We propose a new method to substantially reduce the complexity of quires to the information system and considerably simplify user’s interaction with it. A suggestion is made to perform a preventive logical validation of incoming queries to the information system to further increase their effectiveness. Keywords: information systems, ontology, amount of information, information retrieval.

Введение

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

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

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


144

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

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

Для оценки качества работы информационных систем в литературе наиболее часто применяются такие оценочные характеристики, как точность (precision) и полнота (recall). Точность определяется отношением количества релевантных документов, найденных информационной системой по произвольному запросу, к общему количеству найденных документов. Полнота определяет отношение числа найденных релевантных документов, к общему числу хранимых релевантных документов. Однако эти критерии целесообразно применять лишь в тех информационных системах, которые оперируют текстом, документами или другой слабо структурированной и неформализированной информацией. Информационные системы, рассматриваемые в этой работе, не относятся к подобным системам и по классу реализуемых задач более близки к реляционным базам данных, в которых данные подчиняются чётко определённой информационной схеме. В таких системах точность и полнота, как правило, составляет 100%, что делает бессмысленным использование этих характеристик для оценки качества их работы. В свою очередь, оценка эффективности подобных информационных систем производится чаще всего с учётом их эксплуатационных характеристик. В частности, оценочными критериями выступают время обработки запроса, количество используемой памяти, степень загруженности процессора(ов) и т.д. Несмотря на неоспоримую важность этих характеристик, они всё же не отображают действительной эффективности хранения и обработки информации информационной системой. Применение семантических технологий постепенно становится обязательным моментом при проектировании и разработке информационных систем. Так, компания Oracle – лидер на рынке реляционных баз данных, заявила о поддержке онтологий в своей объектнореляционной системе управления базами данных Oracle 11g [1]. На самом деле, эта RDBMS производит проекцию вводимых в виде RDF триплетов2 данных на свою реляционную мо 2

http://www.w3.org/TR/rdf-primer/

дель и применяет к ним множество порождающих правил в соответствии со спецификациями RDF(S) и OWL2-RL. При этом используется довольно слабая if-семантика, выражаемая в виде IF…THEN правил. Запрос к данным осуществляется через обёрнутый в SQL язык запросов SPARQL3 или посредством специальных операторов ONT_RELATED и ONT_ EXPAND. Используемые в Oracle 11g запросы чрезвычайно сложны и громоздки, а используемая ослабленная семантика и RDFориентированная модель данных не согласуется с представлением автора об онтологическидополняемых системах. Совершенно другой подход был рассмотрен в работе [2], где рассматривается возможность трансляции данных из реляционной базы данных в их онтологическое представление. Таким образом, появляется возможность интеграции RDBMS систем в канву Семантической паутины. Однако данный подход не учитывает анализ транслируемых данных с учётом их семантики и не предусматривает ни онтологического дополнения, ни последующего упрощения запросов к предоставляемой информации. Похожий подход был предложен в работе [3], но в отличие от предыдущей работы, предлагалось использовать онтологии для доступа к «нижележащей» информационной системе. При этом рассматривается новая специальная дескрипционная логика DL-LiteA и механизмы генерации SQL-запросов на основе онтологий. К сожалению, предложенный авторами метод не универсален и не позволяет достичь поставленных в этой работе целей. Понятие информационной системы

Вначале, рассмотрим понятие информационной системы (ИС). В основе информационной системы лежит множество информационных объектов ( ), природа которых определяет все её ключевые характеристики. Так, в качестве информационных объектов ИС могут быть пользователи, список товаров или услуг, данные полученные вследствие эксперимента, наблюдаемые процессы, события, список книг или запчастей и т.д. Объекты, в свою очередь, классифицируются посредством множества атрибутов . Например, «дата создания», «имя», «тип», «стоимость», «высота», «шири 3

http://www.w3.org/TR/rdf-sparql-query/


Метод информационного дополнения на основе онтологий для повышения эффективности…

на» и т.д. – всё это возможные атрибуты объекта информационной системы. Для каждого атрибута ∈ определено множество допустиизвестное как домен атрибумых значений . Так, для атрибута «пол» та мужчина, женщина , атрибут «возраст» может обладать доменом натуральных чисел от 0 ∈ | 0 150 , а доменом до 150: атрибута «масса» может быть множество рациℚ. Разумеется, атрибуты ональных чисел: могут разделять общее пространство значений и, например, атрибуты «высота» и «длина» будут относиться к одному и тому же домену . Для того чтобы иметь возможность ассоциировать некую информацию об объекте информационной системы необходима функция которая будет отображать утверждения множество во множество ∈ таким образом, что , ∈ для всех ∈ и ∈ . Фактически посредством функции мы задаём каждому объекту его описание в виде значений его атрибутов. Если – частично определённая функция, то определим информационную систему, как неполную, если же – всюду определённая функция, то такая ИС определяется, как полная информационная система. Таким образом, мы можем определить информационную систему как 〈 , , , 〉,

(1)

– множество объектов информационной где системы, А – множество атрибутов, где – множество значений атрибута ∈ ∈ при условии что | | 1, и – функция утверждения → . Пример 1 Рассмотрим пример информационной системы: , , , , , имя, пол, возраст, родители , Vимя ∪ Vпол ∪ Vвозраст ∪ Vродители , где имя Σ ∗ , пол мужчина, женщина , , родители . возраст Здесь и дальше под выражением Σ ∗ будет подразумеваться замыкание Клини – множество всех строк произвольной длины в соответствии с алфавитом Σ: Σ ∗ ⋃ ∈ Σ Функцию в нашем примере выразим в виде таблицы:

145

Таблица 7. Функция имя

пол

возраст родители

Ковальчук мужчина Тарас Ковальчук мужчина Ярослав Яремчук Инна женщина Ковальчук женщина Юля Ковальчук мужчина Андрей

45 12

,

39

-

4

,

67

-

Оценка количества информации в ИС

Введём понятие как совокупного описания объекта в информационной системе (или , если информационная система S определена для любого контекстом). Таким образом, объекта ∈ будет включать значения всех атрибутов этого объекта: ∈

,

(2)

Так, для информационной системы S, представленной ранее в примере 1 совокупное опибудет равно сание объекта имя: Ковальчук Ярослав , пол: мужчина , возраст: 12 , родители: , . Дополнительно введём понятие совокупной хранимой информации ɤ информационной системы , которая будет определять множество всех утверждение в этой ИС: ɤ

(3)

Теперь попробуем количественно оценить тот объём информации, которым располагает произвольная информационная система. Для этого обратимся к теории информации [4]. Основоположник теории информации Клод Шеннон определил информацию как снятую неопределенность. Задача, которая решается в ходе снятия неопределенности – уменьшение количества рассматриваемых вариантов, и в итоге выбор одного соответствующего ситуации варианта из числа возможных. В свою очередь энтропия – это величина, которая характеризует количество неопределенности и непредсказуемости. Количество информации и энтропия характеризуют одну и ту же ситуацию, но с качественно противоположенных сторон. Можно сказать, что – это количество информации,


146

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

которое требуется для снятия неопределенности . Для случайной величины , имеющей конечное число значений так, что , ∑ 0, 1,2, … , и 1 расчёт энтропии производится по формуле Шенона: log

1

log

В частном случае, когда все варианты равновероятны, остается зависимость только от количества рассматриваемых вариантов и количество информации в этом случае определяется как двоичный логарифм числа состояний: log

(4)

Опираясь на вышеупомянутые принципы, попробуем оценить количество информации, хранимое в информационной системе S: ɤ , ɤ

, ∈

log | | , для ∀

,

∅. 5

Таким образом, можно записать что:

log | | , 0,

, ,

∅ 6 ∅

Пример 2 Произведём оценку количества информации в информационной системе S, приведённой в примере 1: ɤ

,

где log |Σ |

log |

log log 32

log | |

родители

log 2 log 2

log |Σ |

log 5

log |

2log log 32

пол |

пол |

бит,

log | |

родители

log 2 log 2

2log 5

бит,

log |Σ | log 32

log |

log 2

пол |

log 2

log | | бит,

бит,

бит.

бит. Таким образом, Хочется заметить, что в примере выражение log | | было преобразовано в log 2 так как, несмотря на бесконечное количество натуральных чисел, в цифровой технике значения численных доменов чаще всего выражены в виде величин с фиксированной разрядностью (short, int32, long64, и т.д.). Информационное дополнение в ИС

Рассмотрим понятие дополняемой информакак ционной системы 〈 , , , , 〉,

(7)

где – множество объектов информационной системы, А – множество атрибутов, где – множество значений атри∈ бута ∈ , – функция определения и – функция дополнения ∶ → ∶ → . Назначение функции заключается в дополнительном определении атрибутов объекта , исходя из множества уже определённых значений, заданных посредством функции . Таким образом, совокупное описание объекта ∈ в дополняемой информационной сибудет равно: стеме ∈

,

,

(8)

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


Метод информационного дополнения на основе онтологий для повышения эффективности…

ком онтологий на сегодняшний день считается язык OWL, стандартизированный Всемирным Консорциумом паутины (W3C).4 Дескрипционная логика (DL) [5], в свою очередь, обеспечивает подробно изученную логическую основу для онтологических языков. На сегодняшний день существует множество разнообразных DL , , , , языков, например, и т.д., различающиеся по степени экспрессивности и вычислительной сложности. Таким образом, рассмотрим онтологически как дополняемую информационную систему расширение определения (8) вида 〈 , , , , , 〉, где – онтология информационной системы. В такой ИС знания, представленные в виде онтологии, позволяют совершать логический анализ над информационными объектами ∈ и производить доопределение их атрибутов, тем самым увеличивая количество информации в информационной системе. То есть для всех случаев будет верным утверждеɤ . ние ɤ Пример 3 Рассмотрим пример онтологически дополняемой информационной системы для мониторинга задач в распределённой вычислительной системе: , , , , , IP-адрес, задач в очереди, , запущенно задач, статус

VIP-адрес ∪ Vзадач в очереди ∪ , Vзапущенно задач ∪ Vстатус VIP-адрес

∈ | 0

Vзадач в очереди Vстатус

2

1,

, Vзапущенно задач

,

простаивающий, занятый, недоступный .

Функцию

выразим в виде таблицы:

Таблица 2. Функция X

IP-адрес

задач в очереди

192.168.0.1 192.168.0.2

1 30

запущено задач

3 проста ивающий

1 3

4

http://www.w3.org/TR/owl2-overview/

∃статус. простаивающий ≡ ∃задач в очереди. ,0 ⊓ ∃запущенно задач. ,0 ∃статус. занятый ≡ ∃запущенно задач. ,1 ∃статус. недоступный ≡ ∃задач в очереди. ,0 ⊓ ∃запущенно задач. ,0

В таком случае доопределённая информационная система будет иметь следующий вид: Таблица 3. Функция X

IP-адрес

задач в запущено очереди задач

192.168.0.1 192.168.0.2

1 30

1 3

192.168.0.3

0

0

73.24.101.11 73.24.101.10

1 3

1 0

статус занятый занятый проста ивающий занятый недоступный

Воспользовавшись выражениями (5) и (8) не трудно рассчитать, что изначально информационная система содержала около 387 бит информации. Поле онтологического дополнения количество информации в ИС составило 456 бит. При этом для объекта была уменьшена неопределённость (энтропия) относительно параметра «запущено задач». Представленный пример демонстрирует лишь малую часть потенциала, заложенного в онтологическом дополнении информационных систем. Онтологии могут содержать тысячи утверждений и правил, отображая глубинные взаимосвязи между информационными объектами и их атрибутами. При этом накладные расходы, связанные с логическим выводом над онтологиями, зависят как от её размера, так и от языка дескрипционная логики, на которой она основана. Так для онтологий на базе языка характерна полиномиальная зависимость между размером онтологии и временем её обработки, что позволяет эффективно применять метод онтологического дополнения с учётом большого объёма данных [6].

занятый

192.168.0.3 73.24.101.11 73.24.101.10

статус

147

Допустим, информационная система была дополнена следующей онтологией:

1 0

Эффективность запроса в ИС

Основная функция рассматриваемого класса информационных систем – предоставление её пользователям запрашиваемой информации. Критерием эффективности подобного класса


148

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

систем априори можно считать степень удовлетворения информационных потребностей пользователя. Ранее было показано, что применение онтологий для информационного дополнения ИС позволяет увеличить объём извлекаемой информации из изначально вводимых данных. Таким образом, только за счёт этого, пользователь дополняемой информационной системы может получать больше релевантной информации, чем пользователь традиционной ИС на основе того же набора исходных данных. Однако применение онтологий открывает возможность значительно усовершенствовать непосредственно сам процесс запроса к ИС, упростить его и сделать более удобным для пользователя. Определим как язык запросов к информационной системе , который будет использоваться для извлечения информации, хранимой в этой ИС. Запрос к информационной системе может быть выражен в виде некого термина в рамках этой ИС, либо в виде формулы. В первом случае термины представляют собой подмножество всех информационных объектов ИС с указанными значениями атрибутов. В случае формул, в качестве запроса выступает логическое утверждение, результат которого может быть разрешён как «истинно» либо «ложно». В представленной работе внимание будет сфокусировано на запросах к ИС заданных в виде терминов, но все изложенные рассуждения будут в равной степени верны и для запросов заданных в виде формул. Таким образом, будем считать, что запрос к информационной системе , составленный с помощью языка и множества его терминов выполняется поисковой функцией ∶ → . При этом термином ∈ может быть: 1. Универсальные термины и , обозначающие «ничего» и «всё» соответственно. 2. Атомарные дескрипторы информационной системы S, представляющие собой элемент множества , где ∈ . 3. Комплексный термин созданный с помощью булевых операторов , ∧, ∨. Семантика поисковой функции при этом будет выглядеть следующим образом:

∅, ∧ ∨

∩ ∪

,

(9) ,

Для информационной системы, представленной в Примере 3, поисковым запросом может быть следующее выражение: (задач в оче20) ∧ (запущено задач: 5). В этом реди: случае, ответом будет . Воспользовавшись представленным ранее методом оценки количества информации в ИС, введём понятие сложности запроса к информационной системе как количество информации, которое содержится в этом запросе: log | | ,

10

– множество значений термина ∈ . где Вычисления в (10) согласуются и с интуитивной оценкой сложности запроса к ИС – чем больше атрибутов задействовано в запросе и чем больше область их возможных значений, тем сложнее его составить. Теперь рассмотрим, каким образом онтологии могут существенно понизить сложность запроса к информационной системе. Пример 4 Обратимся к онтологически дополняемой информационной системе из Примера 3. Составим поисковый запрос к ИС, который вернёт список всех простаивающих или вскоре освобождающихся вычислительных ресурсов в локальной сети: задач в очереди: 0 ∧ запущено задач: 1 ∧ IP-адрес : 192.168.0.1 ∧ IP-адрес : 192.168.0.255 . Расширим онтологию информационной сиследующими выражениями: стемы ∪ ∃IP-адрес.

192.168.0.1, 192.168.0.255 ⊑ Локальный ресурс ∃статус. простаивающий ⊔ ∃запущенно задач. ,1 ⊓ ∃задач в очереди. ,0 ⊑ Незагруженный

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


Метод информационного дополнения на основе онтологий для повышения эффективности…

Локальный ресурс ∧ Незагруженный

Итого, нам удалось весомо упростить запрос к ИС, сохранив при этом показатели точности и полноты. Воспользовавшись формулой (10) можно посчитать, что количество информации в изначальном запросе составило 128 бит. Во втором случае количество информации составило всего 2 бита, так как определённые в онтологии термины не имеют области допустимых значений и только выражают определённое понятие. Естественно, запрос к ИС может и, скорее всего, будет содержать как термины, определённые в онтологии, так и обычные термины, основанные на дескрипторах. Может сложиться ошибочное представление, что онтология повысила сложность информационной системы, так как на её создание уйдёт значительно больше времени, чем на составление комплексного запроса. Однако, онтологии составляются с целью описания целой области знаний, предоставляя широкий набор часто употребляемых терминов для многократного использования. Можно говорить о том, что термины, доступные через онтологию, будут основой для поисковых запросов к ИС, дополняемые уточняющими дескрипторами. Это во многом соответствует тому, как люди «запрашивают» информацию друг у друга. Например, онтологически дополняемая ИС может произвести поиск по запросу приблизительно следующего вида: «Дети старше 7 лет», «Многоядерные вычислительные узлы с поддержкой MPI», «Высокопроизводительные сервера фирмы Intel» и т.д. К тому же стоит сказать, что пользователь не всегда имеет достаточную квалификацию, мотивацию или время, необходимое для создания подобных запросов к ИС с помощью перечисления всех атрибутов искомого объекта со всеми их взаимосвязями. В то же время изучение и использование онтологии, зачастую дополнительно аннотированной пользовательской информацией и комментариями к предоставляемым терминам, значительно более быстрый и менее трудоёмкий процесс. Логическая проверка запросов к ИС

Ещё одним преимуществом использования онтологий в информационных системах является возможность проведения предварительной проверки поискового запроса на предмет логи-

149

ческих несоответствий. В том случае, если входящий запрос к ИС исключает всякую возможность того, что запрашиваемые данные могут существовать вообще, информационная система может тут же вернуть пустое множество в качестве ответа и сэкономить время на выполнении бессмысленного запроса. Например, для информационной системы, приведённой в Примере 4, следующие запросы лишены всякого смысла: задач в очереди: -1 запущено задач: 1 ∧ статус: простаивающий Локальный ресурс ∧ IP-адрес: 91.20.3.44 Современные средства логического анализа онтологий могут помочь не только в выявлении логических коллизий, но и предоставляют подробное описание его причины, что будет немаловажным для пользователя, составившего такой ошибочный запрос. Дополняющие онтологии

Онтологии – основа предложенной идеи информационного дополнения. Соответственно вопрос возникновения и развития онтологий является обязательным к освещению в данной работе. По мнению автора, онтологии для предложенных в работе ИС могут быть определены тремя основными путями: На этапе проектирования информацион1. ной системы её разработчиками. При этом производится анализ природы хранимой в ИС информации, аналитическая обработка семантики данных и формализация полученных результатов в виде онтологии. Именно полученная таким образом онтология будет играть основную роль в доопределении информации в ИС. На этапе эксплуатация её пользователями. 2. Пользовательские онтологии могут расширять онтологию ИС (см. п.1), дополняя и расширяя её. Главная задача созданных на этом этапе онтологий – расширить множество терминов языка запросов . Автоматизированными средствами на ос3. нове Data Mining анализа. На данный момент это наименее изученный подход для создания онтологий, который предусматривает сбор и анализ информации о хранимых в ИС данных и выполняемых запросах. На данный момент подобные инструменты не получили должного


150

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

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

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

мационных объектов ИС, что позволяет увеличить объём хранимой в ИС информации при одинаковом количестве входных данных. Доказано преимущество использования онтологий для выполнения запросов к информационной системе, так как их применение позволяет существенно понизить сложность используемых поисковых запросов к ИС и дополнительно позволяет совершать предварительный логический анализ их корректности. Изложенные в статье предложения по повышению эффективности информационных систем были оценены с точки зрения теории информации и апробированы на практике в рамках проекта построения семантического информационного сервиса Грид [7].

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

1. 2. 3. 4. 5. 6.

7.

Murray C. Oracle Database Semantic Technologies Developer's Guide, 11g Release 2 (11.2), E25609-03 // Oracle. – 2012. – Режим доступа: http://docs.oracle.com/cd/E11882_01/appdev.112/ e25609/toc.htm. Sedighi S. Semantic Query in a Relational Database Using a Local Ontology Construction / S. Sedighi, R. Javidan // South African Journal of Science. – 2012. – 108(11/12). – pp. 1-10. Poggi A. Linking Data to Ontologies / A. Poggi, D. Lembo, D. Calvanese, G. Giacomo, M. Lenzerini, R. Rosati // Journal on data semantics. – Springer, – 2012. – X. – pp. 133-173. Shannon C.E. The Mathematical Theory of Communication. / C. Shannon, W. Weaver, R. Blahut. – Urbana: University of Illinois press, – 1949. Baader F. The Description Logic Handbook: Theory, Implementation, and Applications. (2ed) / F. Baader, D. Calvanese, D. McGuinness, D. Nardi, P. Patel-Schneider. – Cambridge University Press, – 2007. Поспешний А.С. Эффективный логический анализ больших онтологий за полиномиальное время // Вісник НТУУ «КПІ». Інформатика, управління та обчислювальна техніка: Зб. наук. пр. – К.: Век+, – 2012. – № 55. – С. 192-196. Поспешный А.С. GRID-DL – семантический информационный сервис ГРИД / А.С. Поспешный, С.Г. Стиренко // Компьютинг. – 2011. – №3 (10). – С. 285-294.


УДК 004.8 МОЛЧАНОВСЬКИЙ О.І., КОВТУН Д.І. СЕМАНТИЧНИЙ ПОШУК ТЕКСТІВ НОВИН У статті розглянуто представлення семантичної інформації текстів на природних мовах у вигляді множини триплетів: «суб’єкт-предикат-об’єкт». Представлено метод отримання множини триплетів з тексту та побудову деревовидної ієрархії триплетів. Запропоновано метод пошуку текстів по сформованій множині триплетів. In this paper we examine representation of semantic information of natural language text in a view of a set of triplets: “subject-predicate-object”. We present the method of how to get the triplet set from a news text and how to build a tree hierarchy of obtained triplets. The method of searching triplet within created set is proposed. Вступ

Зважаючи на значне зростання обсягів текстової інформації та складної структурованості природно-мовних текстів, семантичний аналіз текстів являє собою актуальну проблему, особливо в останні 15-20 років, коли намітилася тенденція до інформатизації суспільства. Далеко не кожен користувач інформаційних засобів здатний чітко висловити свої інформаційні потреби. Для цього необхідний певний рівень знань в конкретній області, певну інформацію з якої і бажає отримати користувач. Ця проблема стала приводом до появи систем семантичного аналізу текстів. Семантичний аналіз тексту – це процес отримання структурованої інформації з тексту на природній мові. Фактично такий аналіз здійснює кожна людина, навіть не замислюючись над цим. Об’єктом нашого дослідження є побудова системи пошуку текстів новин на природній мові з використанням семантичної інформації самих текстів та запиту користувача системи.

вою в службах новин і публікує огляди вебсторінок. База даних цього сайту складається з більш ніж 50 млн. сторінок з індексацією за повним текстом. Система RedTram (redtram.com) – пошукова система новин, що дозволяє користувачам швидко знаходити найсвіжішу інформацію на будь-яку тему, що їх цікавить. Унікальність цієї пошукової системи полягає у багатомірності критеріїв, що застосовуються одночасно для пошуку та відображення новин: тематика, регіон, мова, дата. Синхронізація вказаних критеріїв дозволяє користувачу максимально конкретизувати запит на пошук та отримати в результаті саме ті новини, які його цікавлять. Проведемо простий експеримент з системою RedTram. На головній сторінці сайту відображається пошуковий рядок та декілька останніх новин. В нашому прикладі це була новина із заголовком «Eggs: the new super-food?» (рис. 1).

Існуючі пошукові системи

Розглянемо існуючі пошукові системи, які спеціалізуються на темі, яка нас цікавить – пошук новин. Їх досить багато, тому ми виділили три найбільш популярні. Пошукова система WebCrawler (webcrawler.com) – це метапошуковий двигун, який поєднує в собі кращі результати пошуку від Google, Yahoo!, Bing Search, Ask.com, About.com, MIVA тощо. Він надає користувачам можливість шукати зображення, аудіо, відео, новини, жовті та білі сторінки. Пошукова система Excite (excite.com) вигідно відрізняється від інших пошукових вузлів тим, що дозволяє вести пошук англійською мо-

Рис. 1. Екранна копія з пошукового сайту RedTram

Ми поставили системі питання ”What is the new super-food?” (ввели його у пошуковий рядок), на яке людина легко могла б отримати відповідь, маючі інформацію про дану новину. Але результати пошуку виявились невтішними (рис. 2).


152

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

Рис. 2. Результати запиту

Тож постає просте питання: чому ж ці популярні пошукові системи так погано справляються зі, здавалось би, простим завданням? Розробки в області семантичного аналізу тексту пов'язані з областю штучного інтелекту, що робить акцент на смисловому розумінні тексту [1]. В даний час успіхи в цьому напрямку досить обмежені. Розроблені семантичні аналізатори володіють високою обчислювальною складністю і неоднозначністю видаваних результатів [2]. Зараз інтенсивно розвивається напрямок, пов'язаний із застосуванням різних видів онтологій для цілей повнотекстового пошуку в електронних колекціях документів [3]. Семантична інформація на основі триплетів

Однією з найпоширеніших мов представлення інформації за допомогою онтології [4] є Resource Description Framework (RDF). Базовою структурною одиницею RDF є трійка (або триплет), який складається з суб'єкта, предиката і об'єкта (рис. 3).

Рис. 3. RDF-триплет

Одне з рішень перетворення тексту на природній мові у RDF-представлення наведено в роботі [5]. Пропонується будувати семантичну модель та дерево розбору за допомогою програми-лексера та програми-парсера, яка розуміє граматику вибраної мови. Лексер – програмний модуль, що здійснює розбір коду за заданими граматичними правилами та генерує послідовність нетермінальних символів мови. Парсер – програмний модуль, який, базуючись на інформації, що надходить з лексеру, по заданим правилам будує абстрактне дерево розбору. Подальший розбір дерева полягає у виділенні необхідних та важливих для поставленої задачі вузлів та листків синтаксичного дерева. Робота парсера полягає у трансформації інформації, яка надходить, у виді триплетів, якщо ця інформація має цінність для поставленої задачі.

Триплети не єдиний інструмент аналізу тексту – вони завжди використовується з іншими методами. Наприклад, при структуризації даних у гіпертекстових масивах, триплети використовуються як допоміжний механізм прихованого семантичного аналізу [6]. Це метод обробки природної мови, що дозволяє проаналізувати взаємозв'язок між колекцією документів і термінами, які в них зустрічаються. Побудова триплетів

Повертаючись до нашої мети, нагадаємо, що ми хочемо максимально ефективно використати модель представлення «суб’єкт – предикат – об’єкт» для отримання якісного аналізу вихідного тексту новин. Для цього ми використовуємо openNLP (opennlp.apache.org) парсер, який надає змогу визначати частини речення (підмет, присудок тощо). Таким чином, кожне речення – це об’єкт, який представляє собою деревовидну структуру, де кожна з гілок дерева представляє фразу, кожний листок – слово. Для того, щоб визначити частини речення в побудованому дереві використовуються правила розбору речення. Правила поділяються на дві групи – правила рівня фраз та правила рівня слова. Всі правила мають однакову структуру і складаються з двох частин – тегу та типу. Результатом використання правила до фрази чи слова буде частина речення (підмет, присудок, додаток), якщо слово чи фраза такою є. Тег – це мітка, що проставляється в дереві речення, яке повертає парсер бібліотеки openNLP; він визначає, що представляє собою фраза або слово. Наприклад, фраза може мати наступні теги : ADVP – Adverb Phrase; NP – Noun Phrase; VP – Vereb Phrase; NN – Noun, singular or mass. Тип також проставляється парсером на гілках дерева. Він представляє собою скорочену інформацію про гілку у вигляді скорочень. Тип відображає чи має слово або фраза відноситися до структури, яка може вміщувати в собі частини речення. Тип може бути відсутній для фрази чи слова. Для знаходження частин речення, кожна гілка речення після парсеру, перевіряється правилом. Якщо фраза задовольняє правилам запускається алгоритм розбору фрази. Інакше, вона


Семантичний пошук текстів новин

пропускається, як не значима для речення. Результатом розбору речення – є набір триплетів. Фраза являє собою частину речення, тому також має деревовидну структуру. Дане дерево обходиться пошуком вглиб, коли не значимі слова опускаються, значимі фіксуються на кожному з рівнів дерева. Після чого йде формування частини речення, яка буде фігурувати у триплетах. Це виконується за допомогою зворотного обходу дерева – від листків до кореня. При чому значимі слова кожного рівня утворюють набір фраз, які найкращим чином відображають суть фрази. Результатом розбору фрази буде одна частина триплету. Після розбору всіх фраз речення, запускається формування триплетів. Речення являє собою набір слів з позначками, які відносять кожне слово до якоїсь частини речення: якщо слово відноситься до підмету, воно буде поставлено на перше місце триплету (суб’єкт), якщо присудок – на друге (предикат), якщо додаток – на третє місце (об’єкт). Якщо в реченні присутнє декілька додатків, то триплет даного речення дублюється із новим додатком в якості об’єкту триплету. Однією з проблем формування триплетів по реченнях є обробка займенників. Необхідно вміти замінювати займенники, які виконують роль підмету, на відповідні іменники. Ми використовуємо простий наступний метод. Для кожного підмета речення в триплеті додатково зберігається його тип (іменник чи займенник). Коли всі триплети тексту сформовані, відбувається послідовна заміна займенників на іменники, які зустрічались безпосередньо вище в тексті. На основі сформованих триплетів формується дерево, яке дає можливість відслідковувати, як змінюється тема тексту, коли розповідь від однієї сутності переходить до іншої (від підмета до додатку, наприклад). Дерево будується наступним чином. Для даного списку триплетів, задається глибина, на якій може бути зв'язок між додатком одного речення та підметом другого. Величина глибини визначається емпіричним шляхом для тематики текстів(для новин даний показник складає 3). Потім за один прохід по списку будується дерево триплетів. Кожен триплет може мати дочірні вузли, при умові що фокус розповіді переміщується з додатку поточного на підмет наступного триплету. Тоб-

153

то якщо в одному триплеті слово було додатком, а в іншому це ж слово виступає в ролі підмету, то буде створено зв'язок: перший триплет буде виступати в ролі батьківського, другий – в вигляді дочірнього вузла. Розглянемо приклад розбору речення на англійській мові: “The Istanbul meeting faces a mass of dilemmas contradictions and complexities with no clear way forward”. Парсер визначив наступні частини речення (табл. 1). Табл. 1. Частини речення для фраз реченняприкладу Фраза

Частина речення

Istanbul meeting faces mass of dilemmas mass of contradictions mass of complexities

SUBJECT PREDICATE OBJECT OBJECT OBJECT

Множина сформованих триплетів виглядає так:  subject='Istanbul meeting', subjectType='NP', predicate='faces', object='mass of dilemmas';  subject='Istanbul meeting', subjectType='NP', predicate='faces', object='mass of contradictions';  subject='Istanbul meeting', subjectType='NP', predicate='faces', object='mass of complexities'. Речення складають тексти і у тексті завжди є головна думка та другорядна. Переведення всього текст у триплети не є ефективним. Нам необхідна ієрархія триплетів, яка виявить які речення необхідно зберегти у триплети. Речення на вершині ієрархії будуть збережені для майбутнього використання, речення ж третього та наступних рівнів будуть проігноровані. Розглянемо невеликий приклад: “I am playing in a game and talking with girl. Game is called Duty. Duty is a game. Duty is a shooter. Girl is playing with baby. Baby is very small and lies into bad. Mom went to the sea. Sea is warm”. Ієрархія побудованих триплетів представлена на рисунку 4:

Рис. 4. Ієрархія триплетів


154

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

Частота входжень представлена у таблиці 2.

кожного

підмета

Табл. 2. Частота підметів у тексті Фраза Duty I Girl Baby Mom Sea

Частина речення 0.335 0.225 0.11 0.11 0.11 0.11

Пошук триплетів

Отримані триплети в першу чергу використовуються для пошуку інформації. В якості критерію оцінки важливості інформації застосовується частота входжень підметів речення у триплетах та рівень ієрархії. Сам пошук реалізується наступним чином. Із запиту, який наданий користувачем, формується спеціальний триплет, у якого не вистачає однієї частини з «суб’єкт – предикат – об’єкт» представлення. Мета пошуку – по двом ключовим частинам знайти третю, таким чином однозначно визначити до якого тексту відноситься триплет та вивести зміст новини користувачеві.

Для прикладу візьмемо вже знайоме нам речення з першого запиту “What is the new superfood?”. Парсер визначив наступні частини речення (табл. 3). Триплет-запит має вигляд:  subject=null, predicate='is', object='superfood'. Табл. 3. Частини речення для фраз запитуприкладу Фраза is super-food

Частина речення PREDICATE OBJECT

В цьому випадку ми будемо шукати підмет за присудком та додатком. Висновки

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

Перелік посилань

1. 2. 3. 4. 6.

7.

Apte, C., Damerau, F.J., Weiss, S.M., Automated learning of decision rules for text categorization. ACM Transactions on Information Systems 12, 3, 233–251., 1994 Dagan, I., Karov, Y., Roth, D., Mistake-driven learning in text categorization. In Proceedings of the 2nd Conference on Empirical Methods in Natural Language Processing (Providence, US, 1997), pp. 55–63., 1997 Дерецкий В.А. Підхід до автоматичної побудови тематичної онтології документу для удосконалення інформаційного пошуку – 2005. – № 3. – С. 76–82 T. R. Gruber. What is an Ontology? [Электронный ресурс] / T. R. Gruber. – Режим доступа: http://wwwksl.stanford.edu/kst/what-is-an-ontology.html Зараковский А.В., Клименков С.В., Ткаченко Н.И., Харитонова А.Е. Основные принципы рещения задачи преобразования объектно-ориентированного кода в формат RDF средствами семантического анализа. // Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2011, № 2 (72). А.В.Заболеева-Зотова, Н.А.Козлова, А.Ю.Пастухов, П.В.Сердюков, С.А.Чернов. LSA в гипертекстовых масивах. [Електронний ресурс] // Режим доступу: http://transfer.eltech.ru/innov/archive.nsf/ 0d592545e5d69ff3c32568fe00319ec1/88dcc833ef0efed8c3256a76004c6bbd?OpenDocument


УДК 004.056.5 ФЕДОРЕЧКО О.І. МЕТОД ВИПРАВЛЕННЯ ДВОКРАТНИХ ПОМИЛОК ПЕРЕДАЧІ ДАНИХ В КОМП’ЮТЕРНИХ СИСТЕМАХ УПРАВЛІННЯ РЕАЛЬНОГО ЧАСУ В статті пропонується метод корекції двократних помилок передачі даних в комп’ютерних системах управління реального часу. Метод базується на використанні арифметичних зважених контрольних сум. Детально описані процедури формування контрольного коду та корекції одно і двократних помилок. Наведено числові приклади. Проведено теоретичне та експериментальне оцінювання часу корекції для запропонованого методу. Показано, що головною перевагою запропонованого методу є те, що час потрібний для корекції помилок не залежить від довжини блоку даних і те, що цей час суттєво менший в порівнянні з відомими методами виправлення пари помилок. This paper investigates a simple and effective method for correction of double errors that occur during data transmission in computer system for real-time process control is proposed The method is based on arithmetic weighted checksum. The proposed procedure for control code forming and correction of single and double data transmission errors are described in details. A numerical example for procedure are given. The theoretical and experimental estimation of error correction time for proposed method are presented. It has been shown that main advantage of proposed method is that errors correction time is not depend of data transmission block length and is significantly less in compare to known method of double errors correction. Вступ

Динамічний розвиток інтегральної технології дозволив на початку другого десятиліття нинішнього тисячоліття досягти якісно нового рівня комп’ютеризації функцій управління технологічними процесами та обладнанням. Створення портативних мікроконтролерів нового покоління з розвиненою периферією та з високим рівнем обчислювальних можливостей дозволяє ефективно реалізувати найскладніші алгоритми управління широким колом об’єктів в реальному часі. Враховуючи той факт, що вихід з ладу, в результаті помилки управління, для значної частини таких об’єктів пов’язаний зі значними втратами і навіть техногенними ризиками, однією з найважливіших вимог до систем комп’ютерного управління складними об’єктами та технологічними процесами, що працюють в реальному часі, є забезпечення високого рівня надійності. Аналіз показує, що в комп’ютерних системах управління наймеш надійними є процеси обміну даними між їх компонентами. Значна частина об’єктів комп’ютерного управління працює в умовах інтенсивних зовнішніх завад, що різко знижує надійність передачі даних. Зокрема, це повною мірою стосується комп’ютерних систем управління бортовим обладнанням літальних апаратів.

Таким чином, проблема забезпечення високої надійності обміну даними в комп’ютерних системах управління об’єктами та процесами в реальному часі є важливою і актуальною. Аналіз існуючих методів виправлення помилок передачі даних

Для забезпечення високої надійності передачі даних в комп’ютерних системах використовується широкий арсенал засобів. Для їх аналізу з позицій використання в системах комп’ютерного управління доцільно сформулювати особливості виправлення помилок, що виникають при обміні даними в таких системах. При обміні даними між компонентами комп’ютерних систем управління не використовуються складні методи спектральної модуляції і інформація, відповідно, передається у вигляді послідовності бітів. Основними причинами виникнення помилок є зовнішні завади та міжсигнальна інтерференція. Відповідно, виникаючі помилки мають характер бітових спотворень, причому кількість помилок, в цілому, підпорядкована біноміальному закону розподілу [1]. Фактично це означає, що домінуючим типом помилок є спотворення одного біту. Значно рідше трапляються двократні помилки і вже зовсім рідко – більшої кратності. Виходячи з цього, для більшості систем комп’ютерного управління потрібно гарантувати виправлення двократної помилки [1]. Відповідно, в рамках цієї ро-


156

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

боти розглядається задача корекції бітових спотворень, кратність яких не перевищує дві. Як уже відмічалося, основою сучасних вбудованих комп’ютерних систем управління об’єктами та процесами є портативні мікроконтролери типу РІС або AVR32 [2]. Суттєвим, з точки зору збереження гнучкості та портативності вбудованих систем управління, є реалізація операцій контролю та виправлення помилок безпосередньо на мікроконтролерах, без використання додаткових апаратних засобів. Для сучасних систем комп’ютерних систем управління об’єктами і процесами в реальному часі ключовою характеристикою є час, потрібний для виконання операції корекції помилок. З іншого боку, значимість об’єму контрольної інформації в сучасних умовах динамічного зростання швидкості передачі падає [1]. Для виправлення виникаючих при передачі цифрових даних помилок використовуються дві базові технології: - виявлення виникаючих помилок і їх усунення шляхом повторної передачі; - використання корегуючи кодів, які дозволяють виправляти помилки певної кратності без повторної передачі. Перевагою першої технології є менша кількість контрольних розрядів та простота виявлення помилки. Основним недоліком є суттєві затримки при повторній передачі блоку даних. З огляду на специфіку комп’ютерних систем управління об’єктами та процесами, що працюють в реальному часі, вказаний недолік є доволі суттєвим. З корегуючи кодів, що орієнтовані на виправлення бітових спотворень найбільш відомими є коди Хемінга [3] та БЧХ [4], а також коди на основі зважених сум [5]. Коди Хемінга доволі просто корегують однократні помилки. Значно складніше виконується корегування двократної помилки. Фактично, для локалізації позицій в блоці спотворених бітів потрібно розв’язувати систему нелінійних рівнянь на полях Галуа. Технологічно розв’язання такої системи рівнянь виконується шляхом перебору, об’єм якого пропорційний n2, де n – довжина блоку. Перевагою застосування кодів Хемінгу при корекції двократної помилки є те, що вони потребують мінімальної кількості контрольних розрядів - 2·log2n. Більш досконалими з точки зору часу корекції пари помилок є коди БЧХ, подальшим розвитком яких є коди Ріда-Соломона. Як і коди

Хемінга, в основі цих корегуючи кодів лежить використання арифметики полів Галуа. Для корекції двократних помилок ці коди використовують більше контрольних розрядів - 4·log2n. Це дає змогу зменшити об’єм перебору до n для локалізації позицій спотворених бітів. Проте використання перебору за умови тенденції зростання довжини блоку до 1-2 Кбайтів робить використання кодів Хемінга і БЧХ для корекції помилок обміну даних в системах реального часу неефективним. Крім того, архітектура та система команд сучасних мікроконтролерів не пристосовані для виконання операцій в арифметиці полів Галуа. Таким чином, існуючі корегуючи коди не забезпечують ефективної корекції двократних помилок обміну даними в сучасних вбудованих комп’ютерних системах управління об’єктами та процесами в реальному часі. Ціллю роботи є створення методу корекції одно і двократних помилок передачі даних, який забезпечує високу швидкість локалізації спотворених бітів без використання перебору і орієнтований на арифметичні операції, що входять до системи команд мікроконтролерів. Метод корекції двократних помилок

В математичному сенсі головна складність виправлення двократних помилок полягає в формуванні та розв’язанні системи з двох рівнянь, коренями якої є позиції спотворених бітів. Контрольний код має формуватися таким чином, щоб на приймачеві можна було утворити систему рівнянь, що мають єдиний розв’язок. Для цього пропонується формувати контрольний код на приймачеві та передавачеві у вигляді трьох компонент C ={S1, S2, S3}. Якщо позначити через B={b1,b2,…,bn}, j{1…n}: bj{0,1} блок даних, передача якого контролюється, то перша компонента S1 – це кількість одиничних бітів в інформаційному блоці за модулем 4: n

S1  ( b j ) mod 4

(1)

j 1

Другу компоненту S2 пропонується формувати як арифметичну суму порядкових номерів всіх одиничних бітів у блоці: n

S2   b j  j

(2)

j 1

Третю компоненту S3 контрольного коду пропонується обчислювати як арифметична


Метод виправлення двократних помилок передачі даних в комп’ютерних системах управління…

суму квадратів порядкових номерів всіх одиничних бітів у блоці: n

S3   b j  j 2

(3)

j 1

Компоненти контрольного коду CS обчисленого на передавачеві позначаються як CS ={S1S, S2S, S3S}. Контрольний код СS разом з блоком В передається на приймач. Останній по прийнятому блоку В згідно формул (1-3) обчислює контрольний код C R ={S1R, S2R, S3R}. Процедура формування контрольного коду ілюструється наступним прикладом. Нехай, блок В даних довжиною 8 бітів (n=8) має такий вигляд: ВS = {b1,.., b8} = {0, 0, 1, 0, 1, 1, 1, 0}. Компоненти контрольного коду передавача CS ={ S1S, S2S, S3S } обчислюються у вигляді: S1S = (0+0+1+0+1+1+1+0) mod 4 = 0, S2S =3+5+6+7 = 21, S3S = 32+52+62+72=119. Аналіз наявності помилок передачі та їх класифікації пропонується виконувати за значеннями різниці ∆={∆1, ∆2, ∆3} компонент контрольного коду на приймачеві і передавачеві. Компоненти  обчислюються у вигляді:  1  S1 R  S1 S ,  2  S 2R  S2S ,

(4)

 3  S 3R  S 3S Якщо ∆1=0, ∆2=0 та ∆3=0 , то вважається що при передачі помилки не виникли. Якщо 10, а ∆3 = ∆22, то ситуація класифікується як виникнення однократної помилки. При класифікації двократних помилок пропонується розділяти два їх типи. Під двократною помилкою першого типу мається на увазі, що помилки передачі спричинили до інвертування одного одиничного біту та одного нульового біту. Двократною помилкою другого типу вважається помилка, що спричинила до інвертування двох нульових бітів або двох одиничних бітів. Якщо ∆1= 0 і ∆3  ∆22, то така ситуація класифікується як двократна помилка першого типу. Якщо ∆1  0 і ∆3  ∆22, то така ситуація класифікується як двократна помилка другого типу. При виникненні однократної помилки інвертується один біт блоку, позиція якого в блоці відповідає значенню компоненти різниці ∆2. Таким чином, виправлення такого помилки зводиться до інвертування біту, що знаходиться на позиції ∆2.

157

Це може були проілюстровано наступним чином. Якщо, в рамках наведеного вище прикладу, припустити, що при передачі був спотворений 3-й біт (m = 3), то блок даних на приймачі має вигляд В= {0, 0, 0, 0, 1, 1, 1, 0}. Відповідно, компоненти контрольного коду на приймачеві обчислюються у наступному вигляді: S1R = (0+0+0+0+1+1+1+0) mod 4 = 3, S2R=5+6+7=18, S3R =52+62+72=110. Компоненти різниці контрольних кодів приймача і передавача обчислюються у вигляді: ∆1 = 0-3=3, ∆2=18-21=3, ∆3 = 110-119=9. Оскільки ∆10 і ∆3 = ∆22, то ситуація класифікується як виникнення однократної помилки. Позиція спотвореного біту визначається значенням ∆2=3. Відповідно процес корекції полягає в інвертуванні 3-го біту блоку на приймачеві. При виправленні двократних помилок вузловою задачею є локалізація спотворених бітів, тобто визначення х1 – номеру першого спотвореного біту і х2 – номеру другого спотвореного біту. Для виправлення двократної помилки першого типу пропонується наступна процедура. Оскільки, при виникненні двократної помилки першого типу інвертується один одиничний та один нульовий біт, то кількість одиничних розрядів на передавачі рівна кількості одиничних розрядів на приймачі ∆1=0 . В силу того, що обчислення компонент контрольного коду організовано по одиничним бітам блоку, то різниці компонент контрольної суми ∆2 та ∆3 за умови, що біт на позиції х1 трансформується з одиниці в нуль, а біт на позиції х2, навпаки, трансформується з нуля в одиницю, можуть бути представлені у вигляді:  2  x2  x1 (5)  2 2  2  x2  x1 Виключаючи змінну х2 з системи (5) можна отримати рівняння зі однією змінною х1: ∆3 = =∆22 + 2·∆2·х1. Відповідно, значення позиції х1 першого із спотворених при передачі символів визначається наступним чином:   22 x1  3 (6) 2  2 В (6) використовується операція ділення цілих чисел і остача від такого ділення має дорівнювати нулю. Якщо при виконанні ділення виявиться, що остача не дорівнює нулю, то це означає, що трапилося більш ніж дві помилки.


158

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

Значення позиції х2 обчислюється у вигляді: x2 =∆2 + x1. Описана процедура в рамках прикладу, що розглядався вище може бути проілюстрована наступним чином. Якщо при передачі блоку були спотворені біти, що знаходяться на х1 = 4 та х2 = 6 позиціях, то на приймачі ВR= {0, 0, 1, 1, 1, 0, 1, 0}. Компоненти контрольного коду обчислюються приймачем у вигляді : S1R = (0+0+1+1+1+0+1+0) mod 4 = 0, S2R =3+4+5+7= 19, S3R =32+ 42+52+72=99. Компоненти різниці контрольних кодів приймача і передавача обчислюються у вигляді: ∆1=0-0=0; ∆2=1921=2; ∆3=99-119=20; оскільки ∆1=0, і ∆22 = 4  ∆3=19, то ситуація класифікується як двократна помилка першого типу. За формулою (6) виконується визначення позиції х1 спотвореного біту: 2 20  2 2 20  4 3  2   4  x1  2 2 22 4 Позиція х2 знаходиться як x2 =∆2 + x1 = 2+4=6. Виправлення бітів на 4-й і 6-й позиціях в блоці виконується шляхом їх інвертування. Виправлення двократної помилки другого типу пропонується виконувати наступним чином. Так як при цьому типі помилки спотворення зазнають два одиничних біти чи два нульових, то ∆10, компонента ∆2 складається із суми номерів спотворених бітів, відповідно компонента ∆3 складається із суми їх квадратів номерів. Відповідно, знаходження невідомих позицій х1 і х2 спотворених бітів в блоці зводиться до розв’язання такої системи рівнянь:  2  x2  x1 (7)  2 2  3  x2  x1 Неважко показати, що корені системи (7) обчислюються у вигляді: x1 

 2  2   3  22 2

(8)  2  2   3  22 x2  2 В рамках наведеного вище прикладу викладене можна ілюструвати таким чином. Якщо при передачі блоку одиниці на його 5-й та 7-й позиціях трансформувалися в нулі, то принятий блок має вигляд: ВR = {0, 0, 1, 0, 0, 1, 0, 0}. Компоненти контрольного коду приймача дорівнюють: S1R=(0+0+1+0+0+1+0+0) mod 4=2, S2R=3+6 = 9, S3R = 32+62=45, відповідно значення компонентів різниці дорівнюють: ∆1=0-

2=2; ∆2=9-21=12; ∆3=45-119=74. Оскільки ∆1=0, і ∆22 = 81  ∆3=119, то ситуація класифікується як двократна помилка другого типу. За формулами (8) виконується визначення позиції х1 і х2 спотворених бітів:  2  2   3  22 12  2  74  12 2 x1   5 2 2  2  2   3  22 12  2  74  12 2  7 2 2 Виправлення бітів на 5-й і 7-й позиціях в блоці виконується шляхом їх інвертування. З викладеного слідує, що операція корекції виконується доволі просто з використанням системи команд більшості мікроконтролерів, зокрема РІС та AVR32, на базі яких будуються сучасні системи управління об’єктами та процесами реального часу. x2 

Аналіз ефективності

Число k контрольних розрядів, що використовується в запропонованому методі корекції двократних помилок визначається наступним чином. Якщо вважати, що розрядність номера біту в блоці дорівнює log2n, то для представлення другої компоненти контрольного коду потрібно log2log2n + log2(1+2+…+n) = log2log2n+ +2·log2n-1 2·log2n розрядів. Аналогічно, кількість розрядів потрібна для представлення третьої компоненти контрольного коду становить log2log2n+log2(1+22+…+n2) = log2log2n+ +3·log2n-2 3·log2n. Таким чином, кількість k контрольних розрядів в запропонованому методі корекції двократних помилок пропорційна 5·log2n: k  5  log 2 n (9) В порівнянні з відомими методами корекції двократних помилок, зокрема корегуючими кодами Хемінга та БЧХ, запропонований метод потребує більшої кількості контрольних розрядів. Проте у сучасних умовах зростання швидкості передачі даних між компонентами комп’ютерних систем, яка сягає десятки і сотні Мегабіт за секунду, значимість передачі додаткових десяток бітів не є значною. Головною перевагою запропонованого методу корекції двократних помилок є прискорення програмної реалізації цього процесу. Як слідує з викладеної в попередньому розділі запропонованої методики корекції двократних помилок, вона не передбачає перебору і, відповідно час корекції не залежить від довжини блоку. Модифікація коду Хемінга [5] для коре-


Метод виправлення двократних помилок передачі даних в комп’ютерних системах управління…

кції двократних помилок прямо передбачає перебір всіх можливих позицій трансформованих при передачі бітів. Очевидно, що об’єм такого перебору пропорційний n2, причому, для кожного з можливих значень позицій спотворених бітів виконуються операції піднесення до кубу та ділення, тобто виконується об’єм обчислень, складність яких приблизно співвідноситься з тими, що передбачені формулами (6,8) запропонованого алгоритму. Це означає, що час корекції двократних помилок в порівнянні з відповідною модифікацією коду Хемінгу при використанні запропонованого методу зменшується приблизно в n2 раз. Вважаючи, що нині довжини блоків обміну між компонентами комп’ютерних систем управління становлять 128-1024 байтів, виграш у часу корекції становить суттєву величину. В кодах БЧХ [4], при корекції двократних помилок, використовується більша, в порівнянні з кодами Хемінга, кількість контрольних розрядів - 4∙log2n. Це дає змогу значно прискорити процес корекції, але не виключити перебір, об’єм якого пропорційний довжині блоку n. Спрощено і операції, які виконуються на кожному кроці перебору - фактично це віднаходження коренів системи з 2-х лінійних рівнянь. Складність цих обчислень приблизно в 2-3 рази менша в порівнянні в обчисленнями, передбаченими формулами (6,8) запропонованого методу корекції двократних помилок. Таким чином, при використанні запропонованого методу об’єм обчислень, потрібний для корекції двократних помилок не менше ніж в n/3 рази менший в порівнянні з кодами БЧХ. Проведені експериментальні дослідження показали, що використання запропонованого методу при довжині блоку в 512 байтів дозволяє прискорити процес корекції двократних

159

помилок приблизно на два-три порядки в порівнянні з БЧХ-кодами. Зрозуміло, що таке суттєве підвищення швидкості корекції помилок обміну даних між компонентами комп’ютерних систем управління дозволяє відповідним чином скоротити максимальний час реакції цих систем на зміну стану об’єкту управління. Висновки

В результаті проведених досліджень запропоновано метод корекції помилок, кратність яких не перевищує двох, орієнтований для використання в низькочастотних лініях обміну даними між компонентами комп’ютерних систем управління об’єктами та процесами в реальному часі. Локалізація позицій пари спотворених при передачі бітів блоку в запропонованому методі зводиться до розв’язання системи рівнянь, яке трансформується в розв’язання квадратного рівняння. Таким чином, метод, на відміну від аналогічних модифікацій коду Хемінга та БЧХ, для розв’язання системи рівнянь не використовує перебір, що забезпечує виграш в часу корекції, пропорційний довжині блоку даних. Досягнуте суттєве прискорення реалізації операцій корекції помилок є принципово важливим для систем управління об’єктами та процесами в реальному часі. Ефект досягається за рахунок того, що компоненти контрольного коду формуються на основі не логічних, а арифметичних операцій. Такі операції просто реалізуються на програмному рівні сучасними портативними мікроконтролерами, що становлять основу систем управління об’єктами та процесами.

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

1. Klove T. Error Detecting Codes: General Theory and Their Application in Feedback Communication Systems / Т. Klove, V. Korzhik.- Norwell, MA: Kluwer, 1995. – 433 р. 2. Брэй Б. Применение микроконтроллеров PIC18. Архитектура, программирование и построение интерфейсо с примением С и асемблера / Б. Брэй.; пер. с англ. Л.Л.Литвина.- СПб.:Корона-Век, 2008.-576 с. 3. Хемминг Р.В. Теория кодирования и теория информации / Р.В.Хемминг.; пер.с англ. С.И.Гельдфанда.М.:Радио и связь, 1983.- 176 с. 4. Морелос-Сарагоса Р. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение / Р. Морелос-Сарагоса.- М.: Техносфера, 2005.- 319 с. 5. Самофалов К.Г. Обнаружение и исправление ошибок передачи данных с использованием взвешенных контрольных сумм / К.Г. Самофалов, А.П. Марковский, Мулки Яссин Ахмед Ал Бадайнех. // Проблеми інформатизації та управління. Збірник наукових праць.- 2008.- Випуск 3(14).- С.121-128.


УДК 004.056.3 ИВАНОВ Д.Г. ОРГАНИЗАЦИЯ РЕЗЕРВИРОВАНИЯ В СИСТЕМАХ РАСПРЕДЕЛЕННОГО ХРАНЕНИЯ ДАННЫХ В статье предлагается версия специальных кодов для защиты от потери информации при отказе в доступе к отдельным дискам при распределенном хранении информации. Разработанные коды представляют собой избыточные коды, позволяющие восстановить утерянные данные. Предложенная версия линейных кодов оптимизирована для задачи восстановления информации с двух или более отказавших дисков. Предложенная методология является достаточно общей и может быть применима к другим кодам восстановления, но наиболее целесообразна для кодов, основанных на операциях логического суммирования. In paper the version of erasures codes for protecting against multiple failures in disk arrays for distributed networked storage is proposed. Developed erasures codes provide a codespecific means for reconstruction of erased data. Proposed version of linear erasures codes is optimized to reconstruct of information from two or more disks. The methodology we propose for both problems is completely general and can be applied to any erasure code, but is most suitable for XOR-based codes. Введение

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

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

Информационный файл разделяется на n блоков, каждый из которых сохраняется на своем удаленном носителе. Блок, который хранится на j-том носителе, где j{1,..,n}, состоит из последовательности слов установленной длины : aj1,aj2,….,ajm. При удаленном хранении информации существует ненулевая вероятность того, что на одном или нескольких носителях, по тем или иным причинам, произойдет потеря данных. Для того, чтобы исключить для пользователя возможность при этом потери информации, необходимо организовать резервирование ее хранения с использованием дополнительных носителей. Исходя из того, что в большинстве случаев, потери данных удаленными носителями в вероятностном плане имеют биномиальное распределение [1], наиболее вероятным является вариант потери данных на одном носителе. Вероятность потери данных сразу на двух носителях – на порядки меньше. К настоящему времени предложено и активно используется на практике ряд систем удаленного разнесенного хранения данных с резервированием [1-4]. Помимо обеспечения надежности, резервирование позволяет повысить производительность доступа к данным, поскольку позволяет реализовать доступ к данным даже при условии возникновения временной задержки доступа к одному из носителей. При оценке эффективности резервирова-


Организация резервирования в системах распределенного хранения данных

ния наиболее часто [1] используются такие критерии: - количество h носителей, при отсутствии доступа к которым можно реализовать доступ ко всему информационному файлу; - количество k дополнительных носителей, используемых для резервирования; - вычислительная сложность восстановления данных на основных носителей с использованием информации, хранящейся на дополнительных носителях, а также затраты времени на восстановление данных, доступ к которым отказан; - повышение скорости доступа за счет использования дополнительных носителей. Исходя из того, что наиболее вероятным является случай потери данных одним носителем, наиболее простым и эффективным способом резервирования [1] является использование помимо n основных одного дополнительного носителя, получившего название носителя четности. Хранящаяся на этом носителе последовательность слов s11,s12,…,s1m представляет собой сумму по модулю два одноименных слов, хранящихся на основных носителях: n

j  1,..., m : s1 j   a ji

(1)

i 1

При таком типе резервирования фактически не достигается повышения скорости доступа к данным, поскольку при резервировании и без такового время доступа к информационному файлу определяется максимальным временем получения доступа к n носителям. С ростом объемов информационных файлов возрастает вероятность того, что возникнет отказ в доступе сразу для двух b более носителей. Наиболее известной системой с полным дублированием является Intermemory [2]. В системе используется n дополнительных носителей. Каждый блок разделяется на секции, которые хранятся по одной на каждом из дополнительных носителей. Основным достоинством такой системы является повышение скорости доступа к данным. Основным недостатком – большая избыточность использования объема памяти. Система гарантирует простое восстановление данных одного блока при потере доступа к любому из 2·n носителей, но используемое в ней дублирование данных не гарантирует восстановление файла при потере данных на двух носителях. Близкое к описанному решение задачи резервирования данных при их хранении на уда-

161

ленных носителей используется в системе Farsite [3]. В этой системе также используется дублирование данных с разнесением дублирующей информации по разным носителям. В системе с высокой вероятностью восстанавливается информационный файл при потере доступа к двум носителям, но это свойство не гарантируется: при отказе в доступе к одному из основных носителей и одному из тех, на котором хранится дублирующая информация – восстановление полностью исходного файла не возможно. Наиболее перспективным путем организации резервирования разнесенных данных считается [3] использование корректирующих кодов или, точнее – их разновидности – erasures codes [4]. Такие коды достаточно хорошо изучены в теории связи для ситуации с потерей передачи символов сообщения. Наиболее часто в качестве таких кодов используются коды РидаСоломона. Однако, имеются существенные отличия в использовании корректирующих кодов при передаче данных и при хранении информации на разнесенных носителях. В классических корректирующих кодах Хемминга, БЧХ, РидаСоломона для исправления возникающих при передаче ошибок четко выделяются фазы локализации искаженных единиц данных (битов или символов) и их непосредственного исправления принятого кода. При применении корректирующих кодов для восстановления информации в случае отказа в доступе двух носителей нет проблемы локализации. С другой стороны, отсутствуют принятые данные от этих носителей, которые обычно используются для исправления. Таким образом, использование корректирующих кодов потенциально позволяет гарантированно восстанавливать информационный файл при потере данных на одном или двух носителях, используя при этом меньшее, по сравнению с дублированием, количество дополнительных накопителей. Однако, наличие существенных особенностей в восстановлении данных требует модификации существующих корректирующих кодов или создания новых их разновидностей, ориентированных на решение указанной выше задачи. Целью исследований является разработка эффективного способа восстановления информации, хранящейся на распределенных носи-


162

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

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

Теоретически, для того, чтобы восстановить данные, хранящиеся на n дисках при отказе в доступе к h из них, информация каждого из n блоков должна сохраняться на h дисках (либо непосредственно, либо в виде линейной комбинации с данными других блоков). Исходя из этого, теоретически минимальное число дополнительных дисков равно h. На практике требование использования минимального числа дополнительных дисков не является доминирующим [2]. Чаще учитываются факторы, связанные с временем восстановления исходя из вероятности отказа в доступе к определенному числу дисков. Так как наиболее вероятной является ситуация, при которой доступ ко всем дискам разрешен, то для удобства доступа, на основных дисках информация n блоков должна храниться в явном виде. Соответственно, это означает, что на дополнительных дисках, информация о каждом n блоках должна храниться минимум на h-1 дисках. Учитывая, что при возникновении отказае в доступе, наиболее вероятное число недоступных дисков равно единице, то на первом дополнительном диске наиболее целесообразным является хранение сумм (1) данных всех n дисков, что обеспечивает эффективное восстановление любого одного блока с использованием одного дополнительного диска. При отказе в доступе к двум носителям с номерами q и r , где q,r{1,…,n} необходимо восстановить значения слов aq1,aq2,….,aqm и ar1,ar2,….,arm по информации, хранящейся в n-2 основных и k дополнительных носителях. Для обеспечения возможности простого восстановления данных при потере доступа к одному носителю, как указывалось выше, на первом дополнительном носителе целесообразно хранить суммы по модулю 2 всех одноименных слов основных носителей (1). Если рассматривать задачу восстановления слов, хранящихся на q-том и r-том основных носителях слов aq1,aq2,….,aqm и ar1,ar2,….,arm, то их значения могут быть найдены в результате

решения систем двух линейных булевых уравнений вида: a qj  a rj  z1 j a qj  a rj  z1 j или  ,  (2) a qj  z 2 j a rj  z 3 j j{1,…,m} где символом ‘+’ обозначена поразрядная операция суммирования по модулю 2. Первое уравнение в системах (2) трансформируется из (1), то есть для его получения используются данные, хранящиеся в первом дополнительном накопителе. Получение второго уравнения систем (2) существенно сложнее, поскольку априори значения q и r неизвестны. Очевидно, что второе уравнение системы (2) может быть получено из системы линейных булевых уравнений, которая при любых значениях q и r содержит уравнение, в которое в качестве слагаемого входит только aq1 или только ar1. Если n является степеню 2, то пример такой системы может иметь вид: a1 j  a 2 j  ...  a m / 2, j  y j  a1 j  a 2 j  ...  a m / 4, j   a m / 21, j  ...  a 3m / 4, j  y 2 (2)    a1 j  a 3 j  a 5 j  ...  a m 1 , j  y log 2 n , j  j{1,..,m} В общем случае произвольного значения n число уравнений системы вида (3) равно ближайшему целому, равному или большему log2n: log 2 n .Для восстановления информационного файла при отказе любых двух накопителей (основных или дополнительных) необходимо в одном дополнительном носителе хранить сумму по модулю 2 одноименных слов основных накопителей (1), суммы, определяемые системой (3) на log 2 n дополнительных накопителях и на еще одном дополнительном носителе дублировать блок с последнего основного носителя. Таким образом, если каждое слово из пары носителей, доступ к которым отказан восстанавливается независимо, то число k1 дополнительных носителей составляет:

k1  2  log 2 n

(4)

Например, если n=4, то есть информационный файл сохраняется на 4-х основных накопителях, то для восстановления файла при отказе в доступе к любым двум файлам требу-


Организация резервирования в системах распределенного хранения данных

ется k1 = 4 дополнительных носителя, в которых хранятся m слов, формируемых в вид s1, j  a1 j  a 2 j  a3 j  a 4 j  s 2 j  a1 j  a 2 j , j  1,..., m (5)  s  a  a 1j 3j  3j s  a 4j  4j Очевидно, что при любом выборе пары q,r{1,2,3,4} система (5) преобразуется к виду (2). Например, если q=2 и r =4, то система (5) преобразуется к виду: a 2 j  a 4 j  z1 j  s1 j  a1 j  a3 j , j  1,..., m (6)  a 2 j  z 2 j  s 2 j  a1 j Из системы (6) все m значений слов на 2-м и 4-м носителях, к которым отказано в доступе восстанавливаются достаточно просто. Если будет отказано в доступе к одному из основных накопителей и одному из дополнительных, то информационный файл также легко восстанавливается. Действительно, в случае невозможности доступа к q-тому q{1,…,n} из основных накопителей и первому из дополнительных, на одном из оставшихся дополнительных накопителей всегда хранятся данные из q-того основного накопителя. Например, если произойдет потеря данных на 3-м основном и первом дополнительном носителях, то данные a31,a32,…,a3m с 3-го носителя достаточно просто восстанавливаются с использованием информации с 3-го дополнительного носителя: a 3 j  s 3 j  a1 j , j  {1,..., m} Таким образом предложенная организация резервирования данных, хранящихся на разнесенных накопителях гарантирует восстановление информации при отказе в доступе к двум любым носителям. Вычислительные процедуры восстановления данных предельно просты и не сказываются заметным образом на времени доступа к информации. Очевидным недостатком этой организации является большая избыточность резервирования. Для устранения этого недостатка предлагается перейти от независимо процедуры восстановления каждой пары из m слов к процедуре, объединяющей восстановление сразу h пар слов. Действительно, в описанном простейшем варианте решением системы вида (2) из двух линейных булевых уравнений восстанавливаются значения одноименных слов из 2-х носителей. Существует возможность усложнить

163

систему уравнений с тем, чтобы она содержала 2·h линейных булевых уравнений и решением которой является h слов с каждого из 2-х носителей, к которым отказано в доступе. Рассмотрим такую возможность для h=2. При отказе в доступе к q-му и r-тому основным носителям рассмотрим задачу восстановления пары слов с каждого из этих носителей: аql ,aql+1 и arl , arl+1, где l{1,3,…,m-1}. По аналогии с системой (2) для восстановление данных на паре носителей, к которым отказано в доступе может быть осуществлено путем решения для каждого значения l одной из 4-х возможных систем линейных булевых уравнений. Первыми двумя уравнениями системы являются суммы по модулю 2 l-тых и (l+1)-тых слов всех основных носителей:

a ql  a rl  g1l  a q ,l 1  a r ,l 1  g 2l 1 , l  {1,3,..., m  1}   a g ql 3 l  a  a r ,l 1  g 4 l  rl a ql  a rl  g 1l  a q ,l 1  a r ,l 1  g 2l 1 , l  {1,3,..., m  1}  a ql  a q ,l 1  g 3l a  g 4l  rl

(7)

Получения одной из означенных систем (7) при каждых конкретных значениях q и r по аналогии с изложенным выше осуществляется следующим образом. Первые два уравнения систем (7) получаются из (1), то есть для их получения используются данные, хранящиеся в первом дополнительном накопителе. Получение второго уравнения систем (2) существенно сложнее, поскольку априори значения q и r неизвестны. Очевидно, что второе уравнение системы (2) может быть получено из системы линейных булевых уравнений, которая при любых значениях q и r содержит уравнение, в которое в качестве слагаемого входит только aq1+aq,l+1 или только ar1. Рассмотрим возможность восстановления двух пар слов на примере. Пусть, как и в рассмотренном выше случае информационный файл сохраняется на 4-х основных накопителях, то есть n=4. Информационный файл сохраняется на 4-х основных накопителях. Для восстановления файла при отказе в доступе к любым двум файлам требуется k1 = 4 дополни-


164

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

тельных носителя, в которых хранятся m слов, формируемых в виде: s1,l  a1l  a2l  a3l  a4l  s2,l1  a1,l1  a2,l1  a3,l1  a4,l1  ,l 1,3,...,m1 (8) s3l  a1l  a2l  a2,l1 s  a  a  a  4l 1l l1 3 j s5l  a4l  a4,l1  Очевидно, что при любом выборе пары q,r{1,2,3,4} система (8) преобразуется к виду (7). Например, если q=1 и r =4, то система (8) преобразуется к виду: a1l  a4l  g1l  s1l  a2l  a3l a  a  g  a  a 2l 2,l 1 3,l 1  1,l 1 2,l 1 , l  1,3,...,m 1 (9)  a g s a a     1 l 3 l 3 l 2 l 2 , l  1  a4l  a4,l 1  g 4l  s5,l 

Очевидно, что система (9) совпадает с первой из систем (7) и ее решение позволяет однозначно восстановить значения слов a1l, a1,l+1 и a4,l , a4,l+1 для всех значений l. Как видно из системы (8) для получения первых двух уравнений используется информация, хранящаяся на первом дополнительном накопителе. Для этого, на первом дополнительном носителе должно храниться m слов сумм по модулю 2 одноименных слов всех основных носителей. На остальных дополнительных накопителях достаточно хранить только половину, то есть m/2 слов. Таким образом, при h=2 несколько увеличивается вычислительная сложность процедуры восстановления данных: вместо двух независимых систем уравнений решается одно, состоящее из 4-х линейных булевых уравнений. Число дополнительных носителей не изменяется и

соответствует оценке (4), однако только первый из них хранит m слов, а остальные – хранят вдвое меньше слов. Таким образом, избыточность использования объема дополнительной памяти резервирования удалось уменьшить практически вдвое. Предложенный подход к уменьшению избыточности может быть развит на случай объединения в одном уравнении 3-х, 4-х и большего числа слов разных блоков. Если, как было показано выше, переход к объединению в одной системе уравнений (8) двух смежных слов всех блоков позволял уменьшить число используемых дополнительных дисков вдвое, то, объединение в одной системе уравнений четырех смежных слов всех блоков позволяет снизить количество дополнительных дисков в 4 раза. В пределе, при объединении в одной системе линейных уравнений всех слов всех дисков достигается оговоренный выше теоретический минимум числа дополнительных дисков при усложнении процедуры восстановления. Выводы

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

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

1. 2. 3. 4.

Patterson D., Gibson G., Katz R. Case of Redundant Array of Inexpensive Disk (RAID).- Berkeley: University of California.-1987. Chen Y., Edler J., Goldberg A., Gottlieb A., Sorti S., Yianilos P. A Prototype Implementation of Archival Intermemory.- Pricenton: NEC Research Institute.-1999. Plank J. S., Thomasson M.G., On Practical Use of LDPC Erasure Codes for Distribute Storage Application: Technical Report UT-CS-03-510.- Department of Computer Science, University of Tennessee.-2004. Pierre-Ugo Tournoux. On-the-fly erasure coding for real-time video applications / Pierre-Ugo Tournoux Emmanuel Lochin, J. Lacan, Amine Bouabdallah, and Vincent Roca // IEEE Transactions on Multimedia, – 2011.- Vol. 13,- № 4.- Р. 797–812.


УДК 004.056.5 МАРКОВСЬКИЙ О.П., ВИНОГРАДОВ Ю.М., КОСЕЙКІНА Г.С. СПОСІБ ПРИСКОРЕНОГО ОБЧИСЛЕННЯ КОРЕНІВ НА ПОЛЯХ ГАЛУА GF (2m) З ВИКОРИСТАННЯМ ПЕРЕДОБЧИСЛЕНЬ В статті запропоновано спосіб прискореного обчислення кореня на полях Галуа GF (2m). Основною особливістю запропонованого способу є багаторазове використання результатів передобчислень, які обчислюються лише один раз. Детально викладена запропонована технологія виконання передобчислень, наведено приклади. Досліджено, як ця технологія прискорює обчислення кореня на полях Галуа GF (2m). Доведено, що обчислювальна складність O(m) наведеного способу істотно менша за складність відомих способів, яка становить O(m2). In article the method of accelerated calculation of square root on Galois fields GF (2m) has been proposed. The main feature of proposed method is using results of precalculations many times, which are calculated only once. The technology of executing of precalculations is given in details, examples are given. It is researched how proposed technology accelerates calculation of square root on Galois fields GF (2m). It is proved, that calculation complexity O(m) of proposed method is much smaller then complexity of known methods, which equals O(m2). Вступ

В обчислювальній алгебрі та в теорії чисел дуже важливими є розв’язання рівнянь на кінцевих полях, тобто на полях Галуа [1]. На сучасному етапі розвитку інформаційних технологій, крім теоретичного інтересу, ця задача є значимою в практичному сенсі, оскільки вона грає важливу роль в інформаційних технологіях для корекції помилок, кодування та стиснення даних. Поштовхом до розвитку технологій розв’язання рівнянь на полях Галуа стало практичне використання криптографічних систем захисту інформації, основаних на еліптичних кривих та інших різновидах Абелевих груп [2]. В багатьох технологіях розв’язання алгебраїчних рівнянь на кінцевих полях необхідне обчислення квадратного кореня. Наприклад, квадратний корінь потрібен для стиснення та відновлення точки на еліптичній кривій [3]. Точка з координатами (x,y) на кривій стискається до вигляду (x,), де {0,1}. Щоб відновити y по (x,), необхідно розв’язати квадратне рівняння y2 = P(x), тобто обчислити квадратний корінь P (x ) . Такі обчислення потрібні при хешуванні на еліптичних кривих, що широко використовується в багатьох криптосистемах [4]. Обчислення квадратних коренів на полях Галуа використовуються і для більш складних задач, наприклад, при оцінці рівня взаємної кореляції багатовимірних сигналів. Значна частина застосувань обчислення коренів викону-

ється в реальному часі, тому швидкість обчислень є принципово важливим фактором. Обчислення квадратного кореня на полях Галуа GF(2m) є однією з найбільш складних для обчислення операцій і від швидкості її реалізації значною мірою залежить продуктивність засобів корекції помилок, кодування та стиснення даних, а також систем криптографічного захисту інформації. В існуючих методах обчислення квадратного кореня на полях Галуа GF(2m) час виконання пропорційний m2. Таким чином, час обчислення суттєво залежить від розрядності поля. На сучасному етапі розвитку інформаційних технологій широкого розповсюдження набувають розподілені та хмарні обчислення, які дозволяють сконцентрувати значні обчислювальні потужності для розв’язання певних задач. Серед цих задач можуть бути і задачі, пов’язані з порушенням криптографічного захисту. Таким чином, зворотною стороною розповсюдження розподілених та хмарних обчислень є збільшення потенційних можливостей зловмисників для злому існуючих систем захисту інформації. Єдиним адекватним способом протидії цій новій загрозі, тобто підвищення кріптостійкості є збільшення розрядності поля Галуа, що має наслідком експоненційне зростання об’єму обчислювальних ресурсів для злому криптосистеми. З іншого боку, при існуючих технологіях обчислення кореня, збільшення розрядності чисел на полях Галуа призводить до квадратичного росту об’ємів обчислень, потрібних для


166

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

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

Важливість задачі обчислення квадратного кореня на кінцевих полях у практичному сенсі, особливо в системах криптографічного захисту інформації на основі еліптичних кривих, стимулює інтенсивні дослідження в області методів вирішення цієї задачі. Більше сторіччя тому були запропоновані базові методи для обчислення квадратного кореня на полях Галуа GF (2m): Tonelli [1] та Cipolla [4]. Пізніше ці методи були модифіковані для випадку поля GF (qm), де q – просте число і отримали відповідні назви: Tonelli-Shanks [3] та Cipolla-Lehmer [1]. В 1977 році метод TonelliShanks було модифіковано для обчислення кореня довільного ступеню [4]. Існує також метод обчислення кубічного кореня, що має підвищену швидкодію [2]. Базовими операціями на полях Галуа GF (2m) є додавання та множення їх елементів. Перша з цих операцій відповідає додаванню в поліноміальній математиці, тобто по суті є операцією додавання за модулем 2 (xor) і нижче позначається символом ‘+’. Операція множення на полях Галуа GF (2m) відбувається двома етапами. Спершу виконується поліноміальне множенням (тобто множення без переносів), що нижче позначається як ‘’. Потім виконується редукція результату, тобто знаходження залишку від поліноміального ділення добутку на утворюючий поліном поля. Операція редукції нижче позначається як ‘rem’, на відміну від арифметичної редукції ‘mod’. Для кожного елементу поля Галуа GF (2m), що утворюється нерозкладним поліномом P(x) ступеню m, якому відповідає число p, існує мультиплікативна циклічна група, порядок n якої

не перевищує 2m-1. Порядок циклічної групи дорівнює 2m-1, якщо її генератор не має спільних дільників з 2m-1. В кожній циклічній групі поля GF (2m) може бути виділена циклічна підгрупа, кожен елемент якої є квадратом попередньої. При цьому порядок кожної з квадратичних підгруп не перевищує log2n, тобто не перевищує m. Суть методу Tonelli-Shanks знаходження квадратного кореня на полях Галуа полягає в тому, що послідовно аналізуються елементи циклічної підгрупи до знаходження її елемента, який передує підкореневому числу. В процедурному значенні прохід по квадратичній циклічній підгрупі еквівалентний до операції експоненціювання [2]:

B  A2 m1rem( p).

(1)

Таким чином, ідея обчислення квадратного кореня на полях Галуа, що лежить в основі методу Tonelli-Shanks, теоретично є дуже простою, але практична її реалізація пов’язана з значними витратами обчислювальних ресурсів, оскільки реалізація (1) потребує виконання m-1 операцій піднесення до квадрату та редукції. Піднесення до квадрату виконується за правилами поліноміального множення, тобто переноси не враховуються. Операція піднесення до квадрату може бути ефективно реалізована з використанням важливої властивості: в двійковій формі представлення квадрата числа А розряди, що знаходяться на парних позиціях, дорівнюють нулю, а непарні розряди дорівнюють відповідним розрядам числа А, тобто, якщо А=a0+a12+a222 +...+am-12m-1, то: A  A  A2  a0  a1  2  a2  22  ... am1  22m2. (2) З наведеної властивості випливає, що обчислення поліноміального квадрату не потребує обчислювальних операцій, а зводиться лише до перестановки розрядів числа А. Для оцінки обчислювальної складності операції знаходження квадратного кореня за методом Tonelli-Shanks слід врахувати, що розрядність елементів поля істотно перевищує розрядність процесора, тобто при виконанні операції елементи поля розбиваються на s секцій, де s – результат ділення кількості розрядів елементу на кількість розрядів процесору. Редукція виконується шляхом обчислення залишку від поліноміального ділення (2  m-1)розрядного коду р та його логічне додавання до коду поточного залишку в випадку, коли старший розряд останнього дорівнює одиниці. Для


Спосіб прискореного обчислення коренів на полях Галуа GF (2m) з використанням передобчислень

зсуву (m+1)- розрядного коду р на один розряд потрібно виконати (s+1) процесорних операцій зсуву. Оскільки ця операція виконується в кожному з (m-1) циклів редукції, то сумарна кількість процесорних операцій зсуву становить (s+1)·(m-1). Враховуючи що в процесі редукції додавання виконується, в середньому, в половині циклів, а також те, що для реалізації додавання 2·m-розрядного коду потрібно (s+1) операцій логічного додавання, загальна кількість операцій редукції становить (s+1)  (m-1)/2. З цього випливає, що середній час редукції результату піднесення до квадрату становить 1.5(s+1)(m-1)  , де  – час виконання на процесорі логічної операції. Тобто, для реалізації (m1) операції піднесення до квадрату для обчислення квадратного кореня на полі Галуа, в середньому потрібна наступна кількість логічних операцій: (3) N T  1.5  (s  1)  (m  1) 2 . Таким чином, з формули (3) випливає, що обчислювальна складність розглянутого методу Tonelli-Shanks становить O(m2). Аналогічну оцінку складності має і метод Cipolla-Lehmer [1]. Квадратична залежність складності обчислення кореня відомими методами від розрядності чисел в умовах її зростання має наслідком різке сповільнення реалізації систем захисту інформації на основі еліптичних кривих. Для прискорення обчислень потрібно розробити нові методи віднаходження квадратного кореня. Відомі методи обчислення квадратного кореня на полях Галуа GF (2m) вирішують цю задачу без врахування особливостей її практичного використання. Врахування таких особливостей є важливим резервом підвищення швидкості реалізації обчислення кореня. Ціллю досліджень є прискорення обчислення однієї з базових операцій криптографічних систем на основі еліптичних кривих – віднаходження квадратного кореня на полях Галуа. Спосіб прискореного обчислення квадратного кореня з використанням передобчислень

В реальних системах захисту інформації з відкритим ключем, що використовують поля Галуа, їх утворюючий поліном залежить тільки від ключа і змінюється доволі рідко, тобто його можна вважати постійним. Відповідно, ефективним підходом для прискорення обчислення квадратного кореня на полях Галуа є використання попередніх обчислень, що залежать від

167

утворюючого поліному та виконуються один раз. Результати цих обчислень зберігаються у таблицях та використовуються при кожному обчисленні квадратного кореня на полях Галуа. На основі вказаного підходу пропонується спосіб прискореного обчислення квадратного кореня на полях Галуа. Число А можна представити у вигляді логічної суми: А=a0+a12+a222+...+am-12m-1, де a0,…,am-1{0,1}. Оскільки при парному n логічна сума має властивість: (a+b)n = an + bn,то формула (1) для обчислення квадратного кореня B  A може бути представлена у вигляді: BA

2 m 1

rem p = =

m1

m1

a0  a1  2 2  ... am1  2m1 2 rem p= m1

m1

= a0+ a1  2 2 rem p+…+ am1  2m1 2 rem m 1

(4)

m1

p= =a0 + a1· 2 22 rem p+…+am-1· 2(m1)2 rem p. Якщо попередньо обчислити добутки чисел, які представляють собою ступені двійки та їх редукції, і позначити результати як Wi, то формула (4) може бути представлена таким чином: B  a W  a W  a W  ... a W . (5) 0

0

1

1

2

2

m1

m1

Отримана формула може бути безпосередньо використана для швидкого обчислення квадратного кореня. Запропонований спосіб може бути проілюстровано наступним прикладом. Нехай поле Галуа утворено поліномом Р(х)=х3+х2+1. р=16, m=3. W0=1, W1=25rem16=2, W2=211rem16=10. Обчислимо на цьому полі корінь з числа А=7. В двійковому вигляді це число дорівнює 111. Відповідно корінь з нього обчислюється як логічна сума: (6) B  W0  W1  W2  1  2  10  3. Нескладно побачити, що кількість логічних операцій, що використовуються в наведеному способі, залежить від числа одиничних бітів коду А. Якщо взяти кількість цих розрядів як половину від загального числа розрядів, то кількість логічних операцій можна обчислити за формулою: N T  0 .5  s  m. (7) Порівняння виразів (7) і (3) показує, що запропонований спосіб дозволяє зменшити кількість операцій в 3·m разів. Для експериментальної оцінки ефективності розробленого методу було проведено експериментальне дослідження програмної реалізації


168

Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56

обчислення квадратного кореня за запропонованим методом та методом Tonelli-Shanks. Програму було виконано з різними розрядностями поля Галуа, m=512, m=1024, m=2048. Реалізація методів була протестована на системі HP Blade System C3000. Дані порівняльного аналізу швидкодії запропонованого способу обчислення квадратного кореня на полях Галуа і метода Tonelli-Shanks за результатами експериментальних досліджень наведено у вигляді графіку на рис.1. Досліджувалась залежність відношення TSH/T0 часу виконання обчислення квадратного кореня методом Tonelli-Shanks (TSH) та запропонованого способу (T0) для найбільш поширених на практиці значень m=512, 1024, 2048.

Рис.1 Графік залежності TSH/T0 від m Аналіз наведеного графіку показує, що експериментальні оцінки ефективності запропонованого способу в цілому співпадають з теоретичними значеннями і доводять практичну до-

цільність використання запропонованого способу обчислення кореня на полях Галуа в системах криптографічного захисту з відкритим ключем на основі еліптичних кривих. Висновки

Запропоновано спосіб прискореного обчислення квадратного кореня на полях Галуа. Спосіб орієнтовано на використання в системах криптографічного захисту інформації з відкритим ключем. Виходячи з того, що ключі в таких системах є практично незмінними, обчислювальна складність операції віднаходження кореню може бути зменшена за рахунок передобчислень, що залежать тільки від ключа. Це дозволило суттєво зменшити обчислювальну складність віднаходження квадратного кореня на полях Галуа в порівнянні з відомими методами. Теоретично доведено, що запропонований спосіб має обчислювальну складність O(m), значно меншу за складність O(m2) існуючих способів, які не враховують конкретики застосування операції знаходження квадратного кореня в системах криптографічного захисту. Вважаючи на те, що в реальних системах значення m вимірюється тисячами бітів, запропонований метод дозволяє на порядки прискорити операції віднаходження кореня на полях Галуа. Проведені експериментальні дослідження в цілому підтвердили високу практичну ефективність розробленого методу. Запропонований спосіб може бути ефективно використаний для реалізації систем криптографічного захисту інформації з відкритим ключем для застосувань з підвищеними вимогами щодо швидкодії, в тому числі з такими, що працюють в реальному часі.

Список літератури 1. 2. 3. 4.

Агуров П.В. Интерфейс USB. Практика использования и программирования / П.В. Агуров – СПб.:БХВПетербург, 2005.- 576 с. Klove T. Error Detecting Codes: General Theory and Their Application in Feedback Communication Systems / Т. Klove, V. Korzhik.- Norwell, MA: Kluwer, 1995. – 433 р. Zumbragel J. On the Pseudocodeword Redundacy of Binary Linear Codes / J. Zumbragel, V. Skachek, M.F. Flanagan // IEEE Trans. of Information Theory.-2012.-Vol.58.- № 7.-Р.4848-4861. Марковский А.П. Использование взвешенных контрольных сумм для обнаружения ошибок в линиях передачи с асинхронным кодированием данных/ А.П. Марковский , Пуя Солеймани Нежадиан, Мулки Ахмед Яссин Ал Бадайнех. //Современные информационные и электронные технологи: 9-тая междунар. науч.-техн. конф., 19-22 мая. 2008 р.: тезисы докл. – Одесса., 2008.- С.201.


Відомості про авторів Аракелян Г.А.

с.н.с. кафедри АСОІУ НТУУ «КПІ»

Берендеев Е.А.

Институт Вычислительных Технологий СО РАН

Болдак А.О

докторант, к.т.н., доцент, ННК «ІПСА» МОНМС України та НАН України

Болдак О.А.

студент каф. АЕД НТУУ «КПІ»

Варфоломеев А.Ю.

аспірант кафедри КЕОА НТУУ «КПІ»

Виноградов Ю.М

старший викладач кафедри ОТ НТУУ «КПІ»

Воробйов В.В.

НТУУ «КПІ»

Воротников В.В.

к.т.н., доцент кафедри АСУ Житомирського військового інституту імені С.П. Корольова

Иванов А.В.

доцент, к.ф-м.н., Институт Ядерной Физики СО РАН

Иванов Д.Г.

НТУУ «КПІ»

Клименко І.А.

к.т.н., доцент кафедри ОТ НТУУ «КПІ»

Ковтун Д.І.

студент НТУУ «КПІ»

Косейкіна Г.С.

студент НТУУ «КПІ», ФІОТ

Кулаков Ю.А.

д.т.н., професор кафедри ОТ НТУУ «КПІ»

Лазарева Г.Г.

доцент, к.ф-м.н., Институт вычислительной математики и математической геофизики СО РАН

Марковський О.П.

к.т.н., доцент кафедри ОТ НТУУ «КПІ»

Мисюра Е.Б.

к.т.н, с.н.с. кафедри АСОІУ НТУУ «КПІ»

Молчановський О.І.

старший викладач кафедри АСОІУ НТУУ «КПІ»

Настенко М.Е.

НТУУ «КПІ»

Невдащенко М.В.

асистент кафедри ОТ НТУУ «КПІ»

Норкин Б.В.

Ph.D. in Physics & Math, Doctoral student at V.M. Glushkov Institute of Cybernetics

Павлов А.А.

д.т.н., профессор кафедры АСОИУ НТУУ "КПИ", декан ФИВТ НТУУ «КПІ»

Перетятко Е.Н.

студент кафедри ОТ НТУУ «КПІ»

Пих С.В.

НТУУ «КПІ»

Поспешный А.С.

асистент кафедри ОТ НТУУ «КПІ»

Родічева О.С.

викладач НТУУ «КПІ», ФІОТ

Ролик А.И.

к.т.н., доцент кафедри АУТС НТУУ «КПІ»

Cеливанов В.Л.

к.т.н., доцент кафедри ОТ НТУУ «КПІ»

Симоненко А.В.

викладач кафедри ОТ НТУУ «КПІ»

Слуцкий Н.В.

НТУУ «КПІ»

Снытников А.В.

к.ф-м.н., Институт вычислительной математики и математической геофизики СО РАН

Сперкач М.О.

асистент кафедри АСОІУ НТУУ «КПІ»

Стиренко С.Г.

к.т.н., доцент кафедри ОТ НТУУ «КПІ»

Сторожук О.М.

студент кафедри ОТ НТУУ «КПІ»

Ткаченко В.В.

к.т.н., доцент кафедри ОТ НТУУ «КПІ»

Тютюнник С.В.

студент НТУУ «КПІ», ФІОТ

Федоречко О.І.

студент кафедри ОТ НТУУ «КПІ»

Халус Е.А.

асистент кафедри АСОІУ НТУУ «КПІ»

Чемерис А.М.

студент НТУУ «КПІ», ФІОТ

Шантир Д.С.

к.т.н., доцент кафедри АЕД НТУУ «КПІ»

Шевченко К.Ю.

магістр кафедри АОСІУ НТУУ «КПІ»

Шилов Ю.Н.

студент кафедри ОТ НТУУ «КПІ»

Широчин В.П.

д.т.н., професор кафедри ОТ НТУУ «КПІ»

Щербина О.В.

НТУУ «КПІ»

Ясінський В.В

професор, k.ф.-м.н., директор Інституту моніторингу якості освіти НТУУ «КПІ»


SUMMARY Shirochin V.P., Peretyatko E.N. Effective graphical interface for modeling system………………………………

4

Shirochin V.P., Shilov Y.N. Minimizing the control list for event planning in Petri net models…………………..

8

Kulakov Y.A, Vorotnikov V.V. Forming of optimum routes in mobile networks on the basis of the modified algorithm of Deykstry…………………………………………………………………………………………………... 13 Yasinsky V.V, Boldak.A.O. Methods and tools for simulation of conflict situations in complex human-metric systems …………………………………………………………………………………………………………….. 20 Shantyr D.S., Nevdaschenko M.V., Boldak O.A. Rapid Application Development of Image Processing…………. 25 Rolik A.I. The management concept of a company's IT infrastructure…………………………………………….. 31 Pavlov A.A., Misjura E.B., Khalus E.A, Sperkach M.O., Arakelyan G.A. The resultant formalization of the first level of the three-level model of operational planning and decision making with the criterion of minimizing the total earliness in relation to the due dates………………………………………………………………………….. 56 Pavlov A.A., Misjura E.B., Shevchenko K.Y. Construction of a PDC-algorithm for solving the single machine total weighted tardiness problem…………………………………………………………………………………... 58 Berendeev E.A., Ivanov A.V., Lazareva G.G. Snytnikov A.V. Effective application of supercomputers in plasma physics computations with particle-in-cell method………………………………………………………………... 71 Klimenko I. A., Tkachenko V.V., Storozhuk O.M. Multiprocessor system based on Nios II Altera programmable cores………………………………………………………………………………………………………………... 78 Selivanov V.L., Vorobyov V.V. Optimal transform circuits for D/A conversion schemes with binary-coded decimal numbers………………………………………………………………………………………………………..

88

Simonenko A.V., Pih S.V., Slutsky N.V., Vorobyov V.V. The system of spatial distribution of tasks in distributed computing systems…………………………………………………………………………………………………

94

Pavlov A.A., Misjura E.B., Khalus E.A. Properties’ research of the scheduling problem for a single machine by minimizing the total earliness of tasks with the condition of the schedule feasibility…………………………….. 98 Rodicheva O.S., Chemerys A.M., Tyutyunnik S.V. Mathematical models for choosing an optimal set of materialized views………………………………………………………………………………………………………….. 103 Norkin B.V. On performing actuarial calculations on GPU………………………………………………………... 113 Simonenko A.V. Resource evaluation system in dynamic planning system of heterogeneous Grid systems……… 120 Simonenko A.V., Shcherbina O.V. Parametric evaluation of resources in global Grid systems…………………… 126 Nastenko M.E., Stirenko S.G. Recognition and border highlighting of homogeneous areas during parallel processing of histological images……………………………………………………………………………………... 130 Varfolomeev A.Y. Improved median flow algorithm for visual object tracking on video sequences……………… 134 Pospishnyi. O.S. Improving efficiency of information systems with ontology-based information complement method……………………………………………………………………………………………………………... 143 Molchanovsky O.I., Kovtun D.I. Semantic search of news text……………………………………………………. 151 Fedorechko O.I. Method of double error correction during data transmission in real-time computer systems…… 155 Ivanov D.G. Organization of redundancy in distributed data storage systems…………………………………….. 160 Markovskyi O.P., Vinogradov Y.M., Koseykina G.S. Method of accelerated computing of roots in Galois fields GF (2m) with precalculations………………………………………………………………………………………. 165


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.