Operating System Support for Multi-User, Remote Grphical Interaction
Alexander Ya-li Wong, Margo Seltzer
The emergence of thin client computing and multi-user, remote,
graphical interaction revives a range of operating system research
issues long dormant, and introduces new directions as well. This
paper investigates the effect of operating system design and
implementation on the performance of thin client service and
interactive applications. We contend that the key performance metric
for this type of system and its applications is user-perceived
latency and we give a structured approach for investigating operating
system design with this criterion in mind. In particular, we apply
our approach to a quantitative comparison and analysis of Windows
NT, Terminal Server Edition (TSE), and Linux with the X Windows
System, two popular implementations of thin client service.
We find that the processor and memory scheduling algorithms in both operating systems are not tuned for thin client service. Under heavy CPU and memory load, we observed user-perceived latencies up to 100 times beyond the threshold of human perception. Even in the idle state, these systems induce unnecessary latency. TSE performs particularly poorly despite scheduler modifications to improve interactive responsiveness. We also show that TSE's network protocol outperforms X by up to six times, and also makes use of a bitmap cache which is essential for handling dynamic elements of modern user interfaces and can reduce network load in these cases by up to 2000%.