アクティブなメッセージとは何ですか?
アクティブなメッセージ(AM)は、コンピューティングで使用されるプロセス間通信の一種であり、コンピュータープログラムのサブルーチンまたは機能は、存在するものとはまったく異なるコンピューターによって実行できます。 このタイプのメッセージは、標準的なインターネットプロトコル(IP)にわたってネットワーク帯域幅をより多く活用できるようにするための基本形式です。 また、特定の瞬間がプログラムと同期するのを待つのではなく、すぐに行動するという点で、非同期メッセージ通過システムと見なされます。
アクティブなメッセージング通信モデルでは、作業の多くは、ハードウェアがオペレーティングシステムのドライバーと対話するハードウェアレベルで行われます。 この低レベルは通常、オペレーティングシステムのビジネスのために予約されているため、メッセージは、一連の上位レベルのユーザー関数にアクセスするための指示を掲載できるように構築されています。 AMのヘッダーの内部には、参照されているもののアドレスがありますハンドラーとして。 ハンドラーは、プロセッサを介して実行される計算によってメッセージ本文を処理できる特別なユーザーレベルの命令です。 アクティブなメッセージの本体は、関数の引数、または計算が作用する必要があるデータです。
アクティブなメッセージの構造の本質的な性質を考えると、既存のIPネットワーク通信プロトコルを渡すことができます。 ただし、主な違いは、マルチフェーズ、送信、承認領収書、配達方法を要求するのではなく、即座に受領時に作用することです。 このようにして、アクティブなメッセージは、ネットワークを単に移動のための開いたパイプと見なします。 その唯一の制限は、ノード間の距離がメッセージレイテンシを考慮する可能性のある物理ネットワークの制限です。
アクティブなメッセージシステムが機能する方法は、送信者がメッセージでネットワークを埋めることです。 バッファリングはありません受信側では、AMに対する唯一の応答は、メッセージのハンドラーの計算を一時的に中断し、ネットワークからメッセージをつかみ、そのビジネスについて進むことです。 メッセージバッファリングが発生するのは、ネットワークがその制限に到達しているかどうかに基づいてメッセージが支えられている送信者の端です。 ポーリング方法はネットワーク上にタブを保持しているため、システムはより多くのメッセージをいつ挿入するかを把握します。 これにより、リモートマシンで発生する計算で送信されたメッセージの継続的な重複を可能にし、それらをすべて調整したままにします。
アクティブなメッセージメソッドは本質的に単純な場合がありますが、実装に関していくつかの問題に直面しています。 それらはそのような原始的な構造であるにもかかわらず、コンピューターシステムのメッセージを処理するためにカスタム設計のインターフェイスドライバーがしばしば必要です。 アクティブなメッセージは、すべて同じプログラムを実行しているコンピューターノード間で操作するために設計されています。 このように、指示送信および受信は、宛先コンピューターですでに実行されているプログラムに固有です。
その性質上、アクティブなメッセージは、単一プロセス、複数のデータ(SPMD)アプリケーションなどの並列コンピューティング環境で広範な使用を発見しました。 これらのプログラムは、マシン間で指示とデータを渡すためにアクティブなメッセージが使用されるコンピューターシステムの大規模なネットワークで実行されます。 このような分散システムは、この方法を利用して、単一のマシンであまりにも時間がかかる膨大な量のデータを効率的に処理します。