jerry@oliveb.UUCP (Jerry Aguirre) (10/02/84)
There have been some articles posted lately about the advantages of using 2400 baud modems for the distribution of news. Before someone spends money to upgrade their modems consider that the same effect could be had by improving the software involved. I will ignore for the moment the news software and the relative efficiencies of batching, compression, and "I have/send me" distribution. Instead I want to examine the efficiencies of uucp itself. Uucp uses a fairly efficient protocol. It places the line in RAW mode so that data can be sent without escapes. It buffers multiple packets so that turn-around delays are eliminated. If I examine the uucp log entries I see entries like 109 bytes per second of transmission. If a 1200 baud modem gives 120 bytes per second then the efficiency should be 109/120=90%. This sounds pretty good. But, it is still only using half the bandwidth available! Remember that this is a full duplex modem. It really allows 1200 baud in EACH direction so the real bandwidth is 1200 baud x 2 directions = 2400 baud! Bet you didn't know you already had 2400 baud modems. However uucp does not make use of the full duplex capability. It insists on sending files in one direction at a time. The only data coming back are the packet acknowledgements which consume about 12% of the available bandwidth. Just watch the send/receive lights on your modem. The send light comes on solid but the receive light flickers on and off (mostly off). Presumably two backbone sites would have roughly equal amounts of news to send to each other. If the sending and receiving could be overlapped then the time consumed could be cut by almost half. As uucp does protocol negotiation perhaps a new "full duplex" protocol could be added as a preferred option. The advantage is that the improvement could be made available to all sites instead of just those that can afford expensive modems. Jerry Aguirre {hplabs|fortune|idi|ihnp4|ios|tolerant|allegra|tymix}!oliveb!jerry
rpw3@redwood.UUCP (Rob Warnock) (10/03/84)
Jerry Aguirre makes a good point of how, by making uucp be full-duplex (files moving in both directions at once), we could double the traffic between backbone sites. But he uses this point to suggest we not rush out to buy 2400-baud modems. Sorry, that's a non-sequitor. If full-duplex makes it better, then full-duplex at 2400 baud makes it even BETTER! However, another possibility one might consider is to note (as Jerry did) that uucp is essentially half-duplex, make it REALLY be so, and start using the dial-up 9600-baud half-duplex modems that are now available for about 1.5-2 times the 2400-baud prices. Do the arithmetic yourself. (There are buffering/acknowledgement strategies that can make the modem turn-around delay cause a negligible loss of throughput. Hint: batching becomes even more important.) Note: Some implementations of UNIX have difficulty receiving input at 9600 baud, but other have shown that that can be fixed by careful design of the tty drivers and careful attention to interrupt-off times and latencies. (Unfortunately, it is often other non-tty drivers, such as disks, which have long hunks of interrupt-off code in them. It sometimes requires a logic analyzer to find the actual offenders when you are losing input interrupts.) Rob Warnock UUCP: {ihnp4,ucbvax!amd}!fortune!redwood!rpw3 DDD: (415)369-7437 Envoy: rob.warnock/kingfisher USPS: Suite 203, 4012 Farm Hill Blvd, Redwood City, CA 94061
lepreau@utah-cs.UUCP (Jay Lepreau) (10/03/84)
The "Australian conterpart to uucp" (`AUS' I think) can use both directions of a full duplex channel, and is available for free. A paper describing it is in the Summer 1984 Usenix proceedings. Maybe some backbone sites could try running this. Jay Lepreau
lauren@vortex.UUCP (Lauren Weinstein) (10/03/84)
I've done some testing of my own regarding the merits of full-duplex UUCP communications, given the typical mail/news patterns we see and a variety of fairly complex technical factors. I did this when examining various ideas to improve efficiency in my own uucp implementations. I finally decided that the added complexity was considerably greater than any real gain in overall efficiency, and that other factors (including system load among other things) tended to swamp out any minor benefits. I decided to leave the protocol alone, other than to allow larger packet sizes under certain conditions (which is also of questionable real efficiency, but doesn't seem to hurt in most cases). Overall though, it seemed best to leave well enough alone. I have some detailed notes on this that I'll try to dig up and post to these groups. --Lauren--
ron@brl-tgr.ARPA (Ron Natalie <ron>) (10/03/84)
Can someone give me information on the fastest modems that I can run over dial up. Money is no object. Half duplex/Full duplex/ Async/Sync is no great problem. -Ron
jim@haring.UUCP (10/04/84)
Regarding bi-directional UUCP transfers: The traditional UUCP has two levels of protocol that are relevant here, the low packet level and the 'request/send' level, which constitutes the guts of uucico (in cntrl.c). The low packet level is easily selectable and this can already be done during the uucico startup handshake. Making the other protocol selectable is not so easy, and will also require changing the low level protocols, some of which assume that the program can only do one thing at a time. It could be done, but would be a major rewrite of the parts even HoneyDanBer couldn't refresh. If you can set up a line to have two multiplexed channels, then you can just run two traditional uucico's on it using different names at the two ends. I believe HoneyDanBer allows such name fiddling, but I could be wrong. X.25 is a better way to go than 2400 baud modems anyway. In fact, this exceedingly dull message is brought to you by the magic of a trans-Atlantic X.25 connection at one quarter the cost of an equivalent dial-up connection. Jim McKie Centrum voor Wiskunde en Informatica, Amsterdam mcvax!jim
smb@ulysses.UUCP (Steven Bellovin) (10/04/84)
Actually, there's a very serious inefficiency in many uucps. Because packets are being received in raw mode, the receiving process can be awakened on every *byte*, do a 1 or 2 byte read, then try to read some more. This sort of behavior can eat a machine alive! There have been several attempts to fix this (and System V uucps don't have the problem), but not all of them work well.
teus@haring.UUCP (10/06/84)
UUCP cannot and will not be full duplex (see the remarks of Jim for that). Also for many systems or links there is no need to. Of course full duplex will help but not that many as you think. Also doubling the speed will not say you are doubling the effective baud rate. The effective speed is depending on many other things. We did some extensive mesuring on "splendid quality" lines and came up that there is fi no diff in effectiveness for 4800 and 9600 lines. Sometimes even 300 baud for our trans atlantic links had a better effective speed as the 1200 baud links. So the quality of a line is a deal as well. About X.25: X.25 is cheaper if you already the equipment around, and can split the subscription costs over more links. As well you should run a protocol which is as simple (or cheap in overhead) as possible (f.i. f-protocol). F.i. if you use the g-protocol of UUCP and are o nly running it for one link during say 45 minutes per day, it is far more cheaper to do it via phone and normal modems. -- Teus Hagen teus@mcvax.UUCP (CWI, Amsterdam)