Increasing LTSP Framerate

Given that we are presently using an LTSP setup in our office, we could continue to use our old desktops as terminals while investing in better shared server hardware. While most of the desktop terminals were running fine, capable of full-HD playback, one machine was unable to do so.

This machine was an older Compaq desktop model CQ2320D that came with an Atom 330 and a 100Mbps built-in LAN. Initial performance was terrible, with horrible frame-rates even for normal desktop applications. This was attributed to the slow network as it was saturated.

So, we replaced the built-in 100Mbps LAN with a PCI-E 1Gbps card. Thankfully, this desktop came with a PCI-Ex1 expansion slot, which is perfect for a network card. The result was a very usable framerate for normal desktop applications, but terrible for streaming video.

While the network was capable of hitting 885Mbps (according to iperf), it was only doing about 30MB/s while watching a youtube video. Further measurements indicated that the machine was saturating single threaded performance. However, the culprit wasn’t X11 but rather SSH.

I suspected that this was caused by the ciphers. To test out this theory, I switched LTSP to use direct X11 connections, bypassing SSH. As a result, the frame-rate increased tremendously and the network hit the 110MB/s peak transfer rate, which would have saturated the bandwidth.

So, using verbose SSH logging, I checked what cipher was used and found out that it was defaulting to AES128-CTR as the cipher. Checking out benchmarks of SSH ciphers, it was obvious that this was a slow cipher.

Therefore, I replaced the default cipher with RC4 and the performanced dropped back to a rather respectable 45MB/s while watching the same youtube video. Unfortunately, there is not much further performance gained by using any other cipher.

Since encryption was rather important on this particular machine, this was the trade-off that was achieved – a little less security for a little higher framerate. If user security was not important, we could have really high framerates even on underpowered hardware.