Michael Rogers wrote: > Jano wrote: >> I have some preliminary results using LIFO queues. What I've done is >> changing all queue insertions so request are put at head instead of at >> tail. There's one queue in Node.java and three in Peer.java; I've changed >> all. Michael could comment on some brokeness this could introduce, albeit >> simulations seem to run correctly. > > It shouldn't break anything, but it seems like it might be inefficient > to allow existing searches to time out while new searches take priority. > On the other hand the same argument would seem to apply to LIFO router > queues, so my intuition is probably wrong. > > By the way, reversing the node's queue shouldn't make any difference - > no timers are started until the search leaves the queue.
So it's only the queues in Peer.java that are relevant. >> Results seem promising, although it seems LIFO alone will also collapse. >> I'll try next with a larger load range and the eight combinations in a >> single graph. > > Looking forward to it! Backoff alone seems to get good throughput at > high loads, but with a poor success rate (see the attached graphs, > averaged over three runs) - I'll be interested to see whether LIFO's > high success rate can be combined with backoff's high throughput. I have a new run going from 5 to 25 that I'll try to post this night. We'll see what it shows...