Методика обнаружения и предотвращения блокировок процессов информационного обмена с использованием маркированных потоковых графов
Отсутствие сообщений во входных буферах, либо их переполнение - причины возникновения трудностей взаимодействия процессов информационного обмена. Построение маркированного потокового графа с произвольной семантической природой свойств дуг и вершин.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 24.08.2020 |
Размер файла | 45,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Методика обнаружения и предотвращения блокировок процессов информационного обмена с использованием маркированных потоковых графов
Савенков А.Н.
Основные трудности взаимодействия процессов информационного обмена (ПИО) связаны со взаимными блокировками (отсутствием сообщений во входных буферах, либо переполнением выходных буферов). В результате возникают ситуации «столкновения» процессов и состояние их «неопределенности» («голодания»), при приходе взаимоисключающих сигналов. Отдельные аспекты определения возможности и предотвращения блокировок рассматриваются в книгах [1,2]. Как в них показано, для решения данных задач целесообразно использовать различные модели, наиболее удобными из которых представляются потоковые [3].
Реализуемость потоковых моделей основывается на согласовании параметров очередей сообщений (входных и выходных буферов) таким образом, чтобы учесть все допустимые истории процессов программы, когда ни один из них не блокировался по рассмотренным выше причинам.
Маркированным потоковым графом будем называть шестерку G = (V, X, Y, А, с, у), где V -- множество вершин (операторов программы); X и Y -- множества входных и выходных позиций вершин; А Y X -- множество информационных дуг; с: (X U Y) V -- функция распределения позиций по вершинам; у: АLout Lin -- функция маркировки позиций. Здесь Lin и Lout -- множества меток соответственно входных и выходных позиций вершин, в том числе и фиктивных, инцидентных входам и выходам графа. При этом множество X включает подмножество ординарных позиций, каждой из которых инцидентна одна дуга, и подмножество позиций для альтернативного выбора входящих потоков данных (select, или slt). В множество Y включаются подмножество ординарных выходных позиций, а также подмножество позиций, соответствующих альтернативным переключениям (switch, или swh) и ветвлениям (fork, или frk) исходящих потоков данных. В общем случае входная позиция любой вершины v V может быть ординарной или slt-позицией. Выходная позиция вершины v является ординарной, frk-позицией либо единственной выходной swh-позицией, которой инцидентно не менее двух информационных дуг. Этот случай соответствует условному ветвлению. Точкой входа в цикл является slt-позиция.
Характер меток входных и выходных позиций определяется семантикой модели ПИО. Если рассмотреть сообщение как вектор, в котором каждый компонент в свою очередь представляет собой набор атомарных объектов (значений данных), или токенов, то число входных и выходных позиций вершины графа G совпадает с числом компонентов входного и выходного сообщений соответствующего процесса. В этом случае метка позиции описывает определенные семантические свойства компонента сообщения, а совокупности меток Lin, Lout характеризуют систему типов сообщений, поддерживаемую моделью вычислений на основе потокового графа G.
Данный аппарат позволяет представить ПИО в виде эквивалентных схем. Рассмотрим информационно-логический граф ПИО и соответствующий ему маркированный граф, называемый метаоператорной сетью (М-сетью) [7], изображенный на рисунке (информационные связи представлены сплошными дугами, логические -- штриховыми). Префикс «мета» означает, что здесь мы отвлекаемся от содержательного смысла операторов программы, перенося акцент на взаимодействие процессов, реализующих эти операторы.
Рисунок 1 - Информационно-логический граф (а) и соответствующая М-сеть (б)
В информационно-логическом графе (см. рис. а) вершины v1 -- v5 соответствуют операторам, которые связаны по данным и управлению (для организации условных ветвлений). Вершина М-сети -- метаоператор m, если ее выходные позиции являются ординарными или frk-позициями (на рис. б -- метаоператоры m1 -- m4). Вершина -- это тест t, или логическое условие, если она имеет единственную выходную swh-позицию (на рис. б -- тест t5). В М-сети метки из Lin, Lout -- натуральные числа. Метки выходных и входных позиций обозначают число производимых и потребляемых токенов в компонентах соответствующих сообщений. Для описания недетерминированных распределенных ПИО с каждым процессом ассоциируются входные и выходные буферы типа FIFO. Тогда метка позиции обозначает ширину буфера -- число токенов в компоненте сообщения. Набору операндов, связанных с определенным буфером процесса, соответствует одна позиция вершины и одна дуга М-сети.
Таким образом, представленная М-сеть охватывает и случай обмена сообщениями между процессами через каналы или очереди, подобно сетям процессов Кана [5]. Длина очереди, или глубина буфера, равна числу входных сообщений. Ширина буфера совпадает с числом токенов в компоненте сообщения. Число очередей (буферов) равно числу компонентов входного сообщения для соответствующего процесса. Токены от процесса-производителя пересылаются сразу же по мере формирования в соответствующие каналы процессов-потребителей. Процесс-потребитель инициируется лишь тогда, когда переданы все необходимые компоненты сообщения от процессов-производителей. Однако при этом в отличие от детерминированной модели Кана допускаются различные последовательности формирования токенов в компонентах и самих компонентов входных и выходных сообщений.
Необходимо отметить, что потоковый граф G соответствует недетерминированной модели вычислений: любой паре, состоящей из входного и выходного сообщений процесса, может соответствовать более одной его истории, и допускаются различные последовательности формирования компонентов сообщений.
В [6] исследование реализуемости вычислений может быть сведено к процедуре разметки М-сети. В этом случае маркировка входных и выходных позиций вершин М-сети соответствует ширине буфера, а метки дуг позволяют получить число сообщений (или глубину буфера), гарантирующее отсутствие «зависаний» программы при любых допустимых историях процессов.
Стационарную разметку будем называть неизбыточной, если метки дуг и вершин являются наименьшими из возможных [7].
Бесконтурный маркированный потоковый граф G' = (V, X', Y, Е, с', у'), где Е Y X' - множество дуг, |E| = |A|, А -- множество дуг равносильного G' потокового графа G, X X', с': (X' U Y) V, у': Е Lout Lin, с заданной посредством порядковой функции нумерацией уровней l = 1,...,L называется L-уровневой сетью. Такой подход позволяет свести разметку любой М-сети к разметке равносильной безконтурной L-уровневой сети и, как следствие, задача анализа реализуемости потоковой модели распределенных ПИО, заданных М-сетью G, сводится к установлению существования стационарной и нахождению неизбыточной разметки L_уровневой сети G', равносильной G [8].
Задача семантического анализа свойств моделей ПИО, например, с целью обнаружения блокировок, относится к числу фундаментальных. Результаты анализа могут быть использованы для формальной верификации, оптимизации и специализации функций ПИО. Во многих случаях задача анализа моделей ПИО невысокого уровня абстракции оказывается алгоритмически неразрешимой.
Маркированные потоковые графы с произвольной семантической природой свойств дуг и вершин, отражают характер обработки и взаимодействия процессов распределенных ПИО. Обобщение семантической природы меток дуг и вершин потокового графа требует решить задачу анализа моделей информационного обмена. Основным методологическим приемом здесь является установление существования стационарной разметки на заданной алгебраической структуре свойств дуг и вершин потокового графа.
Как правило, стационарность разметки обеспечивается структурой (полуструктурой) семантических свойств дуг и вершин графа ПИО, которые не увеличиваются в процессе разметки, либо свойствами самой модели, как в случае исследования достижимости и продуктивности вершин графа переходов схем Янова [6].
Литература
информационный буфер потоковый маркированный
1. Корнеев В.В. Параллельные вычислительные системы. -- М.: Нолидж, 1999. - 320 с.
2. Таненбаум Э. Архитектура компьютера. -- СПб.: Питер, 2002. -- 704 с.
3. Lee E.A., Sangiovanni- Vincentelli A. A framework for comparing models of computations // IEEE Trans, on CAD of Integrated Circuits and Systems. -- 1998. - V. 17, № 12. -- P. 1217-1229.
4. Топорков В.В. Структурно-динамические модели вычислений на метаоператорных сетях // Вестник МЭИ. -- 1994. -- № 2. -- С. 68-73.
5. Kahn G. The semantics of a simple language for parallel programming // Information Processing 74. N.-H. Publishing Company. -- 1974. -- P. 471-475.
6. Топорков В.В. Проблема разрешимости задачи анализа потоковых моделей программ // Программирование. -- 2003. -- № 3. -- С. 3-14.
7. Топорков В.В. Разрешение коллизий параллельных процессов в масштабируемых вычислительных системах // Автоматика и телемеханика. -- 2003. -- № 5. -- С. 180-189.
8. Najjar W.A., Lee E.A., Gao G.R. Advances in the dataflow computational model // Parallel Computing. -- 1999. - V. 25. -- P. 1907-1929.
Размещено на Allbest.ru
...Подобные документы
Использование понятий из теории графов при разработке сетей и алгоритмов маршрутизации. Построение матрицы смежности и взвешенного ориентировочного графа. Результаты работы алгоритмов Дейкстры и Беллмана-Форда. Протоколы обмена маршрутной информацией.
курсовая работа [334,1 K], добавлен 20.01.2013Этапы нахождения хроматического числа произвольного графа. Анализ примеров раскраски графа. Характеристика трудоемкости алгоритма раскраски вершин графа Мейниеля. Особенности графов, удовлетворяющих структуру графов Мейниеля, основные классы графов.
курсовая работа [1,1 M], добавлен 26.06.2012Анализ государственного регулирования информационного обмена в налоговых органах. Участники государственного информационного обмена, обладающие защищёнными налоговыми сведениями. Характеристика основных видов и топологий локальных информационных сетей.
контрольная работа [1,5 M], добавлен 15.12.2015Алгоритмы планирования мультипрограммных операционных систем. Оценка возможности выполнения двух процессов в реальном времени. Организация доступа к критической секции с использованием передачи сообщений. Обнаружение блокировок в вычислительной системе.
курсовая работа [858,7 K], добавлен 24.03.2015Создание системы информационного обмена для страховой медицинской организации. Разработка алгоритмов, интерфейса пользователя, экранных форм и отчетов, процедур и функций приложения. Расчет цены разработанной программы, капитальных вложений и расходов.
дипломная работа [1,4 M], добавлен 20.07.2014Информационное обеспечение, система автоматизированного управления. Классификаторы технико-экономической информации, унифицированные документы. Этапы проектирования информационного обеспечения. Анализ методов и матрицы смежности информационного графа.
реферат [19,0 K], добавлен 29.10.2010Описание и схема информационного взаимодействия элементов системы, выходная и входная информация. Технологические процесс функционирования системы в автоматизированном режиме. Разработка информационного обеспечения системы, алгоритмы программного модуля.
дипломная работа [1,0 M], добавлен 30.08.2010Образовательные услуги и выпуск печатной продукции с использованием информационного пространства техникума. Корпоративная вычислительная сеть и средства информационного взаимодействия, каналы интеграции и распределенный информационный портал веб-сервера.
презентация [591,8 K], добавлен 13.10.2012Математические графы, области их применения. Способы раскраски вершин и ребер графов, задачи на их применение. Разработка алгоритма, работающего на основе операций с матрицей смежности. Описание логической структуры программы. Пример зарисовки графа.
курсовая работа [145,5 K], добавлен 27.01.2013История и термины теории графов. Описание алгоритма Дейкстры. Математическое решение проблемы определения кратчайшего расстояния от одной из вершин графа до всех остальных. Разработка программы на объектно-ориентированном языке программирования Delphi 7.
контрольная работа [646,9 K], добавлен 19.01.2016Понятие и структура информационного портала для автоматизации рабочего места. Описание методологий моделирования бизнес-процессов, системы электронного документооборота DIRECTUM. Система информационного обеспечения в Министерстве сельского хозяйства.
дипломная работа [1,3 M], добавлен 18.12.2013Теоретическое обоснование теории графов. Методы нахождения медиан графа. Задача оптимального размещения насосной станции для полива полей. Алгоритм Флойда, поиск суммарного расстояния до вершин. Функция нахождения индекса минимального значения в массиве.
курсовая работа [336,8 K], добавлен 28.05.2016Общая характеристика протокола ICMP, его назначение и формат сообщений. Анализ применимости протокола ICMP при переходе с набора протоколов IP v4 на набор IP v6. Свойства и принцип работы, сферы применения протоколов обмена маршрутной информацией.
курсовая работа [210,8 K], добавлен 24.08.2009Основные понятия и определения теории графов: теоремы и способы задания графа, сильная связность графов. Построение блок-схем алгоритма, тестирование разработанного программного обеспечения, подбор тестовых данных, анализ и исправление ошибок программы.
курсовая работа [525,6 K], добавлен 14.07.2012Назначение буфера обмена, управление его данными в среде Windows. Взаимодействие между владельцем и клиентом буфера. Данные и тип дескриптора, для каждого типа предопределенных форматов. Воспроизведение данных буфера обмена с задержкой, окна просмотра.
реферат [58,9 K], добавлен 04.10.2010Алгоритмы, использующие решение дополнительных подзадач. Основные определения теории графов. Поиск пути между парой вершин невзвешенного графа. Пути минимальной длины во взвешенном графе. Понятие кратчайшего пути для графов с помощью алгоритма Флойда.
реферат [39,6 K], добавлен 06.03.2010APRIORI - масштабируемый алгоритм поиска ассоциативных правил. Создание официального информационного портала для студенческого совета УлГУ "Династия". Принципы построение и создания хранилища данных. Перенос информационного портала на сервер ulsu.ru.
курсовая работа [1,5 M], добавлен 21.12.2015Разработка программного продукта для поиска максимально удалённых вершин в графе. Характеристика ориентированного, смешанного и изоморфного графов. Обзор способов представления графа в информатике. Алгоритм поиска пути. Графический интерфейс программы.
курсовая работа [384,0 K], добавлен 10.01.2015Разработка принципов организации информационного обеспечения, структуры входных и выходных сообщений, классификаторов и кодов. Уточнение состава аппаратной платформы. Функциональное назначение проекта, руководство пользователя и описание программы.
курсовая работа [623,3 K], добавлен 18.09.2015Характеристика буфера обмена как области памяти, резервируемой системой Windows для организации обмена данными между приложениями. Копирование и перемещение файлов как функции буфера обмена. Изучение абсолютной и относительной адресации ячеек MS Excel.
контрольная работа [13,9 K], добавлен 11.09.2011