Научная статья на тему 'Временные оценки и гомоморфизмы асинхронных систем'

Временные оценки и гомоморфизмы асинхронных систем Текст научной статьи по специальности «Математика»

CC BY
107
30
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЕТЬ ПЕТРИ / КОММУТАТИВНЫЙ МОНОИД / МОНОИД ТРАСС / АСИНХРОННАЯ СИСТЕМА ПЕРЕХОДОВ / ВРЕМЕННЫЕ СИСТЕМЫ

Аннотация научной статьи по математике, автор научной работы — Кудряшова Е. С., Хусаинов А. А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Временные оценки и гомоморфизмы асинхронных систем»

НАУЧНОЕ ИЗДАНИЕ МГТУ ИМ. Н. Э. БАУМАНА

НАУКА и ОБРАЗОВАНИЕ

Эл № ФС77 - 48211. Государственная регистрация №0421200025. ISSN 1994-0408

электронный научно-технический журнал

Временные оценки и гомоморфизмы асинхронных систем

# 01, январь 2014

DOI: 10.7463/0114.0695993

Кудряшова Е. С., Хусаинов А. А.

УДК 519.7

Россия, МГТУ им. Н.Э. Баумана ekatt@inbox.ru husainov51@yandex.ru

Введение

В работе [1] были введены асинхронные системы для моделирования параллельных вычислительных систем. В [1, 2] рассматривались категории асинхронных систем. Морфизмы асинхронных систем (S, s0, E, I, Tran) ^ (S', s0, E', I', Tran') определялись как пары отображений (п, а), в которых rj: E ^ E' — некоторое частичное отображение множеств событий, а а: S ^ S' — отображение множеств состояний, удовлетворяющее дополнительным условиям. В работе [3] исследовались морфизмы, в которых п сопоставляет каждому событию произведение попарно независимых событий.

В данной работе мы изучаем морфизмы, введенные в работе [4] и примененные в [5] для оценки производительности параллельных вычислительных систем. Эти морфизмы задаются как пары (п, а), в которых п сопоставляет каждому событию некоторую трассу и может интерпретироваться как разложение события в композицию операций. Это позволяет нам моделировать разложение каждой операции в композицию операций. В случае, когда операция разлагается в последовательное выполнение более мелких операций, мы приходим к алгоритму нахождения минимального времени выполнения процесса, заданного с помощью трассы.

1. Асинхронные системы и пунктированные полигоны

Введем необходимые определения моноида трасс, пространства состояний и асинхронной системы. Пространство состояний можно рассматривать как пунктированное множество с действием моноида трасс. Это позволяет определить гомоморфизмы пространств состояний как морфизмы пунктированных множеств с действием моноидов трасс. Гомоморфизмы асинхронных систем определяются как гомоморфизмы пространств состояний переводящие начальное состояние в начальное.

Моноиды трасс. Пусть Е — множество. Отношением независимости на Е называется подмножество I С Е х Е, удовлетворяющее следующим условиям:

• для каждого а е Е имеет место (а, а) / I (антирефлексивность),

• для всех а, Ь е Е верна импликация (а, Ь) е I ^ (Ь, а) е I (симметричность).

Элементы а, Ь е Е называются независимыми, если (а, Ь) е I.

Пусть Е* обозначает моноид слов алфавита Е, включающий пустое слово 1. Для произвольного отношения независимости I на Е определен моноид М(Е, I), равный фактор-моноиду моноида слов Е*, полученного отождествлением слов, отличающихся перестановкой рядом стоящих независимых букв. Этот моноид называется свободным частично коммутативным или моноидом трасс. Он был введен и исследован в работе П. Картье и Д. Фоаты [6]. Имеет многочисленные приложения в параллельном программировании [7, 8, 9].

Пространства состояний. Пространство состояний (Б, Е, I, Тгап) состоит из произвольных множеств Б, Е, симметричного антирефлексивного отношения I С Е х Е и множества Тгап С Б х Е х Б, обладающих свойствами:

1) если (в, а, в') е Тгап & (в, а, в") е Тгап, то в' = в'';

2) если (а, Ь) е I & (в, а, вf) е Тгап & (в', Ь, в") е Тгап, то существует такой в! е Б, что

(в, Ь, в!) е Тгап & (в!, а, в") е Тгап (рис. 1). рис.1

Элементы из Б называются состояниями, из Е — событиями, I С Е х Е — отношением независимости, элементы (в, а, вf) е Тгап — переходами.

Рис. 1. Свойство 2

Пространство состояний можно рассматривать как множество Б с частичным действием моноида трасс М(Е, I).

Хорошо известно [2], что частичное отображение /: А ^ В можно рассматривать как тотальное /: А и{*} ^ В и{*}, добавляя к каждому множеству «бесконечно удаленную» точку * и полагая для х е А

^х) =\ /(х), если /(х) определено; 1 *, в других случаях.

Для х = * положим /(х) = *. Положим А* = А и{*}. Множество А* будет пунктированным в том смысле, что в нем выделена точка *. Отображение между пунктированными множествами, переводящее выделенную точку в выделенную называется пунктированным.

Определение 1. Пунктированным полигоном (S,M(E,I), ■) над моноидом трасс называется тройка, состоящая из множества S, моноида трасс M(E, I) и отображения ■: S* х M(E, I) а S*, (s, ß) а s ■ ß, удовлетворяющего соотношениям

• (Vs е S*)(Vßi е M(E, I))(Vß2 е M(E, I)) (s ■ ßj ■ ß2 = s ■ (ßlß2);

• (Vs е S*) s ■ 1 = s;

• (Vß е M(E, I)) * ■ß = *.

В частности, каждое правое M(E, I)-множество можно рассматривать как пунктированный полигон над моноидом трасс, добавляя к множеству состояний состояние * и определяя на нем действие как * ■ ß = *.

Соотношения показывают, что действия (s,a) а s ■ a достаточно определить для всех

s е S* и a е E.

Предложение 1. [10, Теорема 2.3.5]. Пусть (S*, M(E, I), ■) — пунктированный полигон над моноидом трасс. Положим

Tran = {(s, a, s')|s е S, s' е S, s ■ a = s'}.

Тогда четверка (S, E, I, Tran) будет пространством состояний. И наоборот, всякому пространству состояний (S,E,I,Tran) будет соответствовать пунктированный полигон (S*, M(E, I), ■) с действием s ■ a, определенным для всех s е S* и e е E по формуле

!s', если существует такой s' е S, что (s, a, s') е Tran; * , в других случаях.

Гомоморфизмы пространств состояний. Гомоморфизмом пространств состояний называется морфизм соответствующих полигонов. Он задается с помощью гомоморфизма f: M (E,I) ^ M (E' ,I') иотображения а: S* ^ S*, таких, что а(*) = * и a(s^ß) = a(s)f (ß) для всех ß е M(E, I) и s е S*.

Асинхронной системой A = (S, s0, E, I,Tran) называется пространство состояний (S, E, I, Tran) с выделенным элементом s0 е S, который называется начальным состоянием.

Предложение 1 показывает, что асинхронную систему можно рассматривать как пунктированный полигон (S*,M(E,I), ■) вместе с выделенным элементом s0 е S. Мы будем называть этот элемент начальным состоянием. Ниже мы будем обозначать переходы (s, a, s') е Tran через s А s'.

Гомоморфизмом асинхронных систем называется гомоморфизм пространств состояний, переводящий начальное состояние в начальное.

2. Асинхронная система с функцией времени

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

[11]. Мы будем использовать эту идею для вычисления времени выполнения. Пусть А — асинхронная система. Мы будем интерпретировать события а е Е как выполняющиеся во времени машинные команды, инструкции. Обозначим через N множество неотрицательных целых чисел. Пусть — множество положительных целых чисел. Пусть для каждой инструкции задано время выполнения в тактах т(а) е Наша задача — найти

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

Параллельная форма. Мы рассмотрим сначала случай, когда т(а) = 1 для всех а е Е. Параллельным выполнением трассы ^ = а1 ■ ■ ■ ап е М(Е, I) называется ее разложение в произведение блоков [В1] ■ ■ ■ [Вп], где каждый блок состоит из попарно независимых инструкций. Инструкции каждого блока будут выполняться одновременно. Поскольку время выполнения каждой инструкции а Е равно 1, то временем этого параллельного выполнения будет число блоков данного разложения. Рассматривая различные разложения, мы получим различные времена выполнения. Из этих соображений определим минимальное время выполнения трассы ^ е М (ЕД) как наименьшее число блоков разложения этой трассы.

Определение 2. Для [и] е М(Е, I) разложением Фоаты называется произведение классов [и] = [т1][т2] ■ ■ ■ [ип], в котором:

1) для каждого г = 1, ..., п слово и состоит из попарно независимых, и, стало быть, различных букв а Е;

2) для каждого г = 2, ..., п и для всякой буквы а из и существует такая буква Ь из что (а, Ь) е I.

Пусть Е — линейно упорядоченное множество. В этом случае в каждом ярусе разложения Фоаты можно переставить буквы так, чтобы они располагались в возрастающем порядке. Получим нормальную форму в смысле определения 2. Она называется нормальной формой Фоаты, ее единственность мы установим ниже (следствие 1).

Например, для класса [аЬЬа] в порожденном двумя элементами {а, Ь} моноиде трасс нормальная форма Фоаты будет равна аЬаЬ.

Предложение 2. [6]. Для любого [и] е М(Е, I) существует единственная последовательность слов и1,..., ип, каждое из которых состоит из попарно независимых букв, таких, что [и] = [и1] ■ ■ ■ [ип\ будет разложением Фоаты.

< Докажем с помощью индукции по длине слова и. Пусть и = и'а. Тогда длина слова и' меньше длины слова и. Стало быть, существует разложение [и] = [и1] ■ ■ ■ [ип][а]. Возможны следующие случаи.

1. Буква а зависима с некоторой буквой Ь из слова ип, в этом случае это разложение будет разложением Фоаты.

2. Буква а независима со всеми буквами слова ип, в этом случае сравниваем а со всеми буквами из слов ип-1, ип-2, ■ ■ ■, пока не встретим к, при котором имеет букву, зависимую

с буквой а. В этом случае разложение Фоаты будет равно

[тг] • • • [тк]К+1а][^+2] • • • [тп].

3. Если а независима со всеми буквами из слов т1, . .., тп, то разложение Фоаты равно

[тга][ш2] • • • [тП].

Слова т2, .. ., тп, будут единственными с точностью до перестановок. Если потребовать, чтобы буквы слов т1 . .., тп были расположены в порядке возрастания, то слово т1 • • • тп будет единственным. ►

Следствие 1. Пусть множество Е линейно упорядочено. Тогда для всякого класса [т] € М(Е, I) его нормальная форма Фоаты т1 • • • тп Е [т] является единственной. Для любой трассы ее разложение Фоаты имеет наименьшее число ярусов. Следствие 2. Пусть [т] = [тг] • • • [тп] — разложение в произведение трасс, каждая из которых тг состоит из попарно независимых букв. Тогда п не меньше, чем число ярусов разложения Фоаты элемента [т].

^ Доказательство вытекает из построения разложения Фоаты. Если некоторая буква из тг не зависима со всеми буквами из тг-1, то при построении разложения Фоаты она перейдет в один из блоков Wj, где ] < I. Количество блоков от этого перемещения не увеличится. Поэтому число ярусов в разложении Фоаты не меньше, чем п. ►

Предложение 3. [7]. Если время выполнения каждого события равно 1, то минимальное время выполнения трассы равно высоте ее нормальной формы Фоаты.

Приведение трассы к нормальной форме Фоаты аналогично построению канонической ярусно-параллельной нормальной формы [11, 12].

Построение математической модели для расчета времени. Рассмотрим теперь общий случай. Пусть задана асинхронная система А с функцией времени, принимающей произвольные значения т(а) Е

Попытаемся разложить переход 5 А в' в композицию переходов, имеющих зависимые инструкции е1, е2, . .., ек, где к = т(а). Каждая из инструкций ег выполняется за один такт. Для того, чтобы это разложение стало возможным, добавим к множеству Б «промежуточные» состояния и обозначим их через ве1, ве1е2, ве1в2вз, . .., ве1е2 • • • ек-1. Положим ве1е2 • • • ек = в', где к = т(а). Получим разложение перехода в -А в' в композицию

е1 в2 ек / 1 ^ • ^ 7 1 тт

в — в1 — в2 — • • • — вк-1 в', где вг = ва1 • • • аг для всех 1 < г < к — 1. Для расчета времени достаточно взять разложение перехода, в котором инструкции ег равны между собой. Их общее значение будет соответствовать элементу а, и мы его обозначим через а. Будет иметь место ег = а для всех 1 < г < т(а) — 1.

Если переходы в -— в' -— в'' имеют независимые инструкции, то а и Ь могут выполняться одновременно. Это приводит к необходимости ввести новые промежуточные состояния вагЬ, где 1 < г < т(а) — 1, 1 < ] < т(Ь) — 1.

Определим новую асинхронную систему Ат следующим образом. Введем на Е некоторое произвольное отношение линейного порядка. Положим Ет = {а | а е Е}. (Между элементами множеств Ет и Е существует биекция а ^ а.) Отношение независимости ^ будет состоять из пар (а, Ь), для которых (а, Ь) е I. Введем множество состояний

Бт = {(в, а?а22 ■ ■ ■ ат) | в е Б & в ■ а1 ■ ■ ■ ат е Б & а1 < а2 < ■ ■ ■ < ат & (а{, а^) е I для всех 1 < г < ] < т & 1 < г1 < т(а1), 1 < г2 < т(а2),..., 1 < гт < т(ат)}.

Мы будем рассматривать также состояния, у которых имеет место гд = 0 или гд = т(ад) для некоторого q е {1, 2,..., т}. Они будут отождествляться с некоторыми состояниями из Бт, определенными по формулам

а1 а2 ■ ■ ■ адг_1 а ад+1 ■ ■ ■ ат ) = (в а1 а2 ■ ■ ■ ад—1 ад__-1 ■ ■ ■ ат ), (в а11 а22 ■ ■ ■ ад_1 ат ( ') ад+1 ■ ■ ■ ат ) = (в ■ ая, а1 а2 ■ ■ ■ ад_1 ад+1 ■ ■ ■ ат ).

Определим частичное действие моноида М(Ет, Iт) на Бт. С этой целью для элемента а е Ет и состояния а = (в, аг11 ■ ■ ■ агт) е Бт положим

а ■ а — (в, а1 а^^ ■ ■ ■ а^^_1 а^ ад__1 ■ ■ ■ агт ),

если а = ая для некоторого q е {1, ■ ■ ■ , т}. Если же (а, а^ е I для всех г е {1, 2, ■ ■ ■, т}, то вставим элемент а в последовательность так, чтобы были верны неравенства а1 < ■ ■ ■ < < ад-1 < а < ая < ■ ■ ■ < ат, и положим а ■ а = (в, аг11 а22 ■ ■ ■ а— аа^ ■ ■ ■ агт).

Во всех остальных случаях полагаем а ■ а = *. В этих случаях действие не определено. Пусть А — асинхронная система с функцией времени т : Е ^ Минимальным

временем выполнения трассы ^ = а1 ■ ■ ■ ап е М(Е, I), такой, что в ■ ^ = в', для некоторых

/ _ а «т («1) «т (ап)

в, в' е Б называется минимальное время выполнения трассы а^ ■ ■ ■ ап асинхронной системы Ат. Из предложения 3 получаем

Предложение 4. Минимальное время выполнения трассы а1 ■ ■ ■ ап, для которой существуют такие в, в' е Б, что в ■ а1 ■ ■ ■ ап = в', равно высоте нормальной формы Фоаты

ит («1)^ т («2) «т (ап)

трассы а1 1 а2 2 ■ ■ ■ ап п .

Вычисление времени с помощью разложения в композицию попарно независимых операций. Две трассы V е М(Е, I) называются независимыми, если для любых букв а из ^ и Ь из V верно (а, Ь) е I .В противном случае они зависимы. Будем называть трассы ^, V тотально зависимыми, если для каждой буквы а из ^ и для каждой буквы Ь из V имеет место (а, Ь) е I.

Обобщим предложение 4 следующим образом. Вместо отображения а ^ аТ(а) будем рассматривать отображение £, сопоставляющее каждому а е Е некоторую трассу ^(а) =

= а1 ■ ■ ■ ат (а).

Докажем сначала вспомогательную лемму. Пусть М (ЕД) и М (Е', I') — моноиды трасс. Будем называть слова а1 ■ ■ ■ ап е Е* и а1 ■ ■ ■ а'п е Е'* подобными, если для всех 1 < г < ] < п имеет место

(аг,ау) е I ^ (а[,а^) е I'.

Лемма 1. Пусть М(Е, I) и М(Е', I') - моноиды трасс. Если слова а1 • • • ап Е Е* и а[ • • • а'п Е Е'* подобны, то их высоты нормальных форм трасс [а1 • • • ап] и [а[ • • • аравны.

Введем произвольное отношение линейного порядка на Е. Перестановка букв (аг, аг+1) слова а1 • • • ап возможна тогда и только тогда, когда возможна перестановка (а'г, а'г+1). Причем такие перестановки подобных слов будут приводить к подобным словам. Отсюда последовательность перестановок, приводящая трассу [а1 • • • ап] к нормальной форме [В1 ] • • • [Вт], приведет трассу [а[ • • • а'п] к произведению некоторых блоков В'1 • • • В'т, каждый из которых состоит из попарно независимых букв. Вводя отношение линейного порядка на Е' и производя сортировку букв внутри каждого блока Вг', получим нормальную форму трассы [а! • • • а'п]. Отсюда вытекает доказываемое утверждение. Трассы имеют равные высоты. Более того, длины блоков Вг и Вг будут равны для всех 1 < г < т. ►

Предложение 5. Пусть А — асинхронная система с функцией времени т: Е — Для произвольного гомоморфизма £: М(Е,1) — М(Е',1'), переводящего независимые трассы в независимые, а тотально зависимые — в тотально зависимые, такие, что для каждого а Е Е длина трассы £(а) равна т(а), время выполнения каждой трассы [а1 • • • ап] будет равно высоте нормальной формы трассы [^(а1) • • • £(ап)].

В этом случае слово ^(а1) • • • £(ап) будет подобно слову а1(а1) • • • ап(ап). Из леммы 1 вытекает, что высоты соответствующих трасс равны. С помощью предложения 4 получаем желаемое. ►

Гомоморфизмы, сохраняющие минимальное время. Пусть (А,т) и (А',т') —

асинхронные системы с функциями времени. Для произвольной трассы ^ Е М(Е, I), допускающей состояния в1 ,в2 Е Б, такие, что в1 • ^ = в2, обозначим через 'д(^) ее минимальное время выполнения.

Определение 3. Гомоморфизм асинхронных систем (¡, а) : А — А' называется сохраняющим минимальное время, если для произвольной трассы ^ Е М(Е, I), допускающей состояния в1, в2 Е Б, такие, что в1 • ^ = в2, имеет место 'д(^) = (^)).

Теорема 1. Пусть (¡,а): А — А — гомоморфизм асинхронных систем, и пусть т и т' — временные функции на этих асинхронных системах. Предположим, что гомоморфизм обладает следующим свойствами.

1. Для каждого е Е Е трасса f (е) Е М(Е' Д') является произведением попарно зависимых элементов f (е) = е^ • • • е'п, где е^, .. ., е'п Е Е'. Причем для этих элементов имеет место равенство т(е) = т'(е[) + • • • + т'(е'п).

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

2. Для любой пары (а, Ь) Е I трассы f (а) и f (Ь) независимы.

3. Если а и Ь зависимы, то f (а) и f (Ь) тотально зависимы.

Тогда (f, а) сохраняет минимальное время.

^ Рассмотрим произвольную трассу ^ Е М(Е, I) и докажем, что минимальное время ее выполнения равно минимальному времени выполнения 'д'(f (^)) трассы f (^). Пусть ^ =

[е1 • • • ет]. Время '(р) равно высоте нормальной формы Фоаты для трассы еЦ • • • ет? . Согласно предложению 5, время будет равно высоте нормальной формы трассы

£ (е1) ••• £(ет), для произвольной функции £, сопоставляющей каждой букве класс произведения т(е) попарно зависимых букв и переводящей независимые буквы в независимые трассы, а зависимые буквы в тотально зависимые.

По предположению, для каждого е Е Е существует единственное слово е'х • • • е'п, такое, что f (е) = е1 • • • е'п. Это позволяет нам определить функцию £: Е — М(Е'Т,, Гт,) по формуле

£(е)= <Г (е1,-еГ

Трасса £(е) состоит из т'(е'1) + • • • т'(е'п) = т(е) попарно зависимых букв, и функция £ удовлетворяет условиям предложения 5, откуда минимальное время выполнения трассы ^ будет равно высоте нормальной формы Фоаты трассы £(е1) • • • £(ет).

Поскольку £(е) получается из f (е) = е]1 • • • е'п с помощью замены букв е'г элементами

^ Т>(е!,

е'г г , то £(е1) • • • £(ет) получается из f (^) = f (е-\) • • • f (ет) заменой букв е'г элементами

V г'(е'-,

е'г г . Отсюда следует, что минимальной время работы трассы f равно высоте нормальной формы Фоаты трассы £(е-\) • • • £(ет). Следовательно, 'д(^) = (^)). ►

3. Вычисление минимального времени выполнения

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

Определение 4. Псевдо-конвейером называется цикл, состоящий из конечной последовательности действий а1 а2 • • • ап, в которой события аг и аг+1 зависимы для всех 1 < г < < п — 1, а все остальные события независимы. Этот цикл выполняется некоторое конечное число раз.

Псевдо-конвейер можно представить с помощью трассы (а1а2 • • • ап)т, для некоторого т > 1. Например, этому определению удовлетворяет конечная последовательность, состоящая из п неделимых операций присваивания хг = fi(xi-1), 1 < г < п, составляющих цикл, выполняющийся т раз.

Алгоритм нахождения минимального времени. Согласно приведенным выше утверждениям, для нахождения минимального времени выполнения трассы а1 • • • ап, нужно выписать трассу

ат(а1)ат(а2) ат(а„,

а1 а2 • • • а'

и затем построить ее нормальную форму Фоаты. Количество блоков этой нормальной формы будет равно искомому минимальному времени.

Мы будем рассматривать процессы, заданные как последовательности срабатываний переходов сети Петри. Напомним терминологию.

Сеть Петри определяется как пятерка (P,T, pre,post, M0), состоящая из конечных множеств P и T, функций M0 : P д N, pre: T д NP, post: T д NP. Здесь NP обозначает множество всех функций P д N. Элементы p G P называются местами, t G T — переходами, M G NP — маркировками, а M0 — начальной маркировкой. Определим отношение порядка на NP, полагая M < Mf, если для всех p G P верно M (p) < Mf (p). Сумму и разность функций определим как (M ± Mf )(p) = M(p) ± Mf (p). Для M, Mf G NP и t G T запись M Д M' будет означать, что выполнены следующие два условия:

1) M > pre(t);

2) Mf = M - pre(t) + post(t).

В этом случае, мы будем говорить, что маркировка Mf получена из M с помощью срабатывания перехода t.

Пусть (P, T, pre, post, M0) — сеть Петри. Обозначим • t = {p G P : pre(t)(p) = 0}, f = {p g P : post(t)(p) = 0}.

Определим отношение

I = {(ti, t2) G T x T :( • ti U ti•) П ( • t2 U t2•) = 0}.

Легко видеть, что I будет отношением независимости на множестве T. Пусть NP — множество всех маркировок, а Tran состоит из троек (M1 ,t, M2), для которых M Д Mf. Тогда пятерка (NP, M0, T, I, Tran) будет асинхронной системой.

Предположим, что каждому переходу a T сопоставлено положительное целое число т (a) — время выполнения перехода. Покажем, как находить минимальное время выполнения трассы, состоящей из переходов, связывающих маркировки.

Пример 1. Рассмотрим псевдо-конвейер, состоящий из трех операций, применяемых к очереди, содержащей m элементов (рис. 2). Каждая из операций считается неделимой. Она рис.2 читает данные из области памяти, соответствующей входному месту, вычисляет значение некоторой функции и записывает в область памяти выходного места. Таким образом, соседние операции зависимы.

Рис. 2. Сеть Петри псевдо-конвейера

Трасса выполнения процесса будет равна £ = [(а1 а2а3)т]. Пусть т(а1) = 2, т(а2) = 1, т(а3) = 2. Тогда временная трасса, соответствующая трассе [(а1 а2а3)т] будет равна [(а2а2а2)т]. После приведения к нормальной форме Фоаты получаем [(а\а2а3)т] = = [а1 ][а1 КЫ^аз][а1 аз])т-1 [а2][аз][аз]. Отсюда$(г) = 1 + 1 + 3(т- 1) + 1 + 1 + 1 = 3т + 2. Если выполнять действия последовательно, то время выполнения будет равно 5т.

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

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

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

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

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

Эксперимент для псевдо-конвейера. Рассмотрим сеть Петри псевдо-конвейера, изображенного на рис. 3.

3 2 4

Рис. 3. Пример псевдо-конвейера

Пусть т(ai) = 3, т (a2) = 2, т(a3) = 4. Используя алгоритм расчета минимального времени выполнения трассы, описанный выше, получим

[(a3 a\a^)m ] = [ai ][ai ][ai ]([a2 }[a2 ][ai a3 ][ai as ][ai as }[as ])m-1 [a2 ][a2 ][a3 ][a3 }[a3 ][a3 ].

Отсюда tf(t) = 3 + 6(m - 1)+ 2 + 4 = 6m + 3. При m = 4 имеем tf(t) = 27.

Теперь рассчитаем время выполнения трассы экспериментальным путем.

После запуска программы в главном потоке создается три нити — по одной на каждую операцию. Для синхронизации работы потоков создается три события. Начальное состояние событий — сигнальное. Первый поток ai ожидает установки события event2. Поскольку все события установлены, поток ai начинает выполнять операцию, при этом меняя состояние события eventi на невыделенное. По окончанию работы поток ai освобождает event2 и устанавливает eventi. Поток a2 постоянно находится в ожидании событий eventi и event3. Они сигнализируют ему о том, что потоки ai и a3 завершили свою работу. Дождавшись сигнала eventi и event3 поток a2 осуществляет задержку, освобождает эти события и меняет состояние event2 на сигнальное. Сигнал event2 позволяет ai и a3 приступить к работе. Поток ai заканчивает свою работу через время т (ai) = 3, и снова освобождает event2 и

рис.3

устанавливает eventi. При этом поток а3 работает на 1 секунду дольше и по завершению освобождает event2 и устанавливает event3. Далее управление переходит к потоку а2. Передача управления между потоками продолжается до тех пор, пока количество элементов m > 0. По окончанию работы программы мы получаем минимальное время выполнения трассы, которое совпадает с теоретическими расчетами.

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

0 50 100 150

Рис. 4. Зависимость времени обработки т элементов очереди

Более общие структуры. В случае изменения структуры конвейерной обработки, работа программы осуществляется аналогичным образом. Это можно применить, например, к волновым системам [13]. Для иллюстрации этого утверждения рассмотрим сеть, представленную на рис. 5.

3

Рис. 5. Пример обработки конвейерного типа

Выполнив построение нормальной формы Фоаты, получим выражение для нахождения минимального времени выполнения:

[(&? а3 4 )т] = [а! а2][а! а2 ][а2 ]([а3][а1 а2 ][ах а2][а2])ш-1 [а3 ]. Отсюда ад = 3 + 4(т - 1) + 1 = 4т. При т = 3, ад = 12.

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

рис.4

рис.5

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

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

Данный вопрос требует дополнительных исследований, поэтому проведенный эксперимент можно считать условно успешным.

Заключение

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

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

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

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

1. Bednarczyk M. Categories of Asynchronous Systems. Brighton: University of Sussex, 1987.

230 p.

2. Winskel G., Nielsen M. Models for Concurrency // Handbook of Logic in Computer Science.

Vol.4. Semantic Modelling / Abramsky S., Gabbay D.M., Maibaum T.S.E. (eds.). Oxford

University Press, 1995. P. 1-148.

3. Bednarczyk M.A., Bernardinello L., Caillaud B., Pawlowski W., Pomello L. Modular System

Development with Pullbacks // Applications and Theory of Petri Nets 2003. Berlin: Springer-

Verlag, 2003. P. 140-160. DOI: 10.1007/3-540-44919-1_12 (Ser. Lecture Notes in Computer Science; vol. 2679).

4. Husainov A. On the homology of small categories and asynchronous transition systems // Homology, Homotopy and Applications. 2004. Vol.6, no. 1. P. 439-471. Available at: http://projecteuclid.org/euclid.hha/1139839561 (accessed 01.12.2013).

5. Хусаинов A.A., Кудряшова Е.С. Модель для временных оценок параллельных вычислительных систем // Информационные технологии XXI века: материалы международной научной конференции (Хабаровск, 20-24 мая 2013 г.). Хабаровск: Изд-во Тихоокеан. гос. ун-та, 2013. С. 203-207.

6. Cartier P., Foata D. Problemes combinatories de commutation et rearrangements. Berlin: Springer-Verlag, 1969. 88 p. (Ser. Lecture Notes in Math.; vol. 85).

7. Diekert V. Combinatorics on Traces. Berlin: Springer-Verlag, 1990. 169 p. DOI: 10.1007/3540-53031-2 (Ser. Lecture Notes in Computer Science; vol. 454).

8. Diekert V., Metivier Y. Partial Commutation and Traces // Handbook of Formal Languages. Vol. 3. Beyond Words. New York: Springer-Verlag, 1997. P. 457-533. DOI: 10.1007/978-3-642-59126-6_8.

9. Mazurkiewicz A. Trace theory // Petri Nets: Applications and Relationships to Other Models of Concurrency. Berlin: Springer-Verlag, 1987. P. 278-324. DOI: 10.1007/3-540-17906-2_30 (Ser. Lecture Notes in Computer Science; vol. 255).

10. Хусаинов A. Исследование параллельных систем методами теории категорий. Саар-брюкен: LAP LAMBERT Academic Publishing, 2012. 152 c.

11. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. Санкт-Петербург: БХВ-Петербург, 2002. 602 с.

12. Карпов В.Е. Введение в распараллеливание алгоритмов и программ // Компьютерные исследования и моделирование. 2010. Т. 2, №3. С. 231-272. Режим доступа: http:// crm.ics.org.ru/journal/article/1725/ (дата обращения 01.12.2013).

13. Трещев И.А. Методы построения систем автоматизированного распараллеливания приложений для архитектур с симметрично-адресуемой памятью // Ученые записки Комсомольского-на-Амуре государственного технического университета. Сер. «Науки о природе и технике». 2011. Т. 5, №I-1. С. 29-32. Режим доступа: http://www.uzknastu.ru/ files/pdf/I-1(5)2011/29-32.pdf (дата обращения 01.12.2013).

14. Герценбергер К.В., Чепин Е.В. Аналитическая модель оценки производительности многопроцессорной обработки данных для набора параллельных алгоритмических структур // Бизнес-информатика. 2011. №4. С. 24-30. Режим доступа: http://bijournal. hse.ru/2011-4%20(18)/44322998.html (дата обращения 01.12.2013).

15. Goubault E. Durations for truly-concurrent transitions // Programming Languages and Systems — ESOP '96. Berlin: Springer-Verlag, 1996. P. 173-187. DOI: 10.1007/3-540-61055-3_36 (Ser. Lecture Notes in Computer Science; vol. 1058).

SCIENTIFIC PERIODICAL OF THE BAUMAN MSTU

SCIENCE and EDUCATION

EL № FS77 - 48211. №0421200025. ISSN 1994-0408

electronic scientific and technical journal

Timed estimates and homomorphisms of asynchronous systems

# 01, January 2014

DOI: 10.7463/0114.0695993

Kudryashova E. S., Husainov A. A.

Bauman Moscow State Technical University 105005, Moscow, Russian Federation ekatt@inbox.ru husainov51@yandex.ru

We study asynchronous systems used for mathematical modeling of the parallel computer system. It is considered as a set with partially trace monoid action. This allowed us to introduce homomorphisms of asynchronous systems as corresponding polygonal morphisms. Asynchronous systems with time function are studied using these homomorphisms. An algorithm for computing the minimal execution time of parallel processes in asynchronous systems is constructed. The conditions of homomorphisms of asynchronous systems minimal execution time keeping are found. The algorithm is used for compute of execution time of parallel processes, which consists of Petri net transitions. There are examples of computing minimal execution time for pseudo-pipeline and wave system. An experiment realized with multithreaded application that is built on a given Petri net is described. The experiment confirms the method of estimating the minimum execution time of the parallel process.

Publications with keywords: commutative monoid, trace monoid, asynchronous transition system, timed systems

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Publications with words: commutative monoid, trace monoid, asynchronous transition system, timed systems

References

1. Bednarczyk M. Categories of Asynchronous Systems. Brighton, University of Sussex, 1987. 230 p.

2. Winskel G., Nielsen M. Models for Concurrency. In: Abramsky S., Gabbay D.M., Maibaum T.S.E. (eds.). Handbook of Logic in Computer Science. Vol.4. Semantic Modelling. Oxford University Press, 1995, pp. 1-148.

3. Bednarczyk M.A., Bernardinello L., Caillaud B., Pawlowski W., Pomello L. Modular System Development with Pullbacks. In: Applications and Theory of Petri Nets 2003. Berlin, SpringerVerlag, 2003, pp. 140-160. DOI: 10.1007/3-540-44919-1_12 (Ser. Lecture Notes in Computer Science; vol. 2679).

4. Husainov A. On the homology of small categories and asynchronous transition systems. Homology, Homotopy and Applications, 2004, vol.6, no. 1, pp. 439-471. Available at: http://projecteuclid.org/euclid.hha/1139839561, accessed 01.12.2013.

5. Khusainov A.A., Kudryashova E.S. Model' dlya vremennykh otsenok parallel'nykh vychis-litel'nykh sistem [Model for time estimate of parallel computing systems]. Informatsionnye tekhnologii 21 veka: materialy mezhdunarodnoy nauchnoy konferentsii [Information Technologies of 21 Century: Proceedings of the International Scientific Conference], Khabarovsk, 20-24 May 2013. Khabarovsk, Pacific National University Publ., 2013, pp. 203-207.

6. Cartier P., Foata D. Problemes combinatories de commutation et rearrangements. Berlin, Springer-Verlag, 1969. 88 p. (Ser. Lecture Notes in Math.; vol. 85).

7. Diekert V. Combinatorics on Traces. Berlin, Springer-Verlag, 1990. 169 p. DOI: 10.1007/3540-53031-2 (Ser. Lecture Notes in Computer Science; vol. 454).

8. Diekert V., Metivier Y. Partial Commutation and Traces. In: Handbook of Formal Languages. Vol. 3. Beyond Words. New York, Springer-Verlag, 1997, pp. 457-533. DOI: 10.1007/978-3-642-59126-6_8.

9. Mazurkiewicz A. Trace theory. In: Petri Nets: Applications and Relationships to Other Models of Concurrency. Berlin, Springer-Verlag, 1987, pp. 278-324. DOI: 10.1007/3-540-17906-2_30 (Ser. Lecture Notes in Computer Science; vol. 255).

10. Khusainov A. Issledovanie parallel'nykh sistem metodami teorii kategoriy [Parallel systems using the theory of categories analysis]. LAP LAMBERT Academic Publishing, Saarbruken, 2012. 152 p. (in Russian)

11. Voevodin V.V., Voevodin Vl.V. Parallel'nye vychisleniya [Concurrent calculatios]. St. Petersburg, BHV-Petersburg, 2002. 602 p.

12. Karpov V.E. Vvedenie v rasparallelivanie algoritmov i programm [Introduction to the parallelization of algorithms and programs]. Komp'yuternye issledovaniya i modelirovanie [Computer Research and Modeling], 2010, vol. 2, no. 3, pp. 231-272. Available at: http://crm. ics.org.ru/journal/article/1725/, accessed 01.12.2013.

13. Treshchev I.A. Metody postroeniya sistem avtomatizirovannogo rasparallelivaniya prilozheniy dlya arkhitektur s simmetrichno-adresuemoy pamyat'yu [Methods for building systems of automated parallelization programming for architectures with symmetrically-addressable memory]. Uchenye zapiski Komsomol'skogo-na-Amure gosudarstvennogo tekhnicheskogo universiteta. Ser. "Nauki o prirode i tekhnike" [Scholarly Notes of Komsomolsk-na-Amure

State Technical University. Ser. "Engineering and Natural Sciences"], 2011, vol.5, no.I-1, pp. 29-32. Available at: http://www.uzknastu.ru/files/pdf/I-1(5)2011/29-32.pdf, accessed 01.12.2013.

14. Gertsenberger K.V., Chepin E.V. Analiticheskaya model' otsenki proizvoditel'nosti mnogo-protsessornoy obrabotki dannykh dlya nabora parallel'nykh algoritmicheskikh struktur [Analytical model for evaluating performance multiprocessing for a set of parallel algorithmic structure]. Biznes-informatika [Business Informatics], 2011, no. 4, pp. 24-30. Available at: http://bijournal.hse.ru/2011-4%20(18)/44322998.html, accessed 01.12.2013.

15. Goubault E. Durations for truly-concurrent transitions. In: Programming Languages and Systems — ESOP '96. Berlin, Springer-Verlag, 1996, pp. 173-187. DOI: 10.1007/3-540-61055-3_36 (Ser. Lecture Notes in Computer Science; vol. 1058).

i Надоели баннеры? Вы всегда можете отключить рекламу.