On Monday 10 December 2007 17:27, Robert Hailey wrote: > > On Dec 8, 2007, at 7:14 AM, Matthew Toseland wrote: > > > On Friday 07 December 2007 22:47, Robert Hailey wrote: > >> * The contents of the datastore(s) are not given weight when > >> considering a swap request. > > > > Indeed. This is entirely deliberate. We have no simulations of what > > would > > happen if we did bias by datastore contents, and we are not going to > > implement unsimulated changes to core routing, certainly not to > > swapping. > > Yeah, it seems like the swapping/routing is presently the best it has > been thus far; but I do think the 0% store hit the Ed mentions may be > a factor in freenet's slowness. I see that in my nodes as well.
Don't you think it simply means that Freenet is mostly being used for short-term storage i.e. fetching popular/recently inserted content? > > > [...] > >> 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 is going to generate an insane amount of traffic, and sabotage > > the > > natural decay of data that happens to be in the wrong place. > > In the present network, it probably would; but in theory I think that > the patch is correct (or some variant thereto). Nothing would ever be dropped from the network, because when it's considered for dropping, it would get reinserted to 20 other nodes! > > The problem is... it presumes that the network location is stable. > Now, if a nodes location in the network was presently "stable-enough", > this entire issue would not be brought up. Whenever a request would be > made, the same node that would receive it as in insert would respond > from the datastore, even for potentially really-old data, as there is > a lot of storage available on the network. > > In fact, if the network was as rock-solid, this patch would amount to > a no-op, as we are close to anything that we put in our store, then we > are close to anything that we evict and the 'closer' condition would > always be false. > > In the worst case, if two nodes have data stores exactly specialized > for there present location, and they swap locations, then they would > ~eventually~ (one block at at time) swap data stores too. At the end > of which, they would be in the same LRU-order too. > > What's more, in the case where a new node is introduced to a stable > network, any errant inserts it stores while it roams the network for > it's location would be saved. > > I imagine that insert traffic is a small percentage of total traffic > at large, and the secondary insert could be tuned differently than a > standard insert (probably in HTL). As presented, this patch would > yield an increasing rate of transfer as more inserts come in > (throttled by the thread limit). Inserts cost a lot more than requests, but yes there are fewer of them. However what you are talking about here would make inserts the overwhelming bulk of data transferred, in the long term. > > I suppose the real issue remains network-location being incompatible > with store values. > > >> Also, I could not figure out how to revive a SSKBlock from the > >> datastore (or find out if it is even possible). > > > > An SSK requires the pubkey from one datastore and the actual SSK > > from another. > > So implementing SSK healing-at-eviction-time would require several > extra database hits and an extra store-block-read, but would be > possible in theory. Yes. > > > Not true. We have mechanisms to get popular data back into the > > datastore. The > > main one is 1 in every 100 successful requests gets turned into an > > insert > > post-completion. > > > That is intriguing. I wonder how much of my 0.3% store-hit-successes > (my present value) are actually blocks recently-inserted from the 1% > healing (i.e. bleed-over from the cache). -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available URL: <https://emu.freenetproject.org/pipermail/devl/attachments/20071210/fd5196b6/attachment.pgp>
