Operating System Support for Multi-User, Remote, Graphical Interaction

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%.

[1]  Jim Zelenka,et al.  Informed prefetching and caching , 1995, SOSP.

[2]  富士通ラーニングメディア Microsoft Windows NT Server 4.0 インターネットガイド , 1997 .

[3]  Dan Walsh,et al.  Design and implementation of the Sun network filesystem , 1985, USENIX Conference Proceedings.

[4]  Loring Holden,et al.  Providing a low latency user experience in a high latency application , 1997, SI3D.

[5]  Ben Shneiderman,et al.  Designing the user interface (2nd ed.): strategies for effective human-computer interaction , 1992 .

[6]  Jim Fulton,et al.  An update on low bandwidth X (LBX) , 1993 .

[7]  Andy Hopper,et al.  Virtual Network Computing , 1998, IEEE Internet Comput..

[8]  Paul Hudak,et al.  Memory coherence in shared virtual memory systems , 1989, TOCS.

[9]  J. Duane Northcutt,et al.  The interactive performance of SLIM: a stateless, thin-client architecture , 1999, SOSP.

[10]  Helen Custer,et al.  Inside Windows NT , 1992 .

[11]  Michael D. Smith,et al.  The measured performance of personal computer operating systems , 1995, SOSP.

[12]  Zheng Wang,et al.  Using latency to evaluate interactive system performance , 1996, OSDI '96.

[13]  Zheng Wang,et al.  Evaluating the importance of user-specific profiling , 1998 .

[14]  I. Scott MacKenzie,et al.  Lag as a determinant of human performance in interactive systems , 1993, INTERCHI.

[15]  Larry L. Peterson,et al.  RPC in the x-Kernel: evaluating new design techniques , 1989, SOSP '89.

[16]  Ben Shneiderman,et al.  Designing The User Interface , 2013 .

[17]  James Gettys,et al.  X Window system: core and extension protocols , 1996 .

[18]  길아라 [서평]Linux Kernel Internals(Second Edition) , 1999 .

[19]  Emin Gün Sirer,et al.  Design and implementation of a distributed virtual machine for networked computers , 1999, SOSP.

[20]  Steve Evans,et al.  Optimizing UNIX Resource Scheduling for User Interaction , 1993, USENIX Summer.

[21]  David A. Solomon,et al.  Inside windows nt second edition , 1998 .