昨天晚上写完了Chord协议的仿真。效果还不错。后面的工作是加入自己的一些改进。
不过,我发现对于一个Ring长度为2^32的稳定的 Chord网络。一个查找的平均跳数是8。Chord的文章里面说,这个值是O(logN),这里的N是网络中节点的个数。而他们的实验结果帮他们修正为 1/2*O(logN)。这和我的实验结果不是很符合。我认为这个值在N很大的时候,不是和N相关的,而是和Ring长度相关。只有在小的时候才和N相 关。我实验了N=2000和N=4500 时候的情况,没有发现查找的平均跳数有明显的变化。当然N很小的时候,这个值的确是和N有关的。不过我的结果也有待证明。
另外有一个想法,如果以后有时间,可以基于java和swt些一个网络模拟器。现在的这些工作可以作为一个基础。后面加入多线程和图形设置界面。这个工作全部做完怕是要无牵无挂的工作两个月吧。现在毕业都困难,这些一时间还没有办法想其他的问题了。
1 条评论:
你好,最近我也在试图实现一个Chord的仿真软件,但是我遇到很多问题!
首先一点就是那篇论文:Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications
我看不太懂,因此想找一篇翻译的来看一下。
我是湖南这边的一名学生,不知道你能不能给我发一份你实现的源代码呢?
我的邮箱是dolf.cao@gmail.com
学习需要,如果可以的话非常感谢!
发表评论