Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Feb 1996 11:19:04 -0500 (EST)
From:      "Ron G. Minnich" <rminnich@Sarnoff.COM>
To:        Kees Jan Koster <dutchman@spase.nl>
Cc:        FreeBSD hackers Mailing list <freebsd-hackers@FreeBSD.ORG>
Subject:   Re: Solaris CacheFS for FreeBSD?
Message-ID:  <Pine.SUN.3.91.960206111126.999A-100000@terra>
In-Reply-To: <199602050950.KAA00543@phobos.spase.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
w.r.t. cachefs: 

> Is there something like it under FreeBSD? Is there a quick-'n-dirty way
> to try it out and make some performance measurements? With the results
> I might persuade our sysop to trash linux and use FreeBSD instead ;)

six years ago i modified sun's automounter to perform as an autocacher. 
The way i made it work was a whole lot simpler than sun: i shadowed the
file tree on the local node from the remote node. Our observed cache usage
was that given about 2 gbytes of remote /usr/local, typically 40 mbytes of
files needed to be cached locally. I did not do this to save net
bandwidth, it was more of a management thing: when i upgraded /usr/local,
files got updated at the remote host automagically, but only if
referenced. You could run cache prune program, but rarely needed to since
the caches were so small. [See usenix winter 1991, "The autocacher:  ..."
by Minnich. ] More important if they were running an x server or whatever
out of their local cache there was no problem with unlinking it since it
was ufs-based, and the server would continue to run. Overwriting nfs-based
executables is hazardous on servers with many clients ... lots of 
fireworks, and there is really NO safe time to overwrite an nfs-based 
executable. 

i also modified amd to do the same thing. The mods are not well done, as 
i was writing a thesis at the time and the overload showed in the quality 
of my code. But if you want the amd version you can have it; it might be 
a starting point for doing it right. 

another option: i have a user-level nfs server that runs with a tcl 
interpreter built in. looks like this:

Client -> tclfs -> remote servers
            |
            |
            v
         TCL command interface. 

This has been used to do a user-level union file system, but could easily 
be used as a caching file system or whatever, depending on the tcl code. 
Most of this code was written by gene kim with me kibitzing. It is all 
available. Contact me if interested.

ron



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SUN.3.91.960206111126.999A-100000>