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
for Proportion (the maximum), compared to
for
k-Choices and
for Transfer. Performance for k-Choices
in passive mode declines after 10 queries/node. We plot
;
performed about
worse and
performed about
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.