High Performance SSH/SCP - HPN-SSH when?

Chris Rapier rapier at psc.edu
Thu Apr 6 08:23:29 EST 2006


Darren Tucker wrote:

> The existing buffer limit is 10MB so unless you have paths with a
> BDP/TCPWINSZ of 10MB or higher (do you?) then I think you'll see your
> throughput go up a little or your CPU and memory utilization go down a
> little.

I've changed this to 32MB. This should handle up to 3.2Gbps at 80ms RTT 
- which is a little low for some applications. However, I think I have a 
way to handle this later on.

> At the moment, you do this in channel.c:
> -limit = MIN(limit, (BUFFER_MAX_LEN - BUFFER_MAX_CHUNK - CHAN_RBUF));
> +limit = MIN(limit, (BUFFER_MAX_HPN_LEN-BUFFER_MAX_CHUNK-CHAN_RBUF));
> 
> Instead, I suggest leaving the existing line and adding something like:
> 	limit = MIN(limit, gettcpwinsz());
> or
> 	limit = MIN(limit, 2 * gettcpwinsz());

I made this change. It only checks multiple times if the option to do 
tcp buffer polling is enabled. It stores the channels associated 
connections window size in c->tcpwinsz now.

I also cleaned up some other stuff in channel.c for the sake of clarity 
and cleaned up some logic errors in other locations.

This latest version of the patch can be found at
http://www.psc.edu/networking/projects/hpn-ssh/hpn12v5.diff.gz
Usage notes can be found at
http://www.psc.edu/networking/projects/hpn-ssh/ssh-hpn12.notes

Let me know if anyone finds anything out vis a vis performance. I didn't 
have the time to test it for anything except functionality today. Its 
been an annoyingly busy day.




More information about the openssh-unix-dev mailing list