ノード離脱時のowdhtshellのgetについて

67 views
Skip to first unread message

etokoji

unread,
Nov 1, 2010, 9:55:58 PM11/1/10
to Overlay Weaver (Japanese)
以前、towdhtshellのgeの件でお世話になりました江藤と申します。

今回もやはりowdhtshellのgetに関してですが、20台程度のノードでオーバーレイネットワークを構成しておいて、あるノードを離脱させたと
きに、getの応答時間が通常よりかかってしまう現象でについての質問です。
ノードの脱退によって、もともとのルートが使えなくなったため、新たな経路を探して時間がかかるのかと思いますが、この時間を短縮する方法はないもので
しょうか。
現在実験している環境で、5秒程度かかっているのですが、これが1秒程度にできないかと考えています。
なお、ルーティングアルゴリズムはデフォルトのChordを使用しています。
また、この状態になった場合、何度実行しても下記の警告がでますが、ルーティング経路が再構成されたりはしないのでしょうか。
中身をあまり分からずに質問していますので、おかしな質問をしているかもしれませんが、よろしくお願いします。

----------------------------------------------
get 22.0.0.11
2010/10/30 22:26:12 ow.routing.impl.IterativeRoutingDriver$Querier
call
警告: Sending or receiving failed: 10.4.0.11/10.4.0.11:3997 on
10.17.0.11/10.17.0.11:3997
2010/10/30 22:26:12 ow.routing.impl.AbstractRoutingAlgorithm fail
警告: RoutingAlgorithm#fail: 10.4.0.11/10.4.0.11:3997 on
10.17.0.11/10.17.0.11:3997 1 time, and forget it.
key: 70b69e4c532ee99e328d7a290576fcd0f3de6e61
value: 10.5.0.11_22.0.0.11 16
0x236ea6a7a18d74bc54902804b02ef224fed4896a
Ready.
---------------------------------------------

Kazuyuki Shudo

unread,
Nov 14, 2010, 12:44:09 PM11/14/10
to overlayw...@googlegroups.com, 20...@shudo.net
江藤さん、首藤です。

はい、その状況で DHT での get (というか、そのためのルーティング) に
時間がかかるのは、離脱したノードに対して通信を試みてしまっているからです。

返答待ち (タイムアウト) 時間は、初期値は 5秒です:
src/messaging/MessagingConfiguration.java:
public final static int DEFAULT_STATIC_TIMEOUT = 5 * 1000; // msec

UDP, TCP で通信している状況では、
この値は、実際の通信遅延に応じて調整されていく (はずな) ので、
どんどん短くなるはずです。

対応方法:

・タイムアウト時間の初期値を短くする。

上記の値を小さくします。
あまりひどく小さくすると、返答が届く前に、誤って、通信が失敗した、
という判断をしてしまうかもしれません。

・通信に UDP でなくて TCP を使う。

owdhtshell コマンドの場合
「-t TCP」オプションを付けると、TCP を使うようになります。

・Chord で動作しているノードが predecessor を更新する頻度を上げる。

Chord には元来、predecessor を更新しない、という問題があります。
つまり、離脱したノードも、predecessor として永遠に保持してしまいます。

これではあんまりなので、Overlay Weaver の Chord 実装には
predecessor を更新する処理を実装してあります。
次の値を小さくすると、その更新頻度が上がります。
1 とすると、頻度が最高になります。

src/ow/routing/linearwalker/LinearWalkerConfiguration.java:
public final static int DEFAULT_UPDATE_PREDECESSOR_FREQ = 10;

Kazuyuki Shudo/首藤一幸 私をたばねないで あらせいとうの花のように
20...@shudo.net http://www.shudo.net/


> Message-ID: <b650c2c6-3c67-4cdf...@u17g2000yqi.googlegroups.com>
> From: etokoji <eto...@gmail.com>
> Date: Mon, 1 Nov 2010 18:55:58 -0700 (PDT)

江藤公二

unread,
Nov 14, 2010, 9:19:31 PM11/14/10
to overlayw...@googlegroups.com
首藤さん、
江藤です。
詳細なご回答ありがとうございます。
教えていただいた対応方法を試してみます。


2010年11月15日2:44 Kazuyuki Shudo <20...@shudo.net>:
Reply all
Reply to author
Forward
0 new messages