[ssh_x509] HPN DynamicWindow

ssh_x509 at roumenpetrov.info ssh_x509 at roumenpetrov.info
Tue Sep 4 22:44:25 EEST 2018


Hello,

New branch https://gitlab.com/secsh/pkixssh/tree/hpn_dynwin is created 
and just pushed on part of HPN patch set - DynamicWindow.

Update is still under review and some modifications are not clear to me.
For instance client does not advertise any more HPN functionality. On 
other side one server related update point that functionality is used 
when connection in to non-hpn.

More important is the patch decrease performance. Test is local network 
between PC with linux kernel 4.4.153. Server runs PKIX-SSH 11.4 . On 
client side is tested rsync with 50M file.

First test is with PKIX-SSH 11.4 client, second and third are use build 
from specified above branch. Second is with default HPN options and 
third test is with options -o HPNDisabled=yes -o TcpRcvBufPoll=no that 
should disable HNP functionality at all. On each round was run all three 
tests. Remark before each test file is removed on remove host.

Results:
$ rsync -av --progress ./hpn_dynwin.data rumen at xxxx:/dev/shm/
      52,428,800 100%    4.64MB/s    0:00:10 (xfr#1, to-chk=0/1)
      52,428,800 100%    4.57MB/s    0:00:10 (xfr#1, to-chk=0/1)
      52,428,800 100%    4.62MB/s    0:00:10 (xfr#1, to-chk=0/1)
      52,428,800 100%    4.48MB/s    0:00:11 (xfr#1, to-chk=0/1)
      52,428,800 100%    4.55MB/s    0:00:10 (xfr#1, to-chk=0/1)

$ rsync -av --progress ./hpn_dynwin.data -e 
../hpn_dynwin-1.1.0_stable/ssh rumen at xxxx:/dev/shm/
      52,428,800 100%    4.49MB/s    0:00:11 (xfr#1, to-chk=0/1)
      52,428,800 100%    4.50MB/s    0:00:11 (xfr#1, to-chk=0/1)
      52,428,800 100%    4.45MB/s    0:00:11 (xfr#1, to-chk=0/1)
      52,428,800 100%    4.39MB/s    0:00:11 (xfr#1, to-chk=0/1)
      52,428,800 100%    4.52MB/s    0:00:11 (xfr#1, to-chk=0/1)

$ rsync -av --progress ./hpn_dynwin.data -e 
../hpn_dynwin-1.1.0_stable/ssh-nodynwin rumen at xxxx:/dev/shm/
      52,428,800 100%    4.46MB/s    0:00:11 (xfr#1, to-chk=0/1)
      52,428,800 100%    4.34MB/s    0:00:11 (xfr#1, to-chk=0/1)
      52,428,800 100%    4.43MB/s    0:00:11 (xfr#1, to-chk=0/1)
      52,428,800 100%    4.37MB/s    0:00:11 (xfr#1, to-chk=0/1)
      52,428,800 100%    4.51MB/s    0:00:11 (xfr#1, to-chk=0/1)

As is visible always 1(standard) > 2(hpn) > 3 (no-npn). With other words 
non-patched cleant is about 2.3% faster.


On next day test was repeated with just started PC-s:
$ rsync -av --progress ./hpn_dynwin.data rumen at xxxx:/dev/shm/
      52,428,800 100%    7.51MB/s    0:00:06 (xfr#1, to-chk=0/1)
      52,428,800 100%    7.47MB/s    0:00:06 (xfr#1, to-chk=0/1)
      52,428,800 100%    7.47MB/s    0:00:06 (xfr#1, to-chk=0/1)

$ rsync -av --progress ./hpn_dynwin.data -e 
../hpn_dynwin-1.1.0_stable/ssh rumen at xxxx:/dev/shm/
      52,428,800 100%    7.28MB/s    0:00:06 (xfr#1, to-chk=0/1)
      52,428,800 100%    7.27MB/s    0:00:06 (xfr#1, to-chk=0/1)
      52,428,800 100%    7.28MB/s    0:00:06 (xfr#1, to-chk=0/1)

$ rsync -av --progress ./hpn_dynwin.data -e 
../hpn_dynwin-1.1.0_stable/ssh-nodynwin rumen at xxxx:/dev/shm/
      52,428,800 100%    7.23MB/s    0:00:06 (xfr#1, to-chk=0/1)
      52,428,800 100%    7.23MB/s    0:00:06 (xfr#1, to-chk=0/1)
      52,428,800 100%    7.25MB/s    0:00:06 (xfr#1, to-chk=0/1)

Once again 1(standard) > 2(hpn) > 3 (no-npn). standard is about 2.8% faster.

Remark: no idea yet why with just started PC speed is about 7.5MB/s


I will try to find which modification leads to performance regression 
but for now HPN is not acceptable.


Regards,
Roumen Petrov




More information about the ssh_x509 mailing list