分散チューリングマシン?


10

私は分散システムに焦点を当てた修士課程の学生ですが、理論的なコンピュータサイエンスにも興味があります。チューリングマシンの上に分散システムの正式な表現があるかどうか疑問に思っていましたか?つまり、チューリングマシンの概念を拡張(変形)して、分散コンピューティングを利用することは可能ですか?

1つのアイデアは、TM間で共有テープ(タプルスペースに似たもの)を作成することです。



3
Jukkaがリンクする質問は、完全にあなたの質問に答えないかもしれません。もしそうなら、おそらくこれを閉じることができ、そうでなければ、何が違うのかを明確にすることができますか?
Suresh Venkat

@Suresh Venkat、Jukkaがリンクした質問は間違いなくトピックに関するものだと思いますが、より大きな質問をします。私の質問は間違いなくその質問と関係がありますが、私は分散コンピューティングの正式な表現について知りたいと思っていまし
Marcos Roriz Junior、

OK。それは合理的に聞こえます。
Suresh Venkat

2
ちなみに、「共有テープ」アプローチは、分散コンピューティングではなく、並列コンピューティングのモデルのように聞こえます。したがって、並列計算の分野で使用されているモデル(PRAMモデルなど)を確認することも意味があります。
Jukka Suomela、2011

回答:


10

[ありますか]チューリングマシン上の分散システムの正式な表現ですか?

これに関しては、ディスカッション(コメントにJukkaが投稿したリンクを参照)が見方です。私が見る方法、分散システムを正式に表す方法は、それらをどのように表示するかに大きく依存し、それは「お気に入りのシステムの仮定」(つまり、同期に関する仮定(つまり、分散システムでのアクションの相対的なタイミング)に依存しますシステム)、通信(メッセージパッシングvs共有メモリ)、障害(プロセスやリンクの問題、良性またはビザンチンなど)について。コミュニティはこの点について同意していないため、基本的な形式についても同意していません。 。

[チューリングマシンの概念を拡張(変形)して分散コンピューティングを利用することは可能ですか?

それは完全に可能だと思いますが、誰も(私が知っている)それを調べたことはありません。私が知っているのはこれらです:

  1. Lynchの分散コンピューティングブックでも使用されているTimed IO Automata
  2. 順次プロセスの伝達
  3. アクションの時相論理
  4. Pi-Calculus(これもAlexによって既に言及されています)
  5. そして、もっと(ここで言及されてきました、そして今後も言及されます)...

ご説明ありがとうございます。モデルの不一致(同期、非同期など)について不一致について述べた点は、標準化されたモデルの作成に確実に影響を与えます。素晴らしいリンク、そして答えてくれてありがとう:-)
Marcos Roriz Junior


5

ペトリネットがまだ言及されていないことに驚いています!カラーペトリネット抑制弧持つペトリネットのようなペトリネットの拡張は、チューリング完全です。


ペトリネットは並行性において重要な形式ですが、その動機は特定の物理的プロセスをモデル化しようとすることから来るため、TMに実際には匹敵しません。
Charles Stewart

それらを物理システムに適用することを主張したのはペトリ自身だけでした。これらは主に、通信ソフトウェア、ビジネスプロセスなどを記述するために使用されます。
reinierpost 2012年

5

警告:やや偏った見解、過度の単純化、そして露骨な一般化が先にある。

多くの場合、分散コンピューティングと並列コンピューティングの違いは、次のように要約できます。

  • 分散コンピューティングは、一次複雑対策がに関連する通信および情報流入する:どのように多くの通信ラウンド(「時間」)。送信されたビット数。
  • 並列コンピューティングは、一次複雑対策がに関連する計算および情報処理:どのように多くの基本手順(「時間」)。保存されているビット数。

この見方をすると、分散システムをモデル化するために、ノード(またはプロセッサーやコンピューター)がどのような計算能力を持っているかは重要ではないことがよくあります。

通常、各ノードは単なるステートマシンであると簡単に想定できます(多くの場合、など、考えられる状態の数がかなり少ない場合はそれで十分です)。マシンは、受信したメッセージに基づいて状態を変更します。通常、マシンの状態がどのように変化するかにはそれほど関心がありません。チューリングマシンかもしれませんが、これはそれほど重要ではありません。O(n)

あなたは(合理的な)グラフの問題取る場合例えば、して解決する分散型の複雑勉強(例えば、通信ラウンド数がそれを解決するために必要な)、各ノードでのあなたのモデル計算の方法は、通常の答えには影響を与えません。最初にTuringマシンを使用してそれを分析し、次に任意の強力なオラクルを想定する場合、答えは通常同じです。あなたは不均一なアドバイスを追加することができ、それは何も変更しません。XXX

「ボトルネック」とは、情報をすばやく収集できないことです。では通信ラウンド、あなたは何をすべきかに関係なくは、各ノードは、自身のradius-に関する情報持つことができる近傍を。各ノードに任意の強力なプロセッサを搭載することもできますが、プロセッサに処理する情報がない場合は、どのようなメリットがありますか。TTT

したがって、分散システムをモデル化するための開始点としてTuringマシンを使用することは、少し不自然に聞こえます。これが無関係な側面である場合、その上にすべてを構築するのはなぜですか?一方、並列計算ではこれは自然なことです(ただし、モデルは通常、チューリングマシンではなくPRAMのようなものです)。


3

いくつかは、あなたのビューに応じて、あなたが何かのように、分散システムを考えることができると主張しているより多くの理由は非決定性と公平性の有界性の異なる解釈の、チューリングマシンよりも強力。このリンクには、このトピックに関する興味深い議論があります。Herlihy / Shavitの著書「The art of multiprocessor programming」では、チューリングの計算可能性は本質的に(シーケンシャル)アルゴリズムの概念を指し、ある意味では分散コンピューティングの推論には不適切であると主張しています。これは議論の余地があり論争の的になっているので、私がこれを言っているので誰も私に石を投げないように願います。


1
比較はあまり適切ではないと思います。簡単に言うと、チューリングマシンのコンテキストでは、非決定性はリソースです。これは、マシンが複数の実行パスを同時にたどることができる能力を指します。したがって、本質的には並列処理の一種です。代わりに、分散システムのコンテキストでは、非決定性は通常、より障害になります。これは、同期の欠如や障害など、実際の分散システムのさまざまな予測不可能な特性をモデル化するために使用されます。
Antonio Valerio Miceli-Barone
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.