Что означает «истинный параллелизм»?


28

Я часто слышу такие фразы, как «истинная семантика параллелизма» и «истинные эквивалентности параллелизма» без каких-либо ссылок. Что означают эти термины и почему они важны?

Каковы некоторые примеры истинных совпадений параллелизма и зачем они нужны? Например, в каких случаях они более применимы, чем более стандартные эквиваленты (бисимуляция, эквивалентность трасс и т. Д.)?

Ответы:


23

Термин «истинный параллелизм» возникает в теоретическом исследовании параллельных и параллельных вычислений. Это в отличие от чередования параллелизма. Истинный параллелизм - это параллелизм, который не может быть сведен к чередованию. Параллелизм чередуется, если на каждом этапе вычисления может иметь место только одно атомарное вычислительное действие (например, обмен сообщениями между отправителем и получателем). Параллельность верна, если за один шаг происходит более одного такого атомарного действия.

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

PPP|QP|Q

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

PPQQP|QP|Q

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

Зачем интересоваться чередованным параллелизмом, когда теория параллелизма действительно является изучением систем, которые выполняют шаги вычислений параллельно? Ответ заключается в том, что для простых форм параллелизма передачи сообщений истинный параллелизм и параллелизм на основе чередования не различаются по контексту. Другими словами, чередующийся параллелизм ведет себя как истинный параллелизм, насколько могут видеть наблюдатели. Чередование - это хорошее разложение истинного параллелизма. Поскольку перемежение легче обрабатывать в доказательствах, люди часто изучают только более простой параллелизм на основе перемежения (например, CCS иπ-calculi). Однако эта простота исчезает для параллельных вычислений с более богатыми формами наблюдения (например, вычисление по времени): разница между истинным параллелизмом и чередованным параллелизмом становится наблюдаемой.

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

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

Р

P=x¯ | y¯ | x.y.a¯ | y.b¯
Тогда мы получим следующую действительно параллельную редукцию: Этот шаг сокращения может соответствовать следующим чередующимся шагам: Единственное различие между ними состоит в том, что первый делает один шаг, а второй два. Но простые исчисления не могут определить количество шагов, используемых для достижения процесса. Р
Py.a¯ | b¯
Px¯ | x.y.a¯ | b¯y.a¯ | b¯

В то же время имеет следующую вторую чередующуюся последовательность сокращения: Но это также последовательность сокращения в истинно параллельном параметре, если истинный параллелизм не является принудительным (т.е. выполнение с чередованием разрешено, даже если существует возможность для более чем одного взаимодействия одновременно).ПP

Py¯ | y.a¯ | y.b¯a¯ | y.b¯

Спасибо, отличный ответ! Можете ли вы дать мне некоторые ссылки для дальнейшего чтения?
Даниил

@Daniil Боюсь, у меня нет хороших ссылок. Частично это фольклор, частично это было исследовано в первые дни теории параллелизма, прежде чем я начал. Если вам нравится делать математику, вы можете сами установить основные результаты. Возьмите простое исчисление процессов, например, асинхронное вычисление, снабдите его действительно параллельными сокращениями и покажите, что два процесса в новом исчислении приравниваются вашим любимым (слабым) понятием эквивалентности именно тогда, когда они равны в перемежающемся исчислении. π
Мартин Бергер

0

Честно говоря, я сам искал ответ. Какая семантика здесь? Мы присваиваем значение «система переходов» описанию «алгебра процессов»; то есть смысл - это система переходов, которая генерируется из исходного описания системы с использованием определенных правил SOS. Таким образом, используя семантику чередования, мы теряем всю параллельную структуру в полученной системе переходов.

Другим ответом может быть то, что это не «наблюдаемая разница», а разница в «наблюдаемости». Используя семантику чередования, мы можем наблюдать только линейные прогоны; в то же время, используя истинный параллелизм, мы можем наблюдать «параллельные прогоны» (см. книгу сетей Петри W.Reisig'13).

Тем не менее, у меня есть некоторые сомнения по поводу того, что я сказал выше, и было бы интересно услышать более глубокое понимание. То есть, используя векторные часы Лампорта, сколько теории относительности можно перевести в теорию параллелизма.


1
То, что переход от параллельной программы к переходной системе может быть осуществлен с потерями, было замечено на ранней стадии. Джон Рейнольдс сформулировал то, что сейчас известно как критерий Рейнольдса, для характеристики, когда перемежение семантики является точным для параллельных программ с общими переменными. Воган Пратт исследовал истинный параллелизм как модель P 1986 и вместе с Гордоном Плоткиным показал, когда наблюдается пристрастность порядка действий P & P, 1987 .
Кай

@ Кай, ссылки очень ценятся! Я запишу их на случай, если ссылки будут разорваны: Vaughan Pratt, Моделирование параллелизма с частичными заказами; Г. Плоткин, В. Пратт, Команды видят помсетов. > может быть сделано с потерями Конечно, я просто хотел очистить отдельные понятия в «синтаксическом описании / семантике / значении».
Леонид Дворжанский
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.