RE: returning results for partial downloads

"Serguei Osokine" <[email protected]>
Newsgroups gmane.network.gnutella.devel
Message-ID <[email protected]>
On Saturday, October 06, 2007 Michael Rogers wrote:
> In terms of comparing strategies, you could compare bytes downloaded
> per byte uploaded or bytes downloaded in a given time.

	So it is your intent to compare how multiple algorithms fight
each other on the same network? Thanks, I missed it. Thought that you
are going to load the same algorithm on all the nodes and see what
happens.

	But is the best fighter algorithm necessarily the best one for
the network as a whole? Let's say you have two algorithms: 'generous
giver' and 'shameless leecher'. You load them on the network, and
shameless leacher beats the generous giver hands down in you metrics
of bytes downloaded per bytes uploaded. But does it mean that the
shameless leecher algorithm has any useful qualities? Not necessarily.

	Am I missing something in what you're going to do?

	Best wishes -
	Oso.


-----Original Message-----
From: [email protected] [mailto:[email protected]]On Behalf
Of Michael Rogers
Sent: Saturday, October 06, 2007 3:10 PM
To: [email protected]
Subject: Re: [the_gdf] returning results for partial downloads


Serguei Osokine wrote:
> 	Nice to see someone doing some math on that subject. However,
> after the first cursory reading I was not able to understand - what
> is it exactly  that you are aiming to maximize? Is it your goal to 
> maximize the cumulative upload rate of the network, or you also 
> want to divide it between the downloaded in some fair way? What
> is your definition of fair, if this is the case? I mean, you need
> to calculate a single one-dimensional value (call it the algorithm
> quality or utility) for each algorithm to compare them, right? What 
> is this value and how is it calculated?

Hi Serguei,

Each node is selfishly trying to maximise the number of bytes downloaded
per byte uploaded - the expected utility of uploading a byte is the
number of bytes you can expect to download in return, based on the
number of bytes uploaded to and downloaded from each peer so far. I've
tended to interpret that in terms of maximising the download speed for a
given upload speed, but as far as I can see you could use the same
strategies to minimise the upload speed for a given download speed.

Because there's no explicit choke/unchoke signalling and the utilities
are cheap to calculate, the selection could be made very frequently
(send a packet, choose the recipient of the next packet, repeat).

I haven't explicitly aimed to maximise the total download speed, but I'm
hoping the best selfish strategies will also be Pareto efficient as in
the prisoner's dilemma. Fairness is harder, especially since there seem
to be two contradictory definitions - "equal benefit for all" or
"benefit proportional to contribution" - so I tend to steer clear of
that word. ;-)

In terms of comparing strategies, you could compare bytes downloaded per
byte uploaded or bytes downloaded in a given time.

Cheers,
Michael


 
Yahoo! Groups Links
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.