
9.4. Понятие о параллельных вычислениях
Модель машины Тьюринга предполагает последовательное выполнение элементарных операций. Такой модели соответствует иногда используемая модель "одного вычислителя", обладающая низкой скоростью вычислений при ее технической реализации. Такая модель реализуется Фон-Неймановской структурой ЭВМ. Для моделирования процессов реализации параллельного выполнения элементарных операций в теории алгоритмов используется модель "коллектива вычислителей". Каждая подзадача решается вычислителем, который при необходимости получения или передачи информации для других подзадач обменивается ею с другими вычислителями. Вместе с тем не исключается возможность решения одним вычислителем одной простой задачи, не связанной с другими, например, при вычислении ав+сdе. Все вычислители работают одновременно во времени, параллельно выполняя свои функции. Удобным средством описания параллелизма взаимодействующих процессов являются графовые модели особого вида, называемые сетями Петри.
Сеть Петри является двудольным графом (т.е. таким графом, множество вершин которого распадается на два непересекающихся подмножества таких, что каждое ребро графа имеет один конец в одном подмножестве, а другой - в другом подмножестве) и содержит вершины двух типов - позиции и переходы, а также имеются направленные ребра-дуги, которые могут соединять вершины разных типов. На рис.9.7. приведен простой пример сети Петри, где кружками обозначены вершины, именуемые позициями, а вертикальными линиями - вершины, называемые переходами. Множество позиций, которые соединены с определенным переходом направленными к нему дугами, называются входными позициями данного перехода. Все позиции, к которым направлены дуги от перехода, образуют множество выходных позиций этого перехода. Каждой вершине графа, соответствующей позиции сети Петри, может быть поставлено в соответствии неотрицательное число меток, которые на рисунке обозначаются точками внутри кружка. Начальное распределение меток соответствует начальным условиям работы сети и называется начальной маркировкой.
Таким образом, сеть Петри Nможет быть задана следующей четверкой:N={A,T,F,М0}, здесь А и Т - конечные множества позиций и переходов соответственно: А={a1,...ak}, T={t1,...tl}. При этом АТ=, АТ. ФункцияFопределяет связи между позициями и переходами так, что
F(a,t)=
F(t,a)=
М0определяет начальную маркировку сети и являетсяk-мерным вектором неотрицательных чисел,j-й элемент которого обозначает число меток в позиции аj.
Для сети Петри рис.9.7 k=l=5, М0=<1,0,0,0,0>и
F(a,t)=,F(t,a)=
.
Если все входные позиции перехода tiсодержат метки, то такой переход является активным. Активный переход может быть реализован. Иногда об активных переходах говорят как о воспламененности, а реализацию перехода называют его сгоранием. В результате реализации (сгорания) перехода удаляется одна метка из каждой входной позиции и помещается по одной метке в каждую выходную позицию. Таким образом, метка позиции может быть использована для реализации только одного перехода. Реализацию перехода можно рассматривать как событие, осуществляющееся при выполнении определенных условий, в результате чего старые условия исчезают и создаются новые, при этом общее число меток в сети может измениться. Существенно, что не все активные переходы должны быть реализованы, но допустима реализация только активных переходов.
Рис.9.7
В сети Петри рис.9.7 начальная маркировка, в соответствии с которой имеется метка в позиции а1, делает активным переходt1. После реализации этого перехода метка из а1удаляется и помещаются метки в позиции а2и а3, что соответствует распараллеливанию процесса. Затем реализуются переходыt2иt3и появляются метки в а4и а5. Эти события могут происходить в разные моменты времени, так как они относятся к различным параллельно протекающим процессам. Однако ниt4ниt5не могут быть реализованы, пока оба эти процесса не закончатся. Затем реализуется какой-либо из переходовt4илиt5и сеть Петри переходит в начальное состояние.
Многими авторами рассматривались различные типы сетей Петри, для которых вводятся разные ограничения на заполнение позиций метками, на условия реализации переходов, на число входящих и исходящих дуг позиции.
Сеть Петри является удобным и наглядным средством описания взаимодействующих процессов. Протекание процесса соответствует последовательности реализации переходов, что вызывает перемещение меток по сети, т.е. изменение состояний процесса.
В приложении 2 представлен дополнительный материал о параллельных вычислениях.