[OpenAFS-devel] Rx over TCP to solve some NAT & Firewall issues?

Joshua Johnson joshua.johnson@ftlsys.com
Thu, 20 Nov 2003 13:46:23 -0600


>
>> How involved is the current RX in the raw IO performance gap (AFS vs.
>> NFS,  FTP et. all) people bring up?
>
> i believe rx is the problem but more precisely how rx is used the
> problem.  we (nrl) had some work done to put atm into afs.  rx datagrams
> were sent directly over an atm vc.  atm pdu's are more like udp than
> tcp but that's probably not were the gains were seen.

gains? Care to (Can You) give any insight about what the gains were/are?
Linear? Order of Magnitude? Related to File/Transfer Size?

> the 'segment'
> size for rx was increased.  this created a 'new' type of jumbogram
> that wasnt a bunch of little rx datagrams packaged together (like
> 'regular' jumbograms).  regular jumbograms are typically handled via
> scatter/gather which (IMHO) isnt well implemented on many operating
> systems.

NOD.

>
> i believe (and i wish i had some time to work on this -- really) that
> if you just junked the current jumbogram scheme and make rx datagrams
> bigger (and reducing them for congestion control) you could see some
> pretty substantial performance increases.  apparently jumbograms are
> the way they are because people wanted a form of congestion control on
> afs (controlling number of rx datagrams in a packet).

I was wondering if a dynamic approach would be a good match,  because 
servers have to deal with 10G ethernet as well as T1 and dialup 
connections, and transfer sizes that can vary dramatically.  So a scheme 
that starts small, dynamically grows until saturation, then planes out may 
be a suitable approach.


Also, what about a hybrid (UDP/TCP) approach?  Perhaps keeping UDP for most 
calls (compatability) and doing TCP to _stream_ the "bulk" data (i.e. file 
read,write) as a "featured" option if both ends support it.