chrisv@cmc.COM (Chris VandenBerg) (03/30/91)
Good morning all! Several weeks ago I floated a query to both the TCP-IP and the X list looking for information about the network load imposed by X. I received some great responses, which I have summarized here for general consumption. I have included all the respondents e-mail addresses if you wish to contact someone directly. Thanks, Chris VandenBerg CMC - A Rockwell Intl Co. 125 Cremona Dr. Goleta, CA. 93117 Internet - chrisv@cmc.com ma-bell - 805-562-3127 -----------------responses start here---------------------------- From: tmallory@BBN.COM Status: R Chris, While not very sexy, performing file system backups over the net is a necessary and bandwidth hungry application. Our corporate communications folks are concerned that an FDDI backbone might be not be enough to get all remote systems backed up to come central site in the not too far distant future. You might consider loading up 50% of the ring with this sort of traffic, and then run some of the apps that other people will be suggesting. Tracy --------------------------------- From: bill gunshannon <702WFG%SCRVMSYS.BITNET@CORNELLC.cit.cornell.edu> Subject: Re: bandwidth usage for X applications? To: Chris VandenBerg <chrisv@cmc.com> In-Reply-To: Your message of Tue, 5 Mar 91 08:21:06 PST Status: R Actually, I think you will find things are not as bad as it seems. I have been testing recently to see about running X over 9600 baud slip links. This was brought about by an ad for an X-terminal that runs off of a terminal server over an async line. I didn't believe it until I tried it myself. ---------------- -------- -------- : SPARCSTATION :_________: PC : SLIP : PC :________ Campus : Running X : Ethernet: :---------: : Network ---------------- -------- 9600 -------- : : : ------------------------ : : VAX 6320 :________: : Running : : DECWINDOWS : ------------------------ Using the above scenario, I had no problem running DecWindows applications from the SUN. I started up VUE$MASTER (The DECW Session Manager) and proceeded to launch applications. I tried the BOOK READER which is a DEC interface into their online documentation, and even had a spirited game of SOLITAIRE, graphics and all. There was only marginally noticable latency, and that could probably be tuned out by playing with network parameters or maybe running CSLIP or PPP instead of old-fashioned SLIP. This was a test that was set up in a lab in about 30 minutes. I am sure we can do better. Of course, this is just one mans findings. I would be very interested in hearing anything negative you hear. All the best. bill bill gunshannon 702WFG@SCRVMSYS.BITNET -------------------------------- From: kwe@bu-it.bu.edu (Kent England) Some people here in Information Technology at Boston University set up a test to measure network load from one X terminal doing specific X things. Here is an excerpt of what they did: +------------+ +--------------+ | | | | | diskful | | Visual | | server | | | | | | X19 turbo | | | | | +------------+ +--------------+ || || ================================================================= || subnet +--------------+ | | | LANalyzer | | | +--------------+ They ran some test cases for a variety of X terminal activities. The only traffic on the network was traffic from the X terminal and the diskful server, including all X traffic and some NFS traffic for diskless font service on the X terminal. The window manager, twm, was running on the diskful server and not on the X server. All X clients are running on the diskful server. TEST pkts/sec kBytes/sec maze 425 30 xterm tftpboot 303 92 twm: move win 220 18 resize 220 18 hold button 220 18 plaid 220 17 ico 67 12 xbench 50 20 2 xtermwins cat'ing 45 23 xclock 0.0166-1 ~~ move mouse out of win 3-5 pkts ~~ These numbers from the LANalyzer measure Ethernet frame data; source and destination MAC addresses, protocol type field, user data payload and CRC, but do not include the preamble or interframe gap. For reference purposes, Ethernet at 10Mbit/sec can transfer about 1,000 kBytes/sec of Ethernet data in maximum sized frames, after subtracting the preamble and minimum interframe gap times. The maximum number of Ethernet frames per second, assuming minimum sized legal frames, is 14,880 frames/second. These tests do not factor in the presence of routers between the X terminal and server, nor do they account for the diskful server load, given that the diskful server is bootloading, running all window managers and all X client processes and all processes under the clients (such as shells). These tests do not measure actual usage patterns. Those who really did the work: Mike Amirault (ambi@bu-it.bu.edu) Jason Heirtzler (jdh@bu-pub.bu.edu) Chuck von Lichtenberg (chuckles@bu-it.bu.edu) -------------------------------------------- From: droms@pollux.bucknell.edu (Ralph E. Droms) I have co-authored a paper to appear "soon" in Software: Practice & Experience that describes an X protocol bandwidth utilization tool, and reports the results of several experiments in which we measure the protocol usage of several clients across an Ethernet. We found: * Some applications, like xdvi and xbench, may use as much as 15% of an Ethernet in bursts. * Mouse tracking through polling (e.g., twm click-and-drag) may generate as many as 200 packets per second. * Text-oriented applications like xterm and GNU emacs do *not* add significant overhead relative to telnet and emacs-across-telnet. We did not measure any serious drawing tools like CAD/CAM applications. I would like to hear of suggestions for experiments we might conduct. We did write a *very* simple polling program that generates ~200 poll requests/second. I'd also appreciate hearing of any other responses you might receive. I know there was a paper this past year in Digital Technical Review (perhaps summer 1990 - the reference is back in my office) measuring diskless workstations generating DecWindows + distributed file system traffic. - Ralph Droms Computer Science Department droms@bucknell.edu 323 Dana Engineering Bucknell University (717) 524-1145 Lewisburg, PA 17837 ------------------------------ From: "Eric A. Anderson" <ea08+@andrew.cmu.edu> The question of how much an application uses in bandwidth depends on the application. On the other hand, I have succeeded in running real-time games (such as Xtank) across the internet backbone, and it hasn't seemed really bad(although it is noticable). The thing I would suggest is getting the program xmon from expo.lcs.mit.edu, and running your sample application through it, then look at how much of the bandwidth is being used. Alternately, watch packet counts. -Eric -------------------------------------------------- From: santa@hemlock.cray.com (Dave Sadler) I'm curious if you got any response to your e-mail request about X-Windows network bandwith needs. We get asked this question occasionally and have provided information about very specific examples. I would be interested to see whatever info you were aable to collect. The short answer to this question is that it depends entirely on what kind of application is using X and how the application is using X Windows. Sounds like a generic answer, but it is really true. It the application is trying to chase mouse motion around, then X-Windows will be sending alot of mouse position packets across the network. But, the application doesn't have to do it this way. Instead, the application can let the server chase the mouse, then send over a mouse postion packet when the button is hit. Another example is where the application is trying to product real time animation - 20 frames per second. But even in this case an Ethernet network could pretty much keep up with one application cline/server pair doing this. A 512x512 8 bit color window yields about 2 megabits of data (512x512x8) or about 262 eithernet packets ( 2mb/8,000). Then doing this as fast as you can, can produce reasonable animation sequences depending on what is being shown. Our experience shows that the biggest bottleneck in this animation scenerio is the CPU and memory speeds of the system creating the images and not the network (if you can belive that). In this example, a SUN to SUN demo can yield some pretty slow results, while a Cray to SUN can yield much better results (and also max out the network). For instance, Cray-to-SUN over Ethernet, memory-to-memory transfers rates can run in the 4 to 8 megabit range. While the same over FDDI can run in the 10 to 20 Mbit range. With these rates then, you can actually do color animation for one application client- server pair. Deputy Group Leader Cray Research, Inc. santa@cray.com 612/683-5879 -------------------------------------------------------------- From: ty@styx.desktalk.com (Tyson M. Kostan) Your right on. We recommended 8 to 10 workstations per workgroup in the environment we were working with. When doing our modeled stress tests, I was finding a Sun 4/490 was starting to drop packets at about 380pps, where the ethernet was starting to saturate (i.e. lots of collisions) at just over 500pps (I could convert pps to MBPS for you, but for the purpose of my model, that wasn't necessary). Interestingly enough, when testing Sun SLCs and comparing them to the NeXt stations, it was quite obvious how well performing the Sun ethernet subsystems can be. I could saturate the ethernet with 3 SLCs but it took about 8 NeXt stations to do it. Oh well... ------------------------------------- From: der Mouse <mouse@lightning.mcrcim.mcgill.edu> > How realistic is it to run X sessions across the Internet? I have a program that I regularly run on a McGill machine connected to a display in Switzerland. The same program is occasionally used running in Rhode Island displaying here at McGill. I sometimes have terminal windows running at various distant places. I find latency more important than bandwidth, unless you're doing something like displaying pictures that involves shovelling large amounts of data around. > If one proposed to give people access to a resource by making a > client available on a machine near a network hub, should one's > proposal be dismissed out of hand? Not for any reason related to what you've said so far. (There may be other reasons for so rejecting it, such as administrative or political reasons on the proposed machine, but that's another issue.) > For 5 simultaneous users? 100? It depends entirely on how many computrons the machine in question has available and possibly also on the characteristics of its network connectivity. (You probably don't want to annoy your regional net by eating up large chunks of its bandwidth. And regardless of how fast the machine is, if it hangs off a 4800bps SLIP line, you won't get tremendous performance! :-) der Mouse ------------------------------------ From: lupine!klein@uunet.uu.net NFS and big file transfer apps (ftp, rcp, etc.) seem to have done an incredible amount of damage to everyones' faith in Ethernet capacity :-). This is a common misconception about X traffic. Turns out that it (typically) fits very well into the Ethernet model, and rarely taxes the cable at all. What we have found, as I mentioned above, is that it *does* tax most U*IX systems interfaces and kernels. There is an interesting article in last year's 'Digital Technical Journal' (Vol 2, Number 3) on X traffic and the capacity of Ethernet. It basically predicts that you won't see noticable degradation until you reach numbers in the 200-300 range of active remote clients. Assuming that most users only really use one client at a time, this gives you a capacity well beyond what a normal networking person would recommend per cable anyways. As the X world ventures into the imaging and/or live video arena, bandwidth considerations may come into play. Some of these concerns, though, are being actively addressed by such things as XIE, the 'X Imaging Extension'. ----------------------------------- From: robp@anubis.network.com (Rob Peglar) Just get yourself a bunch of ico's all going at once (helps to have a graphics card on the client) and watch the packets fly. ------------------------------------- From: lstowell@pyrnova.pyramid.com (Lon Stowell) I can do a pretty good job of choking an Ethernet by running Framemaker on a X-windows terminal...particularly just paging through a document with (in order of increasing severity) drawn images, imbedded postscript, or high-density bitmapped images in it. I have some images which take 500,000 (yes, half-meg) bytes PER PAGE on Frame. Our Ethernet can crank 700+ Kbytes with low station counts, but these high-resolution documents really have response times that are, IMHO, "less than optimal". Copying a bitmap (in the process of composing a document) is even worse. Just about any profession publishing package with bitmaps over X-windows can flood an ethernet. Have you tried the folks at Moffet...for their color bitmaps of satellite or Magellan photos? Frankly FDDI is too slow for X-window resolution and color. ---------------------------------------------------- From: rpw3@rigden.wpd.sgi.com (Rob Warnock) The "Verilog" simulator from Cadence seems to send a goodly number of packets whenever you're using the "$gr_waves()" feature (which gives you a logic-analyzer-like display of the variables in your simulation). You might look at that one. Also, there's a thing called "xperf" which comes with the X distribution which runs a series of X functions and times them. (Sorry, I don't know any more about it. See your local X-head...) ----------------------------- From: shl!phil@uunet.uu.net (Phil Trubey) I did a quick and dirty 'bandwidth benchmark' a few weeks ago to determine how much bandwidth a typical X session takes up. Following is a synopsis of what I did. Please keep in mind that I was using an NCD X Terminal which was *not* blindingly fast. A faster X terminal could easily double the bandwidth requirements (I would think). I'm going to be performing these tests again sometime in the next few weeks with a fast SparcStation acting as an X terminal to see what changes. For those that don't want to wade through this, I found that I used about 68 kbps average bandwidth for screen redraws. ---- A series of tests were performed and the results analyzed. The test environment consisted of a Sun 4/260 Unix computer on an ethernet along with an NCD X terminal. A LAN protocol analyzer and a network monitoring package was also attached to the network. The protocol analyzer was set up to record all packets going to or coming from the X terminal. The Ingres 4GL Windows environment was run on the Sun computer with all output being directed to the X terminal. A sample Ingres Windows/4GL database application was run under the Motif window manager during the tests. Four sampled tests were conducted: - Initiation of the application program. This involved invoking the application through a pull down menu. The application drew a full screen form consisting of about 10 buttons, 3 scroll bars, 15 boxes, and 20 text fields. This is a fairly representative X window database form. The test stopped after the form had been completely drawn. - Data entry. Using the above form, the test caught about 1.5 minutes of fairly rapid data entry activity which included entering text and numbers, checking boxes, and pressing buttons. Part of the test included pressing a button that displayed a 1/2 screen size pop up window with a histogram displayed. - Switching between two windows. This test caught the activity that was generated when switching between two large and complex windows. - Switching between multiple windows. This test caught the activity that was generated when switching between multiple windows in rapid succession. Results Following are the outputs of each test (the times are measured in seconds, and the network utilization in kilobits per second): awk -f awk.prg form.txt Total bytes: 240554 Total time: 34.92 Avg utilization: 68.89 kbps awk -f awk.prg entry.txt Total bytes: 281998 Total time: 96.70 Avg utilization: 29.16 kbps awk -f awk.prg switch.txt Total bytes: 25630 Total time: 6.65 Avg utilization: 38.54 kbps awk -f awk.prg switch2.txt Total bytes: 107276 Total time: 30.24 Avg utilization: 35.47 kbps ------------------------------------------- From: ckollars@East.Sun.COM (Chuck Kollars - Sun Technical Marketing - Boston) I tried to run some benchmarks, and found it really is true that there is no such thing as a "typical" X application. For applications that are constrained by typing speed (ex: Frame), I could get a lot more clients on one Ethernet than I thought -- several tens, probably less than 100. _With_today's_applications_, the worry about X overloading an Ethernet appears to be "greatly exxagerated". Turns out most CAD applications aren't bad. X does a reasonable job of compressing instructions to draw simple geometric figures (e.g. straight lines and circles). Since most CAD pictures are actually built up of very simple items, they compress fairly well. The limit is usually either the drawing speed of the server or the processing speed of the client, not the Ethernet itself. Do something that manipulates a bit map. Medical imaging is a good one. The _best_ thing I can think of is to get a 24-bit deep true color image of the "Mandrill", blow it up to near full screen size, and then resize the window it's in. You'll see the yellow insulation melt right off your Ethernet cable. -----------------------------------------