On Nov 30, 2007, at 6:40 AM, Ed Tomlinson wrote: > Hi, > > I think freenet is slow because its having problems finding data. > The hit rates in 0.5 ranged around 5%. > in 0.7 I see 2% on cache and 0% on store. We just are not finding > data. My location shifts so fast that > other nodes have no idea what is in my node's 8G store. I strongly > suggest that we experiment with letting > the store contents limit how far from the current location we can > swap. This could easily be done with > a tunable such that the effect could be turned off or could be made > very strict. We could even use > a feedback loop to find an optimal value with the store/cache hit > rate being used to control just how strict > we are. The idea would be to minimize the swapping limitation while > maximizing the hit rate which > would decrease the path length and hence the traffic. > > In my case the node usually uses a good chunk (80-90%) of the > bandwidth I give to it. I think the > bandwidth limits work. I would agree that backout is probably not > needed and think it would be a > good idea to try with it turn off - again this would improve routing > which I think is the core of 0.7 > performance problems. > > Thanks > Ed
I have been musing on Ed's post for a while. Along with my understandings: * The contents of the datastore(s) are not given weight when considering a swap request. * For a particular CHK/SSK insert, it finds one home node to be put into the store (the rest in only cached). * If the node targeted by the insert 'drifts' sufficiently far from it's origin ** that data in the store be unfindable by the network, and ** is all-but guaranteed to be LOST forever, is it can only survive in the networks caches (if it is un-popular). Consider the following patch (completed to the furthest point that my current freenet understand can take it). - If a CHKBlock is evicted from the datastore (not cache), AND we are not (as best we can tell) "close" to where it should be, THEN re- insert that block. This approximates the decision (is this eviction OLD/UNPOPULAR or UNFINDABLE), and brings with it a rather odd perk for having small datastores (that they would find these misplaced blocks sooner). The major risk, of course, is renewing old data. I do not have the means to test this on any sizable network. Would this be a candidate for 'testnet' or simulations of which I hear? Also, I could not figure out how to revive a SSKBlock from the datastore (or find out if it is even possible). -- Robert Hailey -------------- next part -------------- A non-text attachment was scrubbed... Name: freenet-reinsert-evicts.diff Type: application/octet-stream Size: 10864 bytes Desc: not available URL: <https://emu.freenetproject.org/pipermail/devl/attachments/20071207/347a1a78/attachment.obj> -------------- next part --------------
