[RC5] Block sizes (nkeys)

Chris Eaton tridus at inforamp.net
Sat Apr 4 19:47:48 EST 1998

At 06:36 AM 04/04/98 , you wrote:
>Hello --

Hi there. :)

>Why are the blocks run by my client varying in size ("size" referring
>to number of keys)?

Alrightie, here's what I *think* happens. The proxy servers get blocks that
2^31 in size. When someone requests a smaller block, it breaks the 2^31 up
pieces to give out smaller chunks. If you are using a block size other then
2^28, sometimes you will get the leftovers from one of these broken blocks.

Eg:// I go in and request a 2^28 block. The server breaks up a 2^31 block into
a 2^30 and 4 2^28 blocks, and gives me one of them. Now you go and request two
2^30 blocks. The server will give you the one it has, and then it will lump
together the three remaining 2^28 blocks it has into a single block (shown as
3*2^28 in the logfile), and hand you that as well.

So the 3*2^28 block won't take as long as a 2^30, which is the same as four
2^28 blocks.

>Here's a list of the last 5 blocks completed by my client:
>[04/04/98 14:12:02 GMT] Completed block 66DD7A92:A0000000 (1073741824 keys)
>[04/04/98 14:43:32 GMT] Completed block 66DD7A91:B0000000 (536870912 keys)
>[04/04/98 15:15:05 GMT] Completed block 66DD7A75:A0000000 (536870912 keys)
>[04/04/98 16:02:24 GMT] Completed block 66DD7A6C:10000000 (805306368 keys)
>[04/04/98 16:18:10 GMT] Completed block 66DD7A6B:B0000000 (268435456 keys)
>This shows 4 different block sizes.
>The reason it matters is that I'm on a dialup connection and I don't
>like to let my client go to running random blocks (since that causes
>the keyrate to go down by 50%). So when I'm dialed out, I have to decide
>whether I've got enough blocks for the next 24 hours; if not, I halt
>the client, run -flush, run -fetch, and then re-start it. But if I don't 
>have a consistent blocksize, I never know if I've got enough blocks for 
>24 hours. For example, here are the times associated with the list of
>blocks above:
>                        01:03:05.17 - [283670.55 keys/sec]
>                        00:31:31.91 - [283771.76 keys/sec]
>                        00:31:32.15 - [283735.77 keys/sec]
>                        00:47:19.90 - [283568.17 keys/sec]
>                        00:15:48.04 - [283146.62 keys/sec]
>So if I have 15 blocks left in my in-buffer, I don't know if I
>have 15 hours (at 1 hr/block) or 3.75 hours (at .25 hr/block)
>of rc5 "work" left in my in buffer.

Well one way around this is to estimate. Figure out how long on average how
many blocks the client does in day, then use that number to figure out if you
have enough. You could turn your block size down to 28. At that size, all the
blocks are the same size. However, this would mean you'd have to
upload/download a lot more blocks, and the Stats server will not like you as
much. :) (it takes the machine longer to do updates if we use smaller blocks,
they generate more entries in the stats logs for the exact same amount of work
done then bigger blocks).

(based on the times you have there, I'd say it averages out to somewhere
30 minutes per block. So you could go with that figure if you leave your
settings alone) 
"In the end, I wonder if one of the most important steps on our journey is
the one in which we throw away the map. In jettisoning the grinds and
brambles of our own preconceptions, perhaps we are better able to find the
real secrets of each place; to remember that we are all extensions of our
collective history."

- Loreena McKennitt: The Book Of Secrets


To unsubscribe, send 'unsubscribe rc5' to majordomo at lists.distributed.net
rc5-digest subscribers replace rc5 with rc5-digest

More information about the rc5 mailing list