[chord] Correctness of finger table in simulator

Ion Stoica istoica at cs.berkeley.edu
Tue Jun 8 10:21:18 EDT 2004


Verdi March wrote:

>Hi Ion,
>
>On Tuesday June 8 2004 am 00:26, you wrote:
>  
>
>>One way to "fix" this problem is to avoid inserting
>>nodes in the fingerList when you hear from other
>>nodes,
>>    
>>
>
>This means I need to run the simulator by specifying
>num_location_cache = num_successors + num_finger - 1
>
>In addition, I need to change:
>n.process_request()
>begin
>  if (empty(request_list) == True)
>    return;
>
>  r = request_list.remove();
>
>  //finger_list.add(r.initiator);  //Don't insert cached node
>  //finger_list.add(r.sender);     //Don't insert cached node
>
>  ...
>end
>  
>
Yes, I think these are all the changes you need to do.

>  
>
>>and pick size(fingerList) = 2*logN + m, 
>>where m is the number of bits of the identifier.
>>Let me know if you are interested in this approach.
>>    
>>
>Is this under the assumption that num_successor = 2*logN ?
>  
>
yes.

>Some of my experiments do not involved node failure and node
>withdrawal -- only lookups on stable condition. For these
>experiments, I think it is sufficient to use only 1 successor
>(max. size of fingerList = m)?
>  
>
correct.

>  
>
>>Ion
>>
>>PS. Also note that in most cases chosing
>>size(fingerList) = 3*logN is good enough
>>since the first log(2log(N)) proper fingers
>>will be shared with the 2*log(N) successors,
>>so in practice you can accommodate log(N) +
>>log(2log(N)) proper fingers.
>>    
>>
>
>Ah, I forgot that fingerList only keep unique fingers. That's why,
>its size can be smaller than (max_successors + max_fingers - 1).
>
>However, I'm still confused about #shared_proper_finger, log(2log(N)).
>By "2log(N)" do you mean "2*log(N)" or "log_2 (N)"?
>  
>
I meant 2*log(N). Assuming that the successor list is 2*log(N), and the
nodes are uniformly distributed, then the expected number
of proper fingers in the successor list is log(2*log(N)).

Best,

Ion

PS. If you have more questions, you can send them directly
to me.



More information about the chord mailing list