[OpenAFS] Transfer rates under OpenAFS client for Windows

Jeffrey Altman jaltman@your-file-system.com
Wed, 04 Jul 2012 00:37:10 -0400

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 7/3/2012 8:30 PM, Jeffrey Altman wrote:
> On 7/3/2012 4:27 PM, Danko Antolovic wrote:
>> My first question is why copying from the client to the file server is=

>> so much slower (by a factor of  2 or 3) than the other way around. The=

>> other question is why the network utilization, at least as reported
>> under Windows, never approaches the line rate, even at quiet times, bu=
>> rather stays below the caps of 70 and 30 percent.
> It won't go any faster with the OpenAFS RX implementation.

to provide additional details.  The windows cache manager stores a file
in 4K buffers.  In order to write a chunk to the file server, the client
must collect and lock the appropriate set of buffers.  Then the cache
manager must obtain a set of packet buffers from RX and copy the data
into the packet buffers.  The packet buffers and file buffers are not
aligned so the copies are quite expensive.  Then the packet data must be
processed for authentication and perhaps encryption.  Finally the packet
data is copied once more into the network packet buffers.

The OpenAFS rx stack does not provide a mechanism by which the cache
manager can lend the file buffers for use as packet buffers.  Such an
implementation cannot be implemented in the existing RX implementation
because rx objects are not reference counted.

This process is much less efficient than the unix cache manager but is
more flexible.  The AFS cache to Windows system (page) cache interface
is very fast and can support up to 800MB/second transfers.  The rx
interface is the current bottleneck.

Jeffrey Altman

Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

Version: GnuPG v1.4.9 (MingW32)