Our third experiment examines how the load balancing algorithms responded to different degrees of applied workload using trace-driven churn and capacity. In almost all cases, we found k-Choices performed the same as or better than the other algorithms.
Each experiment used the Gnutella trace as described in Section V. Each ran for twelve hours with statistics recorded for the second half of the experiment. We varied the applied query load by orders-of-magnitude and recorded the percentage of queries that reached their destination. This experiment captures factors such as artificial churn and large numbers of VSs per node that some of the algorithms induce.
We plot the results in Figure 13. They show that
all of the algorithms, except for Threshold, can sustain high
success rates when queries are uniform, although k-Choices and
Transfer do slightly better Proportion.  At 100
queries/node, the  percentile of the number of VSs/node was
 percentile of the number of VSs/node was
 for Proportion (the maximum), compared to
 for Proportion (the maximum), compared to  for
k-Choices and
 for
k-Choices and  for Transfer.  Performance for k-Choices 
in passive mode declines after 10 queries/node.  We plot
 for Transfer.  Performance for k-Choices 
in passive mode declines after 10 queries/node.  We plot
 ;
;  performed about
 performed about  worse and
 worse and  performed about
performed about  better at this workload level.
 better at this workload level.
When queries are skewed ( ), only k-Choices and
Transfer can sustain high query rates.  At this
level, the other algorithms are unable to maintain low utilization
of low capacity nodes.
Log(N) VS performed worse
than No Load Balancing in these experiments and is not shown
in the figures.
), only k-Choices and
Transfer can sustain high query rates.  At this
level, the other algorithms are unable to maintain low utilization
of low capacity nodes.
Log(N) VS performed worse
than No Load Balancing in these experiments and is not shown
in the figures.