openCrypto.NETのCamellia実装と楕円曲線暗号実装がLinuxのx86版Monoで動かない問題であった問題のうち、バグレポートとして報告しておいたCamelliaの方は無事にMono (trunk r134470)で直った。
楕円曲線の方は相変わらずだけど、--optimize=-all なら動作するので、こっちも最適化の問題っぽい。
昨日の続き,KademliaもどきのDHTの実装の問題, 僕のDHT実装の問題の続き
KBRの部分を改良(改悪?)してみた。
ルートとなるノードが見つかったらそこから部分木にかけてキーに近いノードを探すようにしただけ。
以下は簡単なシミュレーションの結果。環境はパケットロス率は0%、IPの配送遅延が20msとなるようにシミュレート。
ランダムなキーを100回問い合わせ、そのときの平均ホップ数(ホップ数と記載)、平均応答時間(時間と記載)、ルートノードが正解である確率(ルートと記載)、複製1が予期するノードに配置される確率(複製1と記載)、複製2が予期するノードに配置される確率(複製2)と記載をまとめた。
このように、現在のKBRでは二個以上の複製はあまり機能しないように見える。
ただ、新しいKBRの実装が必ずしも優れているというわけではなく、ホップ数は増えるし、
結果が返ってくるまでの時間も二倍程度に伸びている。
うーん・・・どういうKBRの実装を採用すべきなんだろうか・・・
トラフィックについては計測し忘れたので、今度また再測定する予定。
ただし、今日から実家に帰りつつ、就職関係の用事もあるので、続きは月曜日になりそうだけどね。