Simon Wilkinson wrote:


As you note, our Linux implementation creates two copies of the data - one in AFS's mapping, the other in the backing files. However, we cannot easily get rid of this duplication - there's no simple mechanism of bypassing the VM and 'writing into the chunk files directly'. Using direct-IO would be a possibility, but we'd need to handle doing this in the backgound, otherwise the user would end up having to wait until chunk files actually made it to the disk, and it would limit the range of filesystems we can use as a backing cache.


Simon,

the afs that we distribute (as part of SLC - Scientific Linux for CERN) works with chunk files directly from the afs_linux_{read,write} entry points, namely in order to avoid the double copy and footprint.

We only go through the VM when the file gets mmapped (nopage/readpage), which except for 'ld' and running binaries does not happen very often.

Hence, caching still happens but on the chunk file level.

We've been running that code for some 3-4 years now, alas I never got around to benchmarking it properly. Apart from very small buffer sizes I don't see why avoiding another copy could slow things down, though. I was about to submit it to openafs.org once when I discovered that I had accidentally messed up the read-ahead. And then forgot again...

It's for 1.4, though. I'd have to look at 1.5.

--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Rainer Toebbicke
European Laboratory for Particle Physics(CERN) - Geneva, Switzerland
Phone: +41 22 767 8985       Fax: +41 22 767 7155
_______________________________________________
OpenAFS-info mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-info

Reply via email to