This is somewhat in response to the "when overloading is the normal
condition, we have to handle it more gracefully" line of argument from a
month or two ago, and mainly in response to nodes (most famously
Toast's) dropping all of their refs when there's an overload pocket
nearby.

What I propose is this: Compute a "minimum total CP" with a formula
something like 0.75*(numrefs + 1), and insure that the sum of the CP of
all the noderefs we have does not drop below this value (the appropriate
place to do this would be, of course, the Decrement CP method). If we're
decrementing and it would pull the sum below this value, re-distribute
the excess (er, anti-excess) evenly across all of the refs (yes,
including the one we're bumping down. this will make sense further down
I hope.)

It shouldn't be necessary to do anything about an upper limit, since an
individual node can't break 1.0. (Except make sure that the "add it in"
doesn't break 1.0 anywhere)

It'll still be possible to drop the CP of a node low enough that it'll
get removed, but it won't be possible to kill off a whole ton of them at
once. The fewer refs we have (or the lower the average CP gets), the
harder it gets to drag more down... it's sort of like a "waterbed theory
of CP".

Out on the swing bench, I was absolutely convinced that this would be
good for the network, but I think I've forgotten some of my best
arguments. Is anyone willing to try this? I'm still to java-incompetent
to code it, but if anyone wants to write it, I'd love to look at it. >:)

--hobbs

Attachment: msg03207/pgp00000.pgp
Description: PGP signature

Reply via email to