<前の日記(2006年07月16日) 次の日記(2006年07月18日)> 最新 編集

高木浩光@自宅の日記

目次 はじめに 連絡先:blog@takagi-hiromitsu.jp
訪問者数 本日: 1275   昨日: 3744

2006年07月17日

続・Winny稼動コンピュータ数調査の追試をしてみた

昨日の続き。昨日の実験で見つかった「38万9288ノード」というのはそれで全部ではなかったことがわかった。 その後、同じ条件のままもう一回、そしてスタートノードだけを変えて2回実験したところ、発見できたノード数は以下の表のとおりになった。

開始時刻経過時間ノード数
17日(祝日)午前4時40分3時間22分388,994
17日(祝日)午前8時45分2時間56分343,001
17日(祝日)午前11時51分5時間02分581,856

同じスタートノードから実行した場合、ほとんど同じ結果になった。グラフにすると、発見ノードが急増する特徴も同じように現れ、そのタイミングがわずかに前後しているものの、同じように10万弱と、20万弱のノードが見つかったタイミングで起きていた。この現象が起きる原因やタイミングは、予想と異なり、偶然に左右されにくいのかもしれない。

次に、無作為に選んだノードにスタートノードを変更して実験したところ、34万ノードしか巡回できなかった。発見ノードが急増するタイミングはほぼ同じだった。急に4万ノードがシャットダウンしたとは考えにくく、なぜこうなったのかわからない。

さらにもう一度、無作為に選んだノードにスタートノードを変更して実験したところ、今度は図1の結果となり、58万ノードに達した。同様に 10万弱と20万弱ノードあたりで急増現象が見られ(ただしタイミングが早かった)、3時間が経過した時点では、前回同様に 3時間20分あたりで 39万ノードで終わるように見えた。しかし、予想された終了時刻の直前になって発見ノードが急増する現象が起き、58万ノードが見つかった。

図1: 実行結果(開始時刻 2006年7月17日月曜日(祝日)午前11時51分)

このような急増現象がいつ起きるかわからないので、「これでほぼ全部」と言えそうにない。このケースでも、5時間経過時点でノード数は十分にサチっておらず、単にノードの消費(緑のプロット)が速過ぎたから終わっただけと言うべきのようだ。

現在のアルゴリズムでは接続を30秒で打ち切るようにしているが、これをもっと長くすると、得られるノード数が増加し、ノードの消費速度は遅くなるので、緑の曲線が赤の曲線に追いつきにくくなると考えられ、より確かに全体を巡回しやすくなるように思われる。しかし、全体の実行時間が長くなるため、稼動ノード数のスナップショットとしては不正確さが増してしまう(もし24時間かかるようであれば、午前と午後の比較ができない)。

今後の方向性として次が考えられる。

  • 一巡して終わりというこれまでの方法ではなく、繰り返し巡回するようにして、複数回にまたがって既知ノードの情報を活用する。過去何日間かに見つかったことのあるノードの全部に対して接続を試行して、そこで得られたノード情報からその回のノード総数を計数する。(これでも、本当に全体を一巡できたとはいえない問題は残る。)

  • 新鮮なノード情報が得られたのにそのノードに接続できなかったという、「Port0」ノードの割合を求め、その値と上の巡回時の接続可能状況から、稼動ノード数を統計的に推定する。

  • 無作為に抽出した1万程度のノードに対して、定期的に接続を試行して、ノードの稼働中、非稼働中の変化を観察して特徴を求め、全体の規模の推定に活用する。

訂正

上記には誤りがあり、18日の日記で訂正した。

検索

<前の日記(2006年07月16日) 次の日記(2006年07月18日)> 最新 編集

最近のタイトル

2017年12月29日

2017年10月29日

2017年10月22日

2017年07月22日

2017年06月04日

2017年05月13日

2017年05月05日

2017年04月08日

2017年03月10日

2017年03月05日

2017年02月18日

2017年01月08日

2017年01月04日

2016年12月30日

2016年12月04日

2016年11月29日

2016年11月23日

2016年11月05日

2016年10月25日

2016年10月10日

2016年08月23日

2016年07月23日

2016年07月16日

2016年07月02日

2016年06月12日

2016年06月03日

2016年04月23日

2016年04月06日

2016年03月27日

2016年03月14日

2016年03月06日

2016年02月24日

2016年02月20日

2016年02月11日

2016年02月05日

2016年01月31日

2015年12月12日

2015年12月06日

2015年11月23日

2015年11月21日

2015年11月07日

2015年10月20日

2015年07月02日

2015年06月14日

2015年03月15日

2015年03月10日

2015年03月08日

2015年01月05日

2014年12月27日

2014年11月12日

2014年09月07日

2014年07月18日

2014年04月23日

2014年04月22日

2000|01|
2003|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|05|06|07|08|09|10|11|12|
2012|02|03|04|05|06|07|08|09|
2013|01|02|03|04|05|06|07|
2014|01|04|07|09|11|12|
2015|01|03|06|07|10|11|12|
2016|01|02|03|04|06|07|08|10|11|12|
2017|01|02|03|04|05|06|07|10|12|
<前の日記(2006年07月16日) 次の日記(2006年07月18日)> 最新 編集