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