分散エミュレータについて

81 views
Skip to first unread message

Itou

unread,
Jan 7, 2010, 7:48:04 AM1/7/10
to Overlay Weaver (Japanese)
首藤さん、伊藤です。
度々の質問で申し訳ありません。

Planet Lab上で分散エミュレータを動かそうと考えているのですが、準備として、それぞれのノードにはowの、どのファイルを載せておけばいい
のでしょうか?

また、シナリオに関して、remote connect等、シナリオの書き方のイメージがよく分からないのですが、もし、サンプルのシナリオ等ありまし
たら、ご助言いただけないでしょうか?

Kazuyuki Shudo

unread,
Jan 7, 2010, 7:59:19 AM1/7/10
to overlayw...@googlegroups.com
伊藤さん、首藤です。

> Message-ID: <d62daf58-8f88-43af...@m16g2000yqc.googlegroups.com>
> From: Itou <juku...@yahoo.co.jp>
> Date: Thu, 7 Jan 2010 04:48:04 -0800 (PST)

> 首藤さん、伊藤です。
> 度々の質問で申し訳ありません。
>
> Planet Lab上で分散エミュレータを動かそうと考えているのですが、準備として、それぞれのノードにはowの、どのファイルを載せておけばいい
> のでしょうか?

PlanetLab のマシンを使って、
(1) 台数以上の、例えば台数 x 1000 ノードのノードを動かしたい
(2) 台数と同じ程度のノードを動かしたい
どちらでしょうか。

(1) のための仕掛けを、OW では分散エミュレーションと呼んでいます。
ノード間通信の際、PC 1台上では多ノードエミュレーションと同じ方法で通信し、
PC をまたぐ際だけ、TCP/IP を使います。

(2) であれば、bin/owdhtshell なり bin/owmcastshell なりを
ただ起動すればいいです。

(1) の分散エミュレータは、動作にあまり信頼が置けない状況です:

2009/12/10 のメール:
| From: Kazuyuki Shudo <20...@shudo.net>
| To: overlayw...@googlegroups.com
|
| PC 複数台を使って 1つのエミュレータを構成することができて、
| それを分散エミュレータと呼んでます。
| メリットは、メモリをたくさん使える → 1台より多いノード数を扱えることです。
|
| しかし、その開発当初、マシンをまたいだ場合のノード間通信性能が
| ろくろく出なくて、それから放置してます。
| 多分動くとは思うのですが、現状、いまひとつ信用できません。
| またチャレンジしたいと思ってるところです。

首藤一幸

bible135a

unread,
Jan 14, 2010, 4:59:38 AM1/14/10
to Overlay Weaver (Japanese)
途中から失礼します。齋藤です。
分散エミュレータを使用しようと思い
owemu シナリオファイル -f ホストリストファイル
を入力したところ

There is no output pipe associated with host id:0
There is no output pipe associated with host id:1
There is no application instance with id:1

という警告が出てしまいうまく動作しなかったのですが
これは何が原因なのでしょうか?
以下にシナリオファイルおよびホストリストファイルの具体的な中身を記述します。

シナリオファイルには、初めにノード(emu0)を1つ起動させ
次にもうひとつノード(emu1)を起動し、最後にemu1がemu0にinitするよう記述しています。

ここで、emu1を他のPC上で動かしてもらおうと思ったため、ホストリストファイルには
他PC名 1
と入力しました。

owemu -f ホストリストファイル とだけ入力するとReadyとなるため他PC自体は認識しているものと思われます。

長文になってしまい申し訳ありません。


>On 1月7日, 午後9:59, Kazuyuki Shudo <2...@shudo.net> wrote:
> 伊藤さん、首藤です。
>
> > Message-ID: <d62daf58-8f88-43af-b506-db308c873...@m16g2000yqc.googlegroups.com>
> > From: Itou <juku_y...@yahoo.co.jp>


