The X Window System® is a portable, network transparent window system. An X server manages the resources of an X display consisting of a screen, keyboard and pointer. An X server distributes user input (events) to and accepts output (requests) from X clients which vie for display resources. X provides an environment in which servers and clients may be separated by a communications network so that application programs can use graphical interfaces on remote hosts. Servers and clients communicate through a well-defined protocol that in turn uses protocols like the Internet TCP/IP protocol suite as a transport mechanism. Separation of servers and clients by a network introduces the possibility of performance degradation due to communication delays. These delays may be either due to latency resulting from round-trip delays between servers and clients or transmission delays resulting from the volume of traffic through the communications network. The X protocol is rigidly defined at a fairly low level, so that some forms of interaction between servers and clients may require the exchange of many events and requests through the underlying transport protocol across the communications network. Thus, there are many opportunities for network communication delays to affect the execution of X programs. This paper investigates the resources required by the X protocol from the communications network to evaluate the potential for communications delays induced by X protocol traffic. A protocol analysis tool, xlog, monitors the use of the communications protocol between a server and clients, and records a log of protocol messages for post-mortem analysis. We present the results of measurements of the X protocol taken with xlog for a variety of X clients and servers communicating over a 10Mb per second Ethernet. Although the overall network usage observed was not overly high, clients and servers using the X protocol did exhibit bursty behaviour in which transitory bandwidth requirements were significant. Some X applications may induce a significant load on the communications resources provided by an Ethernet. Applications developers and network architects must be aware of the load caused by the X protocol when designing networked graphic systems.
Read full abstract