Networking 具有不同实现的循环DHT
我在考试中有以下问题: 这个问题涉及一个循环DHT,其中每个对等节点只跟踪其前一个节点和后一个节点。没有可用的快捷方式。 请考虑下面的三个结构。在所有这三种结构中,节点ID的范围是 从0到N− 1以及密钥ID。在给定的时间内,参与的对等节点数 DHT是M,并且所有对等节点都很容易知道这个数字。(键,值)中的“值” pair是独立存储感兴趣数据的节点的ID集 C-1:每个存储的(键、值)对(k、v)都存储在一个随机节点上(从当时在线的节点中) C-2:每个存储的(键,值)对(k,v)都存储在一个节点上,该节点的ID由k mod M给出 C-3:每个存储的(键、值)对(k,v)存储在ID为k(如果在线)的节点或其最近的在线后继节点(带环绕)上 (a) 在线对等方希望找到一个密钥k以获得相应的值。问题是什么 这三种结构中每一种结构的操作复杂性(即,大oho())。如果你是 不熟悉O()表示法,只需说明启动的查询的平均数量 (b) 联机节点启动对密钥k的查询,并获取一组两个节点ID作为返回。 这些节点中至少有一个在线的可能性有多大(这样查询节点就可以 感兴趣的数据?为每种结构提供答案;你的答案可能是 k、 M、N或任何其他参数 (c) 如果打开,您对上述部分(每个结构)的(数字)答案是什么 平均30%的节点处于联机状态 我对我写的答案感到困惑。我想知道我所做的是否正确。 我写了以下答案: a) C1:O(N)-如果有N个节点在线 C2:O(M)-如果钥匙从0到M-1 C3:O(1)-密钥为k的最坏情况节点处于脱机状态,下一个节点处于脱机状态 b) p=在线的概率 C1:2C1*p*(1-p)+2C2*p C2:2C1*p*(1-p)+2C2*p C3:2C1*p*(1-p)+2C2*p c) C1:2C1*0.3*0.7+2C2*0.3 C2:2C1*0.3*0.7+2C2*0.3 C3:2C1*0.3*0.7+2C2*0.3a)对于C1,您已经说明了M=N时情况的答案,这可能并不总是成立,因此您应该将其更改为O(M),因为它将搜索所有在线节点,因为其中任何一个节点都可以随机持有密钥 C2:O(M)和你所说的理由都是正确的 C3:这也将是O(M),因为平均而言,您必须遍历整个DHT才能找到密钥 (b) 你对二项式定理使用了错误的公式。 正确的公式是: nCk*p^k*(1-p)^(n-k) 所以你的答案应该是: C1:2C1*p*(1-p)+2C2*p^2 C2:2C1*p*(1-p)+2C2*p^2 C3:2C1*p*(1-p)+2C2*p^2 另外,请注意,这里p=M/N(因为N个节点中有M个节点在线) (c) 现在p=0.3 C1:2C1*0.3*0.7+2C2*0.3^2=0.51 C2:2C1*0.3*0.7+2C2*0.3^2=0.51Networking 具有不同实现的循环DHT,networking,probability,dht,Networking,Probability,Dht,我在考试中有以下问题: 这个问题涉及一个循环DHT,其中每个对等节点只跟踪其前一个节点和后一个节点。没有可用的快捷方式。 请考虑下面的三个结构。在所有这三种结构中,节点ID的范围是 从0到N− 1以及密钥ID。在给定的时间内,参与的对等节点数 DHT是M,并且所有对等节点都很容易知道这个数字。(键,值)中的“值” pair是独立存储感兴趣数据的节点的ID集 C-1:每个存储的(键、值)对(k、v)都存储在一个随机节点上(从当时在线的节点中) C-2:每个存储的(键,值)对(k,v)都存储在一个节
C3:2C1*0.3*0.7+2C2*0.3^2=0.51谢谢您的帮助!