Термин «истинный параллелизм» возникает в теоретическом исследовании параллельных и параллельных вычислений. Это в отличие от чередования параллелизма. Истинный параллелизм - это параллелизм, который не может быть сведен к чередованию. Параллелизм чередуется, если на каждом этапе вычисления может иметь место только одно атомарное вычислительное действие (например, обмен сообщениями между отправителем и получателем). Параллельность верна, если за один шаг происходит более одного такого атомарного действия.
Самый простой способ различить оба - взглянуть на правило параллельной композиции. В параметрах чередования это будет выглядеть примерно так:
п→ P'п| Q→ P'| Q
Это правило гарантирует, что только один процесс в параллельной композиции может выполнять атомарное действие. Для истинного параллелизма было бы более подходящим правило, подобное следующему.
п→ P'Q → Q'п| Q→ P'| Q'
Это правило позволяет обоим участникам параллельной композиции выполнять атомарные действия.
Зачем интересоваться чередованным параллелизмом, когда теория параллелизма действительно является изучением систем, которые выполняют шаги вычислений параллельно? Ответ заключается в том, что для простых форм параллелизма передачи сообщений истинный параллелизм и параллелизм на основе чередования не различаются по контексту. Другими словами, чередующийся параллелизм ведет себя как истинный параллелизм, насколько могут видеть наблюдатели. Чередование - это хорошее разложение истинного параллелизма. Поскольку перемежение легче обрабатывать в доказательствах, люди часто изучают только более простой параллелизм на основе перемежения (например, CCS иπ-calculi). Однако эта простота исчезает для параллельных вычислений с более богатыми формами наблюдения (например, вычисление по времени): разница между истинным параллелизмом и чередованным параллелизмом становится наблюдаемой.
Стандартные эквивалентности, такие как бисимуляции и трассировки, имеют одинаковые определения для истинного и чередующегося параллелизма. Но они могут или не могут приравнивать различные процессы, в зависимости от базового исчисления.
Позвольте мне дать неофициальное объяснение того, почему чередование и действительно параллельное взаимодействие неразличимы в простых исчислениях процесса. Параметр является CCS или подобным исчислением. Скажем, у нас есть программаπ
Р
P=x¯¯¯ | y¯¯¯ | x.y.a¯¯¯ | y.b¯¯
Тогда мы получим следующую действительно параллельную редукцию:
Этот шаг сокращения может соответствовать следующим чередующимся шагам:
Единственное различие между ними состоит в том, что первый делает один шаг, а второй два. Но простые исчисления не могут определить количество шагов, используемых для достижения процесса.
РP→y.a¯¯¯ | b¯¯
P→→x¯¯¯ | x.y.a¯¯¯ | b¯¯y.a¯¯¯ | b¯¯
В то же время имеет следующую вторую чередующуюся последовательность сокращения:
Но это также последовательность сокращения в истинно параллельном параметре, если истинный параллелизм не является принудительным (т.е. выполнение с чередованием разрешено, даже если существует возможность для более чем одного взаимодействия одновременно).ПP
P→→y¯¯¯ | y.a¯¯¯ | y.b¯¯a¯¯¯ | y.b¯¯