pushp@nic.cerf.net (Pushpendra Mohta) (07/17/90)
Hi I am interested in pursuing the performance of X windows with repect to the communication overhead and local/remote processing split. 1. Where is the protocol definition documented ? 2. Have any studies been conducted on the topic posed above or similar topics ? 3. Do different vendor realizations differ in a non-trivial manner with respect to the communication/processing split posed above ? Do different releases ( i.e R3/R4) differ in this matter ? 4. Have any studies been conducted on the performance of X or other windowing systems on wide area networks like the Internet ? (I realize that this is a very vague question , I have not defined performance here, but I am looking for *ANY* studies ) 5. Is this a valid performance question ? What are other performance parameters of interest to the community ? ( Read to mean - Am I asking stupid questions ? :-) ) 6. If this is not the appropriate forum for asking these questions, what is ? Email replies will be appreciated. Enough interest will warrant posting a summary. Thank You --pushpendra CERFNet/SDSC/UCSD
jg@crl.dec.com (Jim Gettys) (07/19/90)
To answer your questions: 1) the protocol spec is in the X distribution itself, available in a wide variety of places. You can also buy the Digital Press book where it is present (and it has not changed from that version in any way but clarification of wording). 2) the best performance study I've seen was one done inside Digital; various people beat up on the author to publish the results, but I haven't seen that that has happened. This was mostly oriented toward LAN and campus area use. 3) I don't think there is very much difference from vendor to vendor on communcation processing under Unix and TCP/IP. I think there may be signficant differences between OS's and transports (for example VAX/VMS using DECnet). PC's and the like probably run with much smaller buffers, since they are memory starved. To first order, there should be relatively little change between R3 and R4; none at the X protocol level itself, but there may have been some buffering changes in either Xlib or the server that might affect how the X protocol ends up being split up into packets over TCP. Of course, the underlying TCP implementation or other network protocol implementation may also affect what packets actually appear on the network. Remember that X is a streaming protocol, not an RPC system. 4) I am not aware of any formal performance studies of X or other network window systems over WANS. Certainly many of us have used and continue to use X over such networks and have some gut feel for such situations. For example, latency is often a bigger issue than bandwidth for usable feel, and satellite lines are not appreciated (again for latency issues. 5) I'm not sure what question you are referring to. Interesting questions include how well our buffering strategies are working in the server and library, how well TCP implementations are working, what kind of effect different transmission policies have (can be dramatic, from 4.3BSD beta experience; a socket option got added for X's benefit). The other major question is who would volunteer to do the work that proper performance analysis requires; while I and others might be willing to kibitz, I certainly am not going to spend large amounts of time on the topic (I already gave at the bloodbank, back in X3-X6 days...). 6) comp.windows.x might be a bit more appropriate......... Jim Gettys Digital Equipment Corporation Cambridge Research Lab.