These results show the transfer of a 200MB file from a variety of hosts to a test host over 100 iterations. The test used standard ssh/scp or hpn12v5 ssh/scp as clients on the test host. Data was pulled from the remote hosts using the RC4 cipher. All other defaults were used on the command line. All bandwidth delay products are under 64kB as measured by the 'theoretical' network bandwidth reported by iPerf 1.7.0.
128.182.160.xxx is a Mac Mini running OS X 10.4.6 using 100bT
dexter is a i386 Linux 2.6.9 machine using an HPNSSH server using 100bT
kirana is a i386 SMP Linux 2.6.16-web100 machine using 1000bT
Conclusion: hpnssh 12v5 does not show any evidence of performance degredation in these test environments. In some instance evidence indicates that hpnssh may provide a performance boost even in local and campus area networks in some circumstances. However, this will require more testing to verify and even then is dependent on multiple factors internal and external to ssh.
Guide: hpn: all defaults used hpnd: hpn code functionality disabled hpne: TCP receive buffer polling enabled hpnnon: hpn buffer set to 256k for standard to hpn transfers hpnscp: hpn scp with defaults hpnscpd: hpn scp with hpn disabled hpnscpe: hpn scp with TCP receive buffer polling enabled hpnscpnon: hpn scp buffer set to 256k for standard to hpn transfers ssh: standard ssh transfer scp: standard scp transfer 128.182.xxx.xxx->delta min med max avg sd hpn 9.22MB 10.58MB 10.75MB 10.44MB 0.339MB 21.70s 18.90s 18.61s 19.18s 0.660s hpnd 7.86MB 8.94MB 9.07MB 8.79MB 0.300MB 25.46s 22.36s 22.06s 22.77s 0.815s hpne 8.73MB 10.45MB 10.58MB 10.28MB 0.387MB 22.90s 19.13s 18.90s 19.49s 0.786s hpnnon 7.98MB 9.15MB 9.28MB 9.02MB 0.275MB 25.05s 21.85s 21.55s 22.19s 0.710s hpnscp 8.50MB 10.53MB 10.69MB 10.35MB 0.416MB 23.53s 18.99s 18.71s 19.37s 0.853s hpnscpd 4.86MB 8.83MB 8.97MB 8.48MB 0.747MB 41.14s 22.64s 22.31s 23.83s 2.814s hpnscpe 8.93MB 10.42MB 10.54MB 10.27MB 0.362MB 22.40s 19.17s 18.97s 19.50s 0.742s hpnscpnon 3.68MB 8.01MB 9.18MB 7.74MB 1.392MB 54.31s 24.95s 21.78s 26.92s 6.247s scp 4.92MB 8.68MB 8.91MB 8.20MB 0.913MB 40.66s 23.04s 22.44s 24.77s 3.489s ssh 5.01MB 8.45MB 9.06MB 8.00MB 1.170MB 39.91s 23.67s 22.08s 25.66s 4.505s dexter->delta min med max avg sd hpn 10.75MB 11.09MB 11.10MB 11.07MB 0.055MB 18.60s 18.03s 18.02s 18.07s 0.091s hpnd 10.90MB 11.08MB 11.08MB 11.07MB 0.021MB 18.35s 18.05s 18.05s 18.06s 0.035s hpne 10.82MB 10.90MB 10.96MB 10.90MB 0.015MB 18.48s 18.34s 18.25s 18.35s 0.025s hpnnon 10.93MB 11.08MB 11.09MB 11.08MB 0.017MB 18.30s 18.05s 18.04s 18.06s 0.027s hpnscp 10.95MB 11.06MB 11.08MB 11.05MB 0.017MB 18.27s 18.09s 18.05s 18.10s 0.027s hpnscpd 10.91MB 11.03MB 11.05MB 11.03MB 0.019MB 18.33s 18.13s 18.09s 18.13s 0.031s hpnscpe 10.85MB 10.89MB 10.97MB 10.89MB 0.016MB 18.43s 18.37s 18.23s 18.36s 0.027s hpnscpnon 10.75MB 11.04MB 11.08MB 11.04MB 0.038MB 18.61s 18.11s 18.05s 18.12s 0.063s scp 10.70MB 11.03MB 11.06MB 11.01MB 0.058MB 18.69s 18.14s 18.09s 18.16s 0.097s ssh 10.95MB 11.09MB 11.09MB 11.09MB 0.017MB 18.27s 18.03s 18.03s 18.04s 0.028s kirana->delta min med max avg sd hpn 18.44MB 22.43MB 26.37MB 23.15MB 2.189MB 10.85s 8.76s 7.58s 8.72s 0.832s hpnd 13.86MB 22.35MB 23.07MB 22.10MB 1.088MB 14.43s 8.95s 8.67s 9.08s 0.624s hpne 13.36MB 25.34MB 26.23MB 24.48MB 2.241MB 14.97s 7.89s 7.62s 8.27s 1.079s hpnnon 10.03MB 24.96MB 26.14MB 24.31MB 2.033MB 19.95s 8.01s 7.65s 8.33s 1.283s hpnscp 13.53MB 24.94MB 26.00MB 24.12MB 2.132MB 14.79s 8.01s 7.69s 8.38s 0.975s hpnscpd 13.96MB 22.40MB 25.15MB 22.39MB 1.402MB 14.33s 8.93s 7.95s 8.98s 0.727s hpnscpe 19.84MB 25.15MB 26.04MB 24.51MB 1.480MB 10.08s 7.95s 7.68s 8.19s 0.543s hpnscpnon 17.88MB 24.96MB 26.00MB 24.35MB 1.458MB 11.18s 8.01s 7.69s 8.25s 0.555s scp 21.29MB 23.54MB 25.08MB 23.51MB 0.867MB 9.39s 8.49s 7.98s 8.52s 0.318s ssh 17.31MB 22.56MB 23.74MB 22.53MB 0.678MB 11.55s 8.86s 8.43s 8.89s 0.317skirana, as stated above, is making use of the web100 autotuning core. While the use of an autotuning kernel does make it much easier to maximize throughput in many cases there are situations in which the interactions between various buffers places it in a pathological state. This seems to be true on very low latency links that might be seen in a lan or campus network. However, on higher latency links the performance is equivilant or superior to non-autotuning kernels.
Conclusion: In low latency networks if the client is running from on an autotuning kernel disabling HPN functionality or, even better, setting the HPN buffer to 256k seems to maximize performance.
128.182.xxx.xxx->kirana
min med max avg sd
hpn 9.29MB 10.61MB 10.74MB 10.47MB 0.330MB
21.53s 18.86s 18.61s 19.13s 0.644s
hpnd 8.01MB 9.01MB 9.15MB 8.93MB 0.219MB
24.98s 22.20s 21.85s 22.41s 0.574s
hpne 9.19MB 10.60MB 10.72MB 10.46MB 0.317MB
21.75s 18.87s 18.65s 19.14s 0.615s
hpnnon 8.21MB 9.27MB 9.39MB 9.13MB 0.295MB
24.37s 21.57s 21.30s 21.93s 0.746s
hpnscp 9.10MB 10.58MB 10.72MB 10.42MB 0.365MB
21.97s 18.91s 18.65s 19.22s 0.720s
hpnscpd 7.72MB 8.95MB 9.06MB 8.83MB 0.282MB
25.90s 22.34s 22.07s 22.66s 0.777s
hpnscpe 8.81MB 10.57MB 10.69MB 10.43MB 0.357MB
22.71s 18.92s 18.70s 19.20s 0.716s
hpnscpnon 8.09MB 9.16MB 9.24MB 9.05MB 0.233MB
24.74s 21.84s 21.65s 22.12s 0.596s
scp 7.74MB 8.89MB 8.99MB 8.79MB 0.266MB
25.85s 22.49s 22.24s 22.78s 0.733s
ssh 8.12MB 9.06MB 9.16MB 8.96MB 0.236MB
24.62s 22.08s 21.83s 22.34s 0.617s
delta->kirana
min med max avg sd
hpn 15.43MB 15.96MB 16.80MB 15.96MB 0.224MB
12.96s 12.53s 11.91s 12.54s 0.174s
hpnd 18.57MB 19.38MB 24.05MB 19.62MB 1.031MB
10.77s 10.31s 8.32s 10.22s 0.477s
hpne 7.02MB 9.07MB 10.88MB 9.17MB 0.479MB
28.49s 22.05s 18.38s 21.88s 1.137s
hpnnon 21.87MB 23.59MB 25.05MB 23.66MB 0.624MB
9.14s 8.48s 7.99s 8.46s 0.223s
hpnscp 14.05MB 14.52MB 15.87MB 14.54MB 0.248MB
14.23s 13.77s 12.60s 13.76s 0.226s
hpnscpd 16.25MB 17.91MB 20.41MB 17.96MB 0.753MB
12.31s 11.16s 9.80s 11.15s 0.445s
hpnscpe 6.44MB 7.87MB 15.55MB 8.53MB 1.842MB
31.06s 25.39s 12.86s 24.16s 3.485s
hpnscpnon 20.41MB 21.30MB 22.08MB 21.29MB 0.321MB
9.80s 9.39s 9.06s 9.39s 0.142s
scp 14.11MB 18.23MB 21.00MB 18.36MB 0.927MB
14.18s 10.96s 9.52s 10.92s 0.568s
ssh 17.73MB 19.19MB 22.84MB 19.29MB 0.733MB
11.28s 10.42s 8.76s 10.38s 0.362s
dexter->kirana
min med max avg sd
hpn 10.88MB 11.10MB 11.10MB 11.10MB 0.026MB
18.38s 18.01s 18.01s 18.02s 0.043s
hpnd 10.94MB 11.08MB 11.09MB 11.06MB 0.041MB
18.29s 18.05s 18.04s 18.08s 0.067s
hpne 11.04MB 11.10MB 11.10MB 11.10MB 0.007MB
18.11s 18.02s 18.01s 18.02s 0.012s
hpnnon 10.81MB 11.08MB 11.09MB 11.06MB 0.054MB
18.49s 18.05s 18.04s 18.09s 0.089s
hpnscp 10.90MB 11.08MB 11.11MB 11.07MB 0.043MB
18.34s 18.05s 18.00s 18.06s 0.070s
hpnscpd 10.18MB 11.01MB 11.06MB 10.95MB 0.151MB
19.65s 18.16s 18.08s 18.28s 0.260s
hpnscpe 2.34MB 11.08MB 11.11MB 10.52MB 1.832MB
85.34s 18.05s 18.00s 20.57s 9.633s
hpnscpnon 10.88MB 11.04MB 11.09MB 11.03MB 0.032MB
18.38s 18.12s 18.04s 18.13s 0.053s
scp 9.75MB 10.99MB 11.02MB 10.93MB 0.217MB
20.51s 18.20s 18.14s 18.31s 0.392s
ssh 7.03MB 11.04MB 11.06MB 10.95MB 0.562MB
28.45s 18.12s 18.09s 18.34s 1.445s