putを行ってしばらくたつとエラー文が出てしまう

21 views
Skip to first unread message

yoshi

unread,
Oct 15, 2009, 6:53:21 AM10/15/09
to Overlay Weaver (Japanese)
こんにちは 卒業研究でOverlay Weaverを使用させていただこうと思っております。
藤澤と申します。

owemuにて、約30ノードを起動して、そこに複数の値をputするというシナリオを実行させたのですが、
putを始めてからしばらくたつと Clock jump or overload detected というエラーが出てしまいます。

使用OSはWindowsXPで、Overlay WeaverはVersion 0.9.4にパッチを適用したものを使用しています。
非常に初歩的な質問で申し訳ありません。
エラーの原因がいまいちわからず悩んでいるのですが、もしよろしければ助言などして頂けると幸いです。

シナリオ
# invokes an Ovelray Visualizer
#class ow.tool.visualizer.Main
#schedule 0 invoke

timeoffset 10000

# invokes the first node
class ow.tool.dhtshell.Main
arg -m emu0 emu1 -p 10000
schedule 100 invoke

# invokes 30 nodes, which contacts the first node (emu0) to join an
overlay
arg -m emu0 emu1
schedule 100,100,31 invoke

# put
timeoffset 20000

schedule 50 control 1 put 0000001 20060101_00000010.txt
schedule 100 control 2 put 0000002 20060101_00000020.txt
schedule 150 control 3 put 0000003 20060101_00000030.txt
schedule 200 control 4 put 0000004 20060101_00000040.txt
schedule 250 control 5 put 0000005 20060101_00000050.txt
schedule 300 control 6 put 0000006 20060101_00000060.txt
以下このような文字列をputするシナリオです

エラー文
[Clock jump or overload detected: class
ow.dht.impl.ChurnTolerantDHTImpl$Requtter @ adae91, 1167 msec behind]

[Clock jump or overload detected: class
ow.routing.linearwalker.LinearWalker$Stabilizer @ 14627a, 1186 msec
behind]

[Clock jump or overload detected: class ow.routing.chord.Chord
$FingerTableFixer @ 1f07597, 1975 msec behind]

このような感じのエラーがしばらく時間がたつと出始めてしまいます。

Kazuyuki Shudo

unread,
Oct 21, 2009, 2:24:06 AM10/21/09
to overlayw...@googlegroups.com
藤澤さん、首藤です。

> Message-ID: <9e9bd0e2-ddce-48ce...@y28g2000prd.googlegroups.com>
> From: yoshi <yoshi...@hotmail.com>
> Date: Thu, 15 Oct 2009 03:53:21 -0700 (PDT)

> owemuにて、約30ノードを起動して、そこに複数の値をputするというシナリオを実行させたのですが、
> putを始めてからしばらくたつと Clock jump or overload detected というエラーが出てしまいます。

このメッセージは無視して問題ないです。
これは、何らかの理由で、
シナリオ中のコマンドが予定時刻より遅れて実行された際に表示されます。

例えば、シナリオの内容に対してマシンの処理能力が追いつかなかった場合に
表示されます。

今回の場合、たかだか数十ノードで、put の間を 50ミリ秒もとっているので、
過負荷が原因ではないと思いますが、
非常に多くの key-value ペアを put している場合、
自動再 put 処理が重くなっている可能性もあるにはあります。

OS が提供する時計機能がいまいちである場合にも起き得ますが、
定かではありません。
Overlay Weaver の開発、実験は私は Linux 上で行っており、
Windows 上ではあまりヘビーには使ってないんです。

> 使用OSはWindowsXPで、Overlay WeaverはVersion 0.9.4にパッチを適用したものを使用しています。

最近、タイマまわりの変更が多いので、
なるべく新しい版をお使い頂いた方がよいと思います。


> シナリオ
> # invokes an Ovelray Visualizer
> #class ow.tool.visualizer.Main
> #schedule 0 invoke
>
> timeoffset 10000
>
> # invokes the first node
> class ow.tool.dhtshell.Main
> arg -m emu0 emu1 -p 10000
> schedule 100 invoke
>
> # invokes 30 nodes, which contacts the first node (emu0) to join an
> overlay
> arg -m emu0 emu1
> schedule 100,100,31 invoke

DHT shell の -m オプションの使い方が適切でないようです。
-m オプションは要らないように思います。

この起動方法だと 0番ノード (仮想ホスト名 emu0) も
通常のノードになります。
「-m emu0」という指定は、通信状況を emu0 に逐一報告する、というもので、
報告先はメッセージカウンタか Overlay Visualizer である必要があります。

あと、1つ目のノード (emu0) も、emu1 に対して join (加入処理) をするように
指定されています: -m emu0 「emu1」 -p 10000
しかし、emu0 起動時には emu1 はまだ起動していないので、
この指定も適切でないです。
(結果、emu0 はオーバレイに加入していない、という状況になります。)


首藤一幸

yoshi

unread,
Oct 21, 2009, 7:02:32 AM10/21/09
to Overlay Weaver (Japanese)
首藤さん、お忙しいところありがとうございます。藤澤です。

エラーに関してはとりあえずは気にしないでやっていこうと思います。
他のOSで動かす環境を作るか考えたいと思います。

シナリオのご指摘までしていただけて嬉しいです。
Overlay Visualizerを使おうとしていた事もあり間違えてしまった部分や、
ノードに関して理解不足であった部分も理解できました。本当にありがとうございます。
ご指摘の箇所を修正し、またいろいろ試してみたいと思います。
Reply all
Reply to author
Forward
0 new messages