[PROXYPER] Is 30x a lemon?

Jeff Lawson jlawson at bovine.net
Mon Feb 15 20:51:27 EST 1999

In the text file that accompanies 304, you will see the notice that
logcompressor is intentionally disabled.  In previous 300 builds, it was
enabled, but when it was triggered, a corruption of the buffer files would
result.  The problem has been identified and fixed, but I am not yet ready
to release the next version.

The use of memory buffers to cache blocks from buffers is a performance
enhancement designed to reduce the latency involved in serving clients and
also to reduce disk accesses by combining access of the buffers into
single operations.

As exmplained, the purpose of adding locking was to reduce lost, wasted,
and duplicated blocks, which could all be effects.  Particularly with the
buffer structure of the new proxies, the entire buffer is not held in
memory and only those that are "cached" are.  Being able to continue
accessing the blocks within the buffer is dependent upon the buffer
remaining in the state that they were last left by the last operation by
that proxy.  Modifications made to the proxy buffers by another
simultaneously executing proxy *will* cause an inconsistency in the
buffers upon the first modification, which will only compound with each
additional write made by either.

The locking is not intended to eliminate the need for dupe checking.  It
is intended to reduce wasted work, which will have the effect of reducing
the number of dupes (not dupe checking).  In fact, with the conversion of
the master to a 300+ build, dupe checking has been made much more accurate
and complete.  Due to various issues in the old master code, dupe checking
was actually not fully complete, and there were some complex overlapping
combinations that could go unchallenged.

As I've brought up a number of times before, although it is possible to
run a proxy on a low-end user machine, it should really be treated with
the respect that you would offer a dedicated server machine.  One would
certainly take efforts to avoid powering down their multiuser enterprise
Solaris or NetWare machine without properly shutting down and allowing
disks to be synced and umounted.

Jeff Lawson   http://www.cs.hmc.edu/~jlawson/   http://www.bovine.net/
Jeffrey_Lawson at hmc.edu   jlawson at bovine.net    bovine at distributed.net
Programmer, Developer, Mascot, Founder of the largest computer on earth!
Don't waste those cycles!  Put them to use!  http://www.distributed.net/

On Mon, 15 Feb 1999, Petr Novotny wrote:

> while I was upset a but about problems with detaching (and I changed 
> start up scripts), and while I still can't run logcompressor (neither 
> gzip nor rm), I wouldn't consider these problem too big.
> I don't know if locking was neccessary (and the explanation sounded 
> lame - does that mean that once you're locking personal proxies, you 
> can cut out dupe-checking code from the master?) but I can certainly 
> live with that (added -unlock and -repair to startup scripts).
> What I still do not understand is that a part of the buffers is never 
> flushed to the disc. Is that really neccessary? It did cost me 
> already a few hundred block - and it will keep costing me more blocks 
> in the future. I am not going to back up the proxy computer with UPS 
> and stuff.
> I would really appreciate if someone would, really carefully,
> explain me why I have to sacrifice a part of my keyrate - what big
> gain for the comunity I am serving. Until I see that explanation, I
> consider 30x a lemon and myself a lab rat. (But I'll keep using it
> since I don't want to care about "client v.xxxx needs proxy at least
> v.yyyy".)

To unsubscribe, send 'unsubscribe proxyper' to majordomo at lists.distributed.net

More information about the proxyper mailing list