> 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 はオーバレイに加入していない、という状況になります。)
首藤一幸