Распределенная машина Тьюринга?


10

Я магистр, специализирующийся на распределенных системах, но также интересующийся теоретической информатикой. Мне было интересно, есть ли формальное представление распределенной системы поверх машины Тьюринга? То есть возможно ли расширить (сделать вариант) концепцию машины Тьюринга, чтобы использовать преимущества распределенных вычислений?

Одна идея состоит в том, чтобы сделать общую ленту (что-то похожее на Tuple Space ) между TM.



3
вопрос, на который ссылается Юкка, может ответить не совсем на ваш вопрос. Если это так, может быть, вы можете закрыть этот, а если нет, может быть, вы можете уточнить, что отличается?
Суреш Венкат

@Suresh Venkat, я думаю, что вопрос, связанный с Юккой, определенно относится к теме, но задайте более крупный вопрос: «почему не существует стандартной / приемлемой модели для распределенных вычислений?». Мой вопрос определенно связан с этим вопросом, но я был заинтересован в том, чтобы найти какое-либо формальное представление о распределенных вычислениях.
Маркос Рорис Младший

Хорошо. это звучит разумно.
Суреш Венкат

2
Кстати, ваш подход с «общей лентой» звучит больше как модель параллельных вычислений, а не распределенных вычислений. Поэтому может также иметь смысл взглянуть на модели, используемые в области параллельных вычислений (например, модель PRAM).
Юкка Суомела

Ответы:


10

Есть ли формальное представление распределенной системы поверх машины Тьюринга?

В связи с этим обсуждение (см. Ссылку, размещенную Юккой в ​​комментариях) - это способ выглядеть. На мой взгляд, то, как вы будете формально представлять распределенную систему, во многом зависит от того, как вы их просматриваете, и это зависит от «ваших любимых системных предположений» (т. Е. Предположений о синхронности (т. Е. Относительной синхронизации действий в распределенной системе). система), при общении (передача сообщений или совместная память), при сбоях (процессов и / или связей, доброкачественных или византийских и т. д.). Поскольку сообщество не согласно по этому вопросу, также отсутствует согласие в отношении основного формализма ,

Можно ли расширить (сделать вариант) концепцию машины Тьюринга, чтобы использовать преимущества распределенных вычислений?

Я предполагаю, что это вполне возможно, но никто (о котором я знаю) не рассматривал это. Что я знаю о них:

  1. Timed IO Automata также используется в книге Lynch's Distributed Computing
  2. Связь последовательных процессов
  3. Временная логика действий
  4. Пи-исчисление (также уже упоминалось Алексом)
  5. И еще (были и будут упомянуты здесь) ...

Спасибо за объяснение. То, что вы высказали о разногласиях относительно того, какой должна быть модель (синхронизация, асинхронность и т. Д.), Определенно влияет на создание стандартизированной модели. Отличные ссылки, и спасибо за ответ :-).
Маркос Рорис Младший

6

Возможно, вы захотите заглянуть в Пи-исчисление.

http://en.wikipedia.org/wiki/%CE%A0-calculus

Это обработанное исчисление, основанное на рассуждениях о распределенных системах.


Действительно интересная модель :-). Я собираюсь прочитать это в эти выходные.
Маркос Рорис Младший

5

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


Сети Петри являются важным формализмом в параллелизме, но поскольку их мотивация исходит из попытки смоделировать определенный физический процесс, они на самом деле не сопоставимы с ТМ.
Чарльз Стюарт

Только сам Петри настаивал на применении их к физическим системам. Они в основном используются для описания коммуникационного программного обеспечения, бизнес-процессов и так далее.
reinierpost

5

( Предупреждение: несколько предвзятые взгляды, упрощения и вопиющие обобщения впереди. )

Часто разницу между распределенными вычислениями и параллельными вычислениями можно суммировать следующим образом:

  • В распределенных вычислениях основные меры сложности связаны с коммуникацией и информационными потоками : сколько раундов связи («время»); сколько бит передано.
  • В параллельных вычислениях основные меры сложности связаны с вычислениями и обработкой информации : сколько элементарных шагов («время»); сколько бит хранится

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

O(n)

XX

TT

Следовательно, использование машин Тьюринга в качестве отправной точки для моделирования распределенных систем звучит для меня немного неестественно: если это не имеет значения, зачем строить все на нем? С другой стороны, при параллельных вычислениях это было бы естественно (за исключением того, что модель обычно напоминает PRAM вместо машин Тьюринга).


3

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


1
Я думаю, что сравнение не очень уместно. Проще говоря, в контексте машин Тьюринга недетерминизм - это ресурс: он относится к способности машины одновременно следовать нескольким путям выполнения, следовательно, это по существу форма параллелизма. Вместо этого в контексте распределенных систем недетерминизм обычно является скорее помехой: он используется для моделирования различных непредсказуемых свойств реальных распределенных систем, таких как отсутствие синхронизации и сбои.
Антонио Валерио Мицели-Бароне
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.