> > Date: Thu, 7 Jan 2010 04:48:04 -0800 (PST)
> > 首藤さん、伊藤です。
> > 度々の質問で申し訳ありません。
>
> > Planet Lab上で分散エミュレータを動かそうと考えているのですが、準備として、それぞれのノードにはowの、どのファイルを載せておけばいい
> > のでしょうか?
>
> PlanetLab のマシンを使って、
> (1) 台数以上の、例えば台数 x 1000 ノードのノードを動かしたい
> (2) 台数と同じ程度のノードを動かしたい
> どちらでしょうか。
>
> (1) のための仕掛けを、OW では分散エミュレーションと呼んでいます。
> ノード間通信の際、PC 1台上では多ノードエミュレーションと同じ方法で通信し、
> PC をまたぐ際だけ、TCP/IP を使います。
>
> (2) であれば、bin/owdhtshell なり bin/owmcastshell なりを
> ただ起動すればいいです。
>
> (1) の分散エミュレータは、動作にあまり信頼が置けない状況です:
>
> 2009/12/10 のメール:

> | From: Kazuyuki Shudo <2...@shudo.net>

Kazuyuki Shudo

unread,
Jan 15, 2010, 1:47:03 PM1/15/10
to overlayw...@googlegroups.com
齋藤さん、首藤です。

owemu コマンドの -f オプションを使ってるということは、
こちらをご覧になったのだと思います:

マニュアル: 分散環境エミュレータ
http://overlayweaver.sourceforge.net/doc/manual/emulator/index-j.html

ホスト一覧にはこれ↓だけ書いてもだめで、
他PC名 1

全マシンを書く必要があります:
PCその1 0
PCその2 10
PCその3 20

(この場合、emu0~emu9 が PCその1 に割り当てられます。)

全マシンを書き込んだ上で、そのホスト一覧ファイルを、
全マシン上で owemu -f <ファイル名> として与えます。

首藤一幸

> Message-ID: <fb290568-9e86-4613...@m16g2000yqc.googlegroups.com>
> From: bible135a <kinghak...@gmail.com>
> Date: Thu, 14 Jan 2010 01:59:38 -0800 (PST)

bible135a

unread,
Jan 17, 2010, 10:04:25 AM1/17/10
to Overlay Weaver (Japanese)
首藤さん、齋藤です。
首藤さんが仰っているとおり、分散環境エミュレータのマニュアルを参考にしました。

私の行った方法では、ファイルにPC名を1つしか記述しておらず
しかも1台のPCからのみ、そのファイルを読み込ませていなかったために
動作しなかったのだと理解しました。

お忙しい中返信してくださり、大変ありがとうございました。

>On 1月16日, 午前3:47, Kazuyuki Shudo <2...@shudo.net> wrote:
> 齋藤さん、首藤です。
>
> owemu コマンドの -f オプションを使ってるということは、
> こちらをご覧になったのだと思います:
>
> マニュアル: 分散環境エミュレータ
> http://overlayweaver.sourceforge.net/doc/manual/emulator/index-j.html
>
> ホスト一覧にはこれ↓だけ書いてもだめで、
> 他PC名 1
>
> 全マシンを書く必要があります:
> PCその1 0
> PCその2 10
> PCその3 20
>
> (この場合、emu0~emu9 が PCその1 に割り当てられます。)
>
> 全マシンを書き込んだ上で、そのホスト一覧ファイルを、
> 全マシン上で owemu -f <ファイル名> として与えます。
>
> 首藤一幸
>
>
>

> > Message-ID: <fb290568-9e86-4613-a6ca-493e2ef47...@m16g2000yqc.googlegroups.com>
> > From: bible135a <kinghakonoor...@gmail.com>

> >> | またチャレンジしたいと思ってるところです。- 引用テキストを表示しない -
>
> - 引用テキストを表示 -

bible135a

unread,
Jan 18, 2010, 1:39:42 AM1/18/10
to Overlay Weaver (Japanese)
首藤さん、度々すみません齋藤です。
首藤さんご指摘のように

分散エミュレーションを自PCと、私の属する研究室内のPCとの2台で行おうと思い
どちらのPCにもoverlayweaverをインストールし

