Frequently Asked Questions

 什么是Chord
  Chord是一个peer-to-peer算法。它允许分布的参与者在给出了Key的前提协商出一个单点作为参与节点,而不用任何中心的调度。尤其是提供了分布式评估函数successor(ID)考虑到给点的一个Key的ID,这个successor函数返回了在环形的标示空间中最接近节点的地址。这个标识符典型的是160bit位的。Chord算法处理了在时间内全部节点的映射情况。
更多的细节可以从我们的出版物的上面得到详细信息。Chord已经用来构建存储块的基础设施,命名服务和各种不同的文件交换系统。
  Chord有的时候是归于分布式hash表;但是,chord算法本身不能够指定存储数据机制。干那个事情的是DHash。


什么是DHash
通常,DHash也是指一种分布式hash表。它是结构在chord层的顶部的,可以处理受到信赖的参与节点的数据块存储。它是通过了复制和擦除编码技术来实现的。应用的逻辑接口是很简单的:
Key = Put (data)
data = get (key)
数据存储在系统中是不可变的,而且可以通过它的内容来识别;为了使DHash从多重语义角度写入释放出来。DHash已经用作了构建一个反馈系统,不同的文件系统(CFS和Ivy),和Usenet News server。如何在写程序中利用到DHash,请看我们的Haching notes


这里有什么实现?
我们有一个简单的搜索实现是用在Linux和BSD system上的。它是设计出来,帮助我们来实验各种不同的协议的设置,从而能够找到一种最好的构建分布式hash表。在SFS库中是一个C++版本的实现。

Chord的其他的不语言实现版本
Macedon(C++)
i3/chord (c ,appears to support windows)
P2 (A custome declarative language)
The circle (Python)
Open Chord (Java)
Overlay Weaver (Java)
i3 (java,J2EE)
nchord (C#)
chordjerl (Erlang)
我们没有用过其他版本的实现,如果你有问题你可以去联系各个版本的制作者

 

关于Chord/DHash有什么文献和应用?
跟踪一下的研究文献你就可以知道如何使用MIT的Chord的实现:
1 我们的研究文献
2 Total Recall: Systems Support for Automated Availability Management. R. Bhagwan, K. Tati, Y. Cheng, S. Savage, G. M. Voelker. Proceedings of the First ACM/USENIX Symposium on Networked Systems Design and Implementation, March 2004.
3Handling Churn in a DHT. Sean Rhea, Dennis Geels, Timothy Roscoe, and John Kubiatowicz. Proceedings of the USENIX Annual Technical Conference, June 2004.
4Evaluating DHT Implementations in Complex Environments by Network Emulator. Daishi Kato, Toshiyuki Kamiya. Proceedings of the 6th International Workshop on Peer-to-Peer Systems, February 2007.


Chord/DHash可以支撑多大的系统?
从理论上讲,议定书本身规模的对数的若干节点。
但是,这里没有那么广泛到可以找到百万个用户来做的P2P系统的的模拟。我们的实现从来没有在超过好几百的参与节点和百万个数据项目。

Chord/DHash如何来防卫恶意用户呢?
没有一个像Chord一样的分布式协议把安全问题现在还在公开讨论中,虽然早期的一些结果已经在第一次IPTPS的进程上有过讨论。
DHash提供了一个通过加密hash数据或者是公钥签名方式来完整性保护数据和严格ID
。但是这个不能防卫到拥有了路由接口的恶意用户拒接服务工具。

Chord/CFS如何支持关键字查询?
CFS不支持关键字查询。我们对关键字的查询做过调查建议到了这种简单的解决方式造成了很差的负载平衡。例如,存储了一个所有条故的索引包含了一个关键字K在它的后继的K的hash上。更多的信息,看这个论文

Chord/CFS提供了匿名文件访问?
没有。CFS的设计是在对一个公众的,公有的数据的负载平衡下的。CFS没有提供发布者或者数据的阅读者的身份表示。

这里有CFS的读写版本?

我们写了一个叫做Ivy的系统,这个是一个多用户的读写文件系统。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值