Coda File System

Re: concerning my previous mail

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Mon, 1 Nov 1999 11:45:12 -0500
On Mon, Nov 01, 1999 at 10:42:39AM -0500, Remo Strotkamp wrote:
> Hi there,
> 
> I wrote a rather long mail just a couple of days back.
> I did not get any feedback at all, so I am wondering a bit,
> why this is so:
> 
> - Has my mail been in any way offensive???
> - Was the content and the questions just plain stupid, and as this not
> worth of a reply???
> - Was the mail not understandable???
> - Is the codalist dead???
> - Is coda dead??
> - Are you guys all at conferences????
> - Are you bears and already in wintersleep??? ;-)

Hi Remo,

No to all questions, but almost right. I guess everybody is busy. Or at
least I have been, and as I haven't spent a lot of time thinking about
large server setups, it takes some time for me to work through the
things you are asking/suggesting.

Basically, I was hoping someone would jump in and say; Oh yeah, we did
that and such and so...

> or am I simply too impatient???
> 
> if anybody reads this PLEASE just hit reply so at least I know
> somebody is listening out there....
> 
> And if you have a little bit of spare time tell me whether:
> 
> a) I will never get answers for my previous mail

Well, sometimes the harder questions don't get an answer very quickly,
and have to be repeated.

Peter Braam did some experiments running multiple coda-servers on one
machine, and concluded that this way, one machine could be scaled up to
something like a 1/2 terabyte fileserver by running 10 coda server
processes. But ofcourse this is mostly based on extrapolation, nobody
ever tried it in real life.

Some optimizations are definitely required. At the moment RVM-data is a
big chunk of anonymously mapped memory. At initialization time the date
from the RVM file/partition is read into this memory. During this
initialization on Linux, every block of data occupies about 3 places of
memory (swap, buffer and page cache?). So once the machine starts
swapping during the rvm setup, everything crawls. On a fileserver with
about 128MB memory the difference between a 200 and 300 MB rvm data
partition is very, very noticable. btw. *BSD's are somewhat faster in
doing this compared to Linux, as they use an unbuffered (raw) character
device to read the rvm-data partition avoiding some useless copies in
memory.

One solution which we experimented with is a private mapping of the rvm
data, which improves startup times dramatically. But we can only mmap
from a file and not from a device or partition. Therefore a lot of the
speedup is lost in the long run as RVM on files is slower than RVM on
partitions.

Other issues like, how many clients can any single server handle. Coda
is a stateful filesystem and is keeping track of callback promises and
writeback permits for the clients.

We definitely want to look deeper into these kinds of scalability issues
over the next few months.

> this would be really helpful for us to plan our use of this fileserver

Have you tried a small scale setup? i.e. 5GB server, 2-3 clients, maybe
Coda is just the right thing, maybe it just isn't (yet). You can only
find that out by doing a small scale pilot project.

> remo

l8r,
    Jan
Received on 1999-11-01 11:48:57