双方のホストリストファイルには
自PC名 0
別PC名 1
と記述し

この2台上で owemu -f <ファイル名> を実行したところ
Ready
と表示されたのですが

class <クラス名>
Ready
invoke

と入力し自作したjavaアプリケーションを起動させたところ


There is no output pipe associated with host id:0

のエラーが現れてしまいました

この自作したアプリは dhtshell の Main クラスを参考にしているため
owemu クラス名
で実行すると普通に動作します

分散エミュレータでは実行するクラスファイルに何らかの工夫がいるのでしょうか

> > - 引用テキストを表示 -- 引用テキストを表示しない -
>
> - 引用テキストを表示 -

Kazuyuki Shudo

unread,
Jan 19, 2010, 4:05:28 AM1/19/10
to overlayw...@googlegroups.com
齋藤さん、首藤です。

ホスト一覧ファイルは、全マシンで同じ内容のものを指定します。

例えば、こういうファイルを書いたとしたら:

192.168.0.100 0
192.168.1.101 10
192.168.1.102 20

この 3台ともで、この同じファイルを与えます。

首藤一幸

> Message-ID: <841c8e80-8cf9-4040...@j19g2000yqk.googlegroups.com>
> From: bible135a <kinghak...@gmail.com>
> Date: Sun, 17 Jan 2010 22:39:42 -0800 (PST)

bible135a

unread,
Jan 25, 2010, 2:23:50 AM1/25/10
to Overlay Weaver (Japanese)
齋藤です
質問なのですが

remote connect を使って遠隔マシンのワーカを起動する場合
遠隔マシン上ではコマンドプロンプトなどが起動するのでしょうか。
もしくは、emuの機能のみを提供しているのでしょうか。

> On 1月19日, 午後6:05, Kazuyuki Shudo <2...@shudo.net> wrote:
> 齋藤さん、首藤です。
>

> ホスト一覧ファイルは、全マシンで同じ内容のものを指定します。
>
> 例えば、こういうファイルを書いたとしたら:
>
> 192.168.0.100 0
> 192.168.1.101 10
> 192.168.1.102 20
>
> この 3台ともで、この同じファイルを与えます。
>
> 首藤一幸
>
>
>

> > Message-ID: <841c8e80-8cf9-4040-86f1-24112b5f3...@j19g2000yqk.googlegroups.com>
> > From: bible135a <kinghakonoor...@gmail.com>

> >> > >> | またチャレンジしたいと思ってるところです。- 引用テキストを表示しない -- 引用テキストを表示しない -
>
> - 引用テキストを表示 -

Kazuyuki Shudo

unread,
Jan 25, 2010, 5:21:35 AM1/25/10
to overlayw...@googlegroups.com
PC 1台上でエミュレータ (owemu コマンド) を動作させた場合と
同じシナリオを食わせることができます。

質問の意図がいまひとつ理解できていないのですが、
おそらく「emu の機能のみを提供」だと思います。

首藤一幸

> Message-ID: <82c74f45-9ca0-451e...@l30g2000yqb.googlegroups.com>
> From: bible135a <kinghak...@gmail.com>
> Date: Sun, 24 Jan 2010 23:23:50 -0800 (PST)

bible135a

unread,
Jan 29, 2010, 1:26:20 AM1/29/10
to Overlay Weaver (Japanese)
首藤さん、齋藤です。
いつも返信ありがとうございます。
また、度重なる質問で申し訳ありません。

自分なりに過去の投稿や、マニュアル、ソースプログラムを見て勉強したのですが
どうしても分散エミュレーションを行うことができません。
以下が自分の行った方法なのですが…

owemu -f ファイル名でマスタを起動し
Ready と表示されたため
remote connect を入力
establish connections.
execute: ssh PC名1 exec java ow.tool.emulator.Main -w PC名1:3997,0,PC名
2:3997,1
execute: ssh PC名2 exec java ow.tool.emulator.Main -w PC名1:3997,0,PC名
2:3997,1
と表示されます
ここからクラスを読み込ませてinvokeするよう指定しても動作しません

