[OpenAFS] oAFS & Arla
Jeffrey Hutzelman
jhutz@cmu.edu
Mon, 19 Jul 2004 12:13:23 -0400
On Friday, July 16, 2004 15:19:34 -0700 Mike Fedyk <mfedyk@matchmail.com>
wrote:
>> - Arla has a cool adaptive mechanism that decides which replica to use.
>>
>>
> Like the replica with the fastest response, or lowest hop count or what?
Actually, it's much cooler than that. Arla keeps track of the apparent
performance of each server it talks to (which can be a function of actual
fileserver capabilities, network speed, distance, load, etc), and
dynamically adjusts what fraction of its requests are sent to each server
accordingly.
>> - The OpenAFS client is completly written in the kernel, which is not
>> only scary but also hard to port to new plattforms, it also limits the
>> ammount of coll features you want to implement.
>>
>>
> Ahh, no wonder the Linux Kernel people don't like OpenAFS much...
Eh. It actually seems to be the case that their problem is threefold:
- They don't use AFS.
- They continue to see it as some evil commercial binary-only thing.
- They can't stand anything that doesn't conform to their latest
architectural ideals.
It's worth noting that the NFS client _and server_ live almost entirely in
the kernel, and they don't behave as if they hate that.
And NFSv4 is going to be very similar, and they don't claim to hate that.
> So the LK guys removed the export of syscall_table, what mechanism did
> they replace it with?
None whatsoever.
> I saw something about a hook for NFS. Is it not generic enough?
No. The technique used for sys_nfsservctl would work for our system call
as well, but it requires a compiled-in function which is the actual target
of the syscall and hands off control to the module iff it is loaded. We've
asked for such a hook to be added for afs_syscall, and it hasn't happened
yet.
And, it won't help us with PAG management.
> If the licenses aren't mixable in a single file, maybe they're link
> mixable. BSD in one file, IPL in another...
> BTW, where did the AFS code in vanilla kernel.org 2.6 come from?
It came from a developer at RedHat. It is worth noting that that code is
currently very incomplete, and while it uses the same messages on the wire
that AFS does, it does not fully implement the semantics of the AFS
protocols. Whether this will ever change is not something I'd care to
guess at.
-- Jeffrey T. Hutzelman (N3NHS) <jhutz+@cmu.edu>
Sr. Research Systems Programmer
School of Computer Science - Research Computing Facility
Carnegie Mellon University - Pittsburgh, PA