Matthew Toseland wrote:

> On Thu, Dec 14, 2006 at 06:35:32PM +0000, Michael Rogers wrote:
>> toad wrote:
>> >>> Are you allowing *ALL* requests
>> >>> to complete before reporting the result?
>> >> No, I'm taking a slice of the simulation in its steady state and
>> >> counting the number of messages sent and received in that slice.
>> > 
>> > If it is actually a steady state - is it?
>> 
>> It's hard to be sure. FIFO seems likely to reach a steady state quite
>> quickly because nothing stays in the network for very long, especially
>> with short queues. But with LIFO I'd imagine it's possible for packets
>> to sit at the bottom of the queue for a very long time.
> 
> Which is precisely why LIFO sucks... FIFO has a more or less fixed
> latency for a given load, it forces requests to wait in line. Whereas
> LIFO encourages anti-social behaviour such as cancelling and trying
> again every 10 seconds. So it's not practical - but I'm very surprised
> that we are getting apparently good results for it.

But the fixed latency of FIFO can be *ages* (look at ed2k). This reminds me
of a discussion in the gnutella ML some years ago, where some lead
developer (of bearshare IIRC) and other people advocated that queues should
be completely dropped (admittedly they had not much support, but one of
them was the big theorist in there, kinda like oskar here?).

*digging*
http://groups.yahoo.com/group/the_gdf/message/16137

As I see it, if LIFO indeed had better throughput (not proved in any case),
we could still use it for a low priority global queue (i.e.
inserts/downloads of big files), where the user has no practical say about
cancel/request.

I'm also not sure of the degree of unfairness if you maintain queues per
peer instead of a single global queue, and drop duplicated queries.

I reckon that LIFO can be seen as my current pet theory, and that's the
principal reason I want to explore it: to be convinced that we're not
overlooking a simple mechanism that can perform well. What attracts me of
it is that, in principle, is very simple: LIFO+dropping requires no tuning.
As always that some idea gets urgent in my mind, I'm already devoting to it
too much time. I'm the first one who wants to see LIFO as useless and move
on.


Reply via email to