大変申し訳ありませんが
分散エミュレーション構築の流れのようなものを教えていただけないでしょうか。

>On 1月25日, 午後7:21, Kazuyuki Shudo <2...@shudo.net> wrote:
> PC 1台上でエミュレータ (owemu コマンド) を動作させた場合と
> 同じシナリオを食わせることができます。
>
> 質問の意図がいまひとつ理解できていないのですが、
> おそらく「emu の機能のみを提供」だと思います。
>
> 首藤一幸
>
>
>

> > Message-ID: <82c74f45-9ca0-451e-837c-962402eb9...@l30g2000yqb.googlegroups.com>

> >> - 引用テキストを表示 -- 引用テキストを表示しない -
>
> - 引用テキストを表示 -

Kazuyuki Shudo

unread,
Feb 1, 2010, 4:59:49 AM2/1/10
to overlayw...@googlegroups.com
齋藤さん、首藤です。

申し訳ございませんが、
分散エミュレータは 2009年 12月 10日のメールに書いたような状態で:

| しかし、その開発当初、マシンをまたいだ場合のノード間通信性能が
| ろくろく出なくて、それから放置してます。
| 多分動くとは思うのですが、現状、いまひとつ信用できません。
| またチャレンジしたいと思ってるところです。

その動作を検証したり、利用手順を書いている時間がございません。

実験を行う PC に載ってるメモリ量にもよりますが、
数十万ノードを越える規模の実験を行うのでもない限り、
分散エミュレータを使う必要はないのではないかと思います。

首藤一幸


> Message-ID: <bcb016e1-a166-4dbe...@g28g2000prb.googlegroups.com>
> From: bible135a <kinghak...@gmail.com>
> Date: Thu, 28 Jan 2010 22:26:20 -0800 (PST)

bible135a

unread,
Feb 1, 2010, 7:53:24 PM2/1/10
to Overlay Weaver (Japanese)
首藤さん、齋藤です。
こちらこそお忙しい中、無理な質問をしてしまい申し訳ありませんでした。
自分の目的は数十万ノードを使う目的ではなかったので、別の方向からアプローチしてみたいと思います。
ありがとうございました


>On 2月1日, 午後6:59, Kazuyuki Shudo <2...@shudo.net> wrote:
> 齋藤さん、首藤です。
>
> 申し訳ございませんが、
> 分散エミュレータは 2009年 12月 10日のメールに書いたような状態で:
>
> | しかし、その開発当初、マシンをまたいだ場合のノード間通信性能が
> | ろくろく出なくて、それから放置してます。
> | 多分動くとは思うのですが、現状、いまひとつ信用できません。
> | またチャレンジしたいと思ってるところです。
>
> その動作を検証したり、利用手順を書いている時間がございません。
>
> 実験を行う PC に載ってるメモリ量にもよりますが、
> 数十万ノードを越える規模の実験を行うのでもない限り、
> 分散エミュレータを使う必要はないのではないかと思います。
>
> 首藤一幸
>
>
>

> > Message-ID: <bcb016e1-a166-4dbe-918e-57edef273...@g28g2000prb.googlegroups.com>

> ...
>
> もっと読む ≫- 引用テキストを表示しない -
>
> - 引用テキストを表示 -

bible135a

unread,
Feb 4, 2010, 12:08:53 AM2/4/10
to Overlay Weaver (Japanese)
首藤さん、齋藤です。
私の度重なる質問に、幾度も親切に返信いただき本当にありがとうございました。
おかげさまで、当初目標としていたツールをほぼ再現することができました。
今回、初めてツール作成を行ったのですが
頭では構想ができているのに、いざ作るとなると専用のメソッドを使用しないといけなかったり
どのクラスを継承すればいいかなど非常に多くの問題が頻出しました。
ツール作成の苦労を思い知りました。

OverlayWeaver を通して通信の概要やプログラミングのアルゴリズムなどの知識を深める
ことができました。ありがとうございました。

Reply all
Reply to author
Forward
0 new messages