hanoidb/src
Kresten Krab Thorup 0009e17d4f Change delegate work computation
We were delegating too much work.  The original
algorithm description said that for each insert,
"1" unit of merge work has to be done 
*at each level* … implying that if nothing needs
doing at a level, that "not done work" does not 
add to work done elsewhere. This fix gets us back
to that situation (by always subtracting at least
2^TOP_LEVEL from the presented work amount), while
maintaining the (beneficial) effect of chunking
merge work at at anything but the last level.

Effectively, this reduces the maximum amount of
merge work done, also reducing our worst case
latency.

Now that we understand this, we can refactor the
algorithm to delegate "DoneWork", because then
each level can determine the total work, and see
if any work is left "for me".  That's next.
2012-04-30 21:38:53 +02:00
..
basho_bench_driver_hanoi.erl Rename "lsm-btree" to "hanoi". 2012-04-21 15:20:39 -04:00
hanoi.app.src Rename "lsm-btree" to "hanoi". 2012-04-21 15:20:39 -04:00
hanoi.erl Enable debug print upon opening a level 2012-04-28 18:32:50 +02:00
hanoi.hrl Implement 2i 2012-04-27 10:03:19 +02:00
hanoi_app.erl Rename "lsm-btree" to "hanoi". 2012-04-21 15:20:39 -04:00
hanoi_bbench.config Rename "lsm-btree" to "hanoi". 2012-04-21 15:20:39 -04:00
hanoi_fold_worker.erl Rename "lsm-btree" to "hanoi". 2012-04-21 15:20:39 -04:00
hanoi_level.erl Change delegate work computation 2012-04-30 21:38:53 +02:00
hanoi_merger.erl Implement merge hibernation for tail scan 2012-04-30 21:28:33 +02:00
hanoi_nursery.erl Add debug logging 2012-04-27 10:01:53 +02:00
hanoi_reader.erl New config: {read|write}_buffer_size 2012-04-30 00:06:42 +02:00
hanoi_sup.erl Rename "lsm-btree" to "hanoi". 2012-04-21 15:20:39 -04:00
hanoi_temp_riak_kv_backend.erl Rename "lsm-btree" to "hanoi". 2012-04-21 15:20:39 -04:00
hanoi_util.erl Add hanoi:transact, and CRC checks for nursery.log 2012-04-26 17:18:49 +02:00
hanoi_writer.erl New config: {read|write}_buffer_size 2012-04-30 00:06:42 +02:00
plain_rpc.erl Add debug logging 2012-04-27 10:01:53 +02:00
riak_kv_hanoi_backend.erl New config: {read|write}_buffer_size 2012-04-30 00:06:42 +02:00