タイトルのように: Apache Giraph で前任者にメッセージを送信することは可能ですか? さらに重要なことは、それが推奨されることです (私はそれが役立つかもしれないいくつかのアプリケーションを見つけることができます)。
1 に答える
Apache Giraph の任意のノードにメッセージを送信できますが、最初にそれらの ID を見つける必要があります。したがって、メッセージを前任者に送信するには、まず前任者からすべての後任者にメッセージを送信して、その ID を見つける必要があります。私はこれを行いましたが、どの (一時的に保存された) ID がどのノードに属しているか、このノードに何を送信する必要があるかを理解するのに苦労した、非常にめちゃくちゃなアルゴリズムでした。
確かに、前のノードと通信できることが絶対に必要なアルゴリズムがあるかもしれませんが (私の場合のように)、端をたどるだけの方がはるかに簡単です。
他のすべてのノードが前のスーパーステップを完了する前に、一部のノードが次のスーパーステップを実行できるようにすることで、Giraph および同様のフレームワークを改善する研究が進行中です。これらのアルゴリズムは、エッジに関する情報を使用して、メッセージを受信する可能性のあるノードを判断します。逆に、またはランダムにメッセージを送信すると、アルゴリズムは機能しなくなります。しかし、私が言ったように、私の知る限りでは、それらはまだ研究中である (私の同僚がそれらの 1 つを行った) ので、今のところ気にする必要はありません。
また、AFAIK、GraphX(sparkの上)では、エッジを使用してメッセージを送信することしか許可されておらず、その逆は許可されていないため、要件である場合、アルゴリズムを再実装するのは困難です。