[OpenAFS-devel] fileserver parameters

Jeffrey Hutzelman jhutz@cmu.edu
Thu, 30 Jun 2005 23:22:43 -0400


On Thursday, June 30, 2005 10:08:50 PM -0400 Jeffrey Altman 
<jaltman@columbia.edu> wrote:

> Troy Benjegerdes wrote:
>
>> Do you wind up serializing multiple calls into 1 TCP stream? How hard
>> would adapting this work to SCTP be?
>
> One tcp socket connection is used for one bi-directional rx_connection.
> Multiple calls in both directions share the same tcp connection.

To clarify, this is true even in the case of multiple _simultaneous_ calls. 
The traditional UDP-based Rx protocol allows up to four simultaneous calls 
per connection, with independent windowing for each call stream.  The RxTCP 
protocol design allows the server to specify the maximum number of 
simultaneous calls on a per-connection basis, with a hard maximum of 255 
active calls per connection.  However, the server must allocate resources 
for a connection based on the permitted number of simultaneous calls, even 
if they are not all in use; thus, allowing more calls per connection 
consumes more resources per connection.

I am told that in order to simplify certain things, the initial RxTCP 
server implementation will retain the 4-call-per-connection limit. 
However, I would expect this to become a tunable parameter some time in the 
future.

> I do not expect that providing an STCP transport once this work is
> done will be all that hard.

It's certainly not out of reach, but I think it is harder than you think. 
I'm hoping we will have time to discuss this in Sweden next month, though I 
expect it will be lower priority than the protocol design work needed to 
integrate things like rxgk and rxk5.  What happens at hackathons tends to 
depend a lot on the interests of those attending.

-- Jeff