Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Метод асинхронного программирования






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

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

Условия готовности операторов в асинхронных программах могут формироваться в разных терминах, в зависимости от этой можно выделить разные типы асинхронного управления.

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

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

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

Событийное и потоковое управление удобно и наглядно моделируется в терминах сетей Петри и их модификаций. При этом сети Петри позволяют моделировать более сложные ситуации, чем механизм последовательно-параллельного программирования с семафорами. Так, структуру на рисунке 2.23 не удается запрограммировать с помощью обычных семафоров- Это объясняется тем, что для выполнения каждого из трех операторов t13, t23, t33 требуется захват двух ресурсов, т.е. срабатывание двух переходов из множества {l12, t22, t32}. Семафор управляет распределением только одного ресурса, поскольку неделимая операция Р применяется только к одному семафору.

 

 

 

Для того, чтобы аппарат сетей Петри можно было применять не только для описания семантики событийного управления, но и непосредственно использовать в языке параллельного программирования, разработаны аналитические методы представления сетей, которые позволяют задавать структуру асинхронного управления программы в видеуправляющих выражений [9].

Рассмотрим пример потокового асинхронного уцравления. При таком управлении исполнение оператора может начаться, если для него готовы входные данные (аргументы).

Сети Петри при этом моделируют с помощью позиций наличие аргументов, а с помощью переходов - выполнен! операций.

а + Ь

Например, вычисления выражения-------- моделируется

с-а

схемой, показанной на рисунке 2.24. Символ 1/ х означает вычисление обратной величины.

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






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.