RE: returning results for partial downloads

"Philippe Verdy" <[email protected]>
Newsgroups gmane.network.gnutella.devel
Organization Ordinateur Personnel
Message-ID <[email protected]>
Michael Rogers wrote:
> The idea of using stability as a metric to be optimised in its own right
> is very interesting - I'll have to think about how to apply that locally.

Stability is in fact probably the first goal to achieve in a heterogeneous
network. Without it, no other policy can be tuned, as the system will never
converge to the conditions where this policy is applicable.

The network will naturally be heterogeneous, because each participant node
will have different goals based on their opinion about what is "fair":
maximum local download speed, or maximum distribution of upload bandwidth. I
do think that the second option is best because it globally enhances as well
the average download speed per node with more sources (so with more
stability too).

The other factor of stability is also the speed of convergence, this speed
highly depends on how much requests and results are finely grained, so that
the cycle time is reduced: convergence speed is directly linked to the
frequency of updates when tuning the policy (however you're limited for this
reduction also by the other resources: processing speed, available memory,
available routes, maximum number of open ports per process or per host; the
optimum policy will need to tune its own local policy precisely and
constantly by monitoring all the bounded resources, not just the theoretical
or measured maximum bandwidth which will also be eaten by the protocol
overhead if the cycle time is too short...).

So we need some minimum (non null) stability metric even in the worst case.
Once this minimum is reached, the system will gradually converge to ausable
state (even if some parts of the resources remain wasted; wasting resources,
such as duplicate requests through several paths is still useful to keep the
system stable, when the topology of the network is constantly changing).

I'm really convinced that the best policy will try not to maximize the total
upload or download bandwidth used, but the number of clients served, even if
each client is served completely at lower speed, because the same clients
will gain more by seeking for more other participants to what it is
requesting, and will use them. If instead of depending from a single
critical resource we depend on a much larger cluster made of heterogeneous
nodes, the stability will be better, as we can't predict how each node will
tune its policy.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.