stringtranslate.com

Моноид истории

В математике и информатике моноид истории — это способ представления истории одновременно выполняемых компьютерных процессов в виде набора строк , каждая строка представляет индивидуальную историю процесса. Моноид истории предоставляет набор примитивов синхронизации (таких как блокировки , мьютексы или объединения потоков ) для обеспечения точек встречи между набором независимо выполняющихся процессов или потоков .

Моноиды истории встречаются в теории параллельных вычислений и обеспечивают низкоуровневую математическую основу для исчислений процессов , таких как CSP (язык взаимодействия последовательных процессов ) или CCS ( исчисление взаимодействующих систем ). Моноиды истории были впервые представлены М.В. Шилдсом. [1]

Моноиды истории изоморфны моноидам трассировки ( свободным частично коммутативным моноидам) и моноиду графов зависимостей . По существу, они являются свободными объектами и универсальны . Моноид истории — это тип полуабелева категориального произведения в категории моноидов.

Моноиды продукта и проекция

Позволять

обозначают n -кортеж (не обязательно попарно непересекающихся) алфавитов . Обозначим все возможные комбинации одной строки конечной длины из каждого алфавита:

(На более формальном языке — это декартово произведение свободных моноидов . Надстрочная звезда — это звезда Клини .) Состав в моноиде произведения является покомпонентным, так что для

и

затем

для всех в . Определите алфавит объединения как

(Объединение здесь — это объединение множеств , а не непересекающееся объединение .) Учитывая любую строку , мы можем выбрать только буквы в некоторых из них, используя соответствующую проекцию строки . Распределение это отображение, которое действует со всеми , разделяя их на компоненты в каждом свободном моноиде:

Истории

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

где

Здесь обозначает пустую строку . Моноид истории — это субмоноид моноида произведения , порожденного элементарными историями: (где надстрочная звезда — это звезда Клини, примененная с покомпонентным определением состава, как указано выше). Элементы глобальной истории называются глобальными историями , а проекции глобальной истории — индивидуальными историями .

Связь с информатикой

Использование слова « история» в этом контексте и его связь с параллельными вычислениями можно понимать следующим образом. Индивидуальная история — это запись последовательности состояний процесса (или потока , или машины ); алфавит — это набор состояний процесса.

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

Рассмотрим, например, и . Союзный алфавит, конечно . Элементарные истории — это , , , и . В этом примере отдельная история первого процесса может иметь вид, а отдельная история второй машины — . Обе эти отдельные истории представлены глобальной историей , поскольку проекция этой строки на отдельные алфавиты дает индивидуальные истории. В глобальной истории буквы и можно рассматривать как коммутирующие с буквами и , поскольку их можно переставлять без изменения отдельных историй. Такая коммутация — это просто утверждение, что первый и второй процессы выполняются одновременно и неупорядочены друг относительно друга; они (пока) не обменивались сообщениями и не выполняли синхронизацию.

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

Характеристики

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

Проще говоря, это всего лишь формальная формулировка неформального обсуждения, приведенного выше: буквы алфавита могут быть коммутативно переупорядочены после букв алфавита , если только они не являются буквами, встречающимися в обоих алфавитах. Таким образом, следы – это именно глобальные истории, и наоборот.

И наоборот, учитывая любой моноид следа , можно построить изоморфный моноид истории, взяв последовательность алфавитов , где пробегает все пары в .

Примечания

  1. ^ М.В. Шилдс «Параллельные машины», Computer Journal , (1985) 28 стр. 449–465.

Рекомендации