の違いについて教えてくださいメッセージの通過と共有メモリ並行処理モデル?
-
13-09-2019 - |
質問
正しい場合は私の間違ったものだと思いますが、良いありませんがお問い合わせいただく前にこちら---
解決
これは非常にシンプルな違いです。共有メモリモデルでは、複数の労働者のすべてが、同じデータを操作します。これは、並列プログラミングで一般的な同時実行の問題の多くを開きます。
メッセージパッシングシステムは、労働者がメッセージングシステムを介して通信します。メッセージは、労働者が互いのデータを変更できないように誰もが、区切らキープます。
類推すると、私たちは一緒にプロジェクトにチームで作業していると言うことができます。一つのモデルでは、我々はすべて私たちの論文やレイアウトされるデータの全てと、テーブルの周りに混雑しています。私たちはテーブルの上のものを変更することで通信を行うことができます。私たちは、一度に同じデータを操作しようとする、またはそれは混乱するかもしれないし、物事が混ざってしまいますすべてではないに注意する必要があります。
メッセージパッシングモデルでは、我々はすべての論文の私たち自身のセットで、私たちの机に座っています。私たちがしたいとき、私たちは「メッセージ」として、他の誰かに紙を渡すことができ、そしてその労働者は今、彼らはそれでやりたいことができます。私たちは、これまで私たちは私たちの目の前に持っているものは何でもへのアクセス権を持っているので、我々は、誰かが終わっ到達し、我々はそれらを合計の真ん中にありながら、数字の1つを変更しようとしていることを心配する必要はありません。
[OK]を、愚かな類推!
他のヒント
- 共有メモリモデルのメモリを共有し協力してプロセスの情報を交換することができるデータの読み出しと書き込みがメッセージ通コミュニケーションによるメッセージ交換に協力します。
- 共有メモリを実行程を同時にメッセージが通過できません。
- メッセージ通施設には二つの事業送信メッセージ)を受け取るメッセージ).による固定または可変サイズです。
- メッセージ通信用交換量のデータが紛争する必要がある。メッセージ通まま利用することにより実りある共有メモリのためのプロセス間通信
- 共有メモリシステム、システム呼び出しすることが求められていを共有メモリ。一度共有メモリは、すべてのアクセスして通常のメモリアクセス、支援、カーネルが必要です。
高速
共有メモリで最大速度のコン通信できメモリー速度ができなかった。共有メモリよりも早くメッセージ通してメッセージ通システムは、通常、実用システム呼び出しが必要であるのに時間がかかるタスクのカーネルです。
メッセージパッシングモデルは、任意の共有状態を持っていません。すべての同期と通信がメッセージを交換することによって行われます。共有メモリモデルはセマフォまたは類似によって保護された共有メモリ・ブロックへの書き込み/読み出して通信
メッセージパッシングは、データを正当化するための良い方法ですが、それはモデルデータは、同じデータに対して異なる作業を行うことができ、一つのメモリとワーキンググループから抽出された共有メモリに高速化communication.Butために遅い応答時間を持っている。
メッセージパッシングシステムのスループットは、高速応答時間を必要とするいくつかのアプリケーションには低すぎるかもしれないが、あなたはより高速またはリアルタイム処理が必要な場合は、共有メモリシステムを使用することができます。
、私はしたいと思います指摘している:
(一定の条件の下で)自分の計算可能性について、それらの間のの無の根本的な違いがあってはいけません。
あなたは根本的なメッセージパッシングシステム上で共有メモリをシミュレートすることができます。これは、非同期分散メッセージパッシングシステムでアルゴリズムを設計するための高レベル言語として共有メモリモデルを表示することができます。
その特に、この論文 ABD @ JACM'95 を示しますP>
、マルチリーダレジスタは自動的に、メッセージパッシングシステムでエミュレートすることができる原子、単一ライタ(マルチライタ)に基づいて、任意のウェイトフリーアルゴリズムは、プロセッサの少なくとも大部分が故障していないと接続されたままことを条件とします。これらのエミュレーションによって導入されるオーバーヘッドがシステム内のプロセッサの数の多項式である。
を判別するためのメッセージ通と共有メモリの検討表示件数を増やす表示件数を減ら:
- コミュニケーションのメッセージ通コミュニケーションに依存プログラマのようなプロセスを採用するまでのミッションです。なので、共用メモリの通信を自動で行ないます。
- データの分布:-mとなります。p(手動) s.m(自動)
- H/W支援-mとなります。p(簡単な) s.m広いての知能化を検出するプロセス間を自動的に)
- 正:-mとなります。p(にく) s.m(難しくない)
- 績-mとなります。p(にく) s.m(非常に難しいようです)`
すでに与えられた答えは有益ですが、ほとんどはメモリを共有アイデアは実際にはかなりナイーブ文であるメッセージパッシング、より高速で言及します。便利な何かをして任意の実際のシステムでは、ほとんど常にメッセージパッシングを使用して同じシステムを実装するよりも遅く終わる別々のスレッドからのアクセスを制御するためのロック機構を共有メモリアクセスのニーズでます。