Методика обнаружения и предотвращения блокировок процессов информационного обмена с использованием маркированных потоковых графов

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 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.2010

  • APRIORI - масштабируемый алгоритм поиска ассоциативных правил. Создание официального информационного портала для студенческого совета УлГУ "Династия". Принципы построение и создания хранилища данных. Перенос информационного портала на сервер 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.