質問

私は、KAHNプロセスネットワークと俳優モデルの実際の違いが何であるか疑問に思いました。確かに、定義を検索すると、それらは両方とも、計算エンティティ(両方の場合でもアクターと呼ばれる)モデルで、無制限のバッファを介してメッセージを交換します。さらに、両方の場合において、プロシージャは常にメッセージを送信できるので、これらのメッセージは非同期的に送信されます。受信者が受信する準備ができているのを待つ必要はありません。

それゆえ私の質問は、実際の違いはありますか?

たくさんありがとう!

役に立ちましたか?

解決

カーンプロセスネットワークは決定論的であることが保証されています。プロセス間のすべてのFIFO接続は従来から知られており、実行中に動的に変更されません。対照的に、俳優モデルの場合(ウィキペディア引用):

受信したメッセージに応答して、俳優が現地の決定を下すことができ、より多くの関係者を作成し、より多くのメッセージを送信し、受信した次のメッセージへの応答方法を決定することができます。

俳優モデルは決定的であることが保証されていない。 Wikipedaの引用:

俳優モデルは、ドメイン理論を使用して数学的モデルで捕獲された無制限の非決定主義を特徴としています。

もう1つの重要な区別は、通信がどのように行われるか

KPNの場合 - 決定論を維持するために、すべての通信はFIFOチャネルを介して行われます。しかし、俳優モデルの場合はそのような要求はありません。ウィキペディアの引用:

[kpnでは、メッセージ到着の順番での要件はありません[...]出力メッセージの順序が必要な場合は、この機能を提供するキューアクターによってモデル化できます。そのようなキューアクターは、それらがFIFOオーダーで検索される可能性があるように到着したメッセージをキューに入れます。そのため、アクターXがメッセージM1をアクターYに送信し、後に別のメッセージM2をYに送信した場合、M1がM2の前にYに到着する必要はありません。

この点で、アクターモデルは、送信された順序でパケットを受信しなければならないことを保証しないパケット交換システムを照明する。配達保証の順序を提供しないことで、パケット交換をバッファに切り替えることができ、複数のパスを使用してパケットを送信し、破損したパケットを再送信し、他の最適化を提供します。

上記の説明から明らかなように、KPNは、追加の制限を追加することによって俳優モデルを使用してモデル化することができるはるかに制約的なシナリオです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top