Date: Sun, 19 Dec 93 04:30:01 PST From: Advanced Amateur Radio Networking Group <tcp-group@ucsd.edu> Errors-To: TCP-Group-Errors@UCSD.Edu Reply-To: TCP-Group@UCSD.Edu Precedence: Bulk Subject: TCP-Group Digest V93 #327 To: tcp-group-digest TCP-Group Digest Sun, 19 Dec 93 Volume 93 : Issue 327 Today's Topics: Borland C++ 4.0 sequential decoding performance? Ham Networks Some thoughts on Packet Radio Netwoking Send Replies or notes for publication to: <TCP-Group@UCSD.Edu>. Subscription requests to <TCP-Group-REQUEST@UCSD.Edu>. Problems you can't solve otherwise to brian@ucsd.edu. Archives of past issues of the TCP-Group Digest are available (by FTP only) from UCSD.Edu in directory "mailarchives". We trust that readers are intelligent enough to realize that all text herein consists of personal comments and does not represent the official policies or positions of any party. Your mileage may vary. So there. ---------------------------------------------------------------------- Date: Sat, 18 Dec 93 17:25:26 -0800 From: Phil Karn <karn@unix.ka9q.ampr.org> Subject: Borland C++ 4.0 sequential decoding performance? To: tcp-group@ucsd.edu Who has a copy of Borland C++ 4.0? I'd like to see if its significantly faster than 3.1 before I buy it, otherwise I think I'll look seriously at the GCC port. I have recently been playing with a Fano decoder in C. (This is one of the standard sequential decoding algorithms for convolutional codes with constraint lengths too long for viterbi decoding). When I compile it with Borland C++ 3.1 and run it on my 486-50 DOS machine, it runs at about 228,000 branches/sec. When I compile and run the very same code on my 486-DX2 386BSD machine with GCC, I get 573,000 branches/sec, about 2.5x faster. Full speed optimization was requested from both compilers. Only 1.32x of the speedup can be accounted for by the faster CPU (and it's not even a "true" 66 Mhz system - it has 33 Mhz external cache, while the DOS system has 50 Mhz external cache). I attribute the other 1.9x to the better compiler, although some of it is probably due to Borland C having to emit override prefixes for the many 32-bit operations in my code. (In the 486 protected mode that BSD uses, the instructions assume 32-bit operations by default). By the way, these speed figures, even under DOS, are more than enough to handle a 56kb/s packet modem in real time at fairly high error rates. A sequential decoder given perfect data searches only 1 branch/bit, so under DOS this decoder can decode 228 kilobits/sec (456 kilosymbols/sec assuming a rate 1/2 code). As the channel symbol error rate increases, the number of branches searched per decoded bit rises, slowly at first and then very rapidly as decoding bogs down. Again, these figures assume a rate 1/2 code: Channel symbol error rate average branches/bit .00 1 .01 (1%) 1.2 .02 (2%) 1.5 .03 1.8 .04 4-5 .06 6-10, sometimes many more These are approximations; the real numbers are random variables, and can on occasion be much higher. But since this is a packet system, you can always ask for a retransmission if decoding takes too long. So who has a 486 and Borland C++ 4.0, and would be willing to try my code to give me a few benchmark results? Phil ------------------------------ Date: Sat, 18 Dec 1993 11:45:58 -0700 (MST) From: William Ti Baggett <wbaggett@nmsu.edu> Subject: Ham Networks To: Advanced Amateur Radio Networking Group <tcp-group@UCSD.EDU> > Date: Fri, 17 Dec 93 15:45:11 MDT > From: "Karl Larsen" <klarsen@arl.army.mil> > Subject: Ham Networks > To: tcp-group@ucsd.edu > > I have 3 frequencies at my home and all radios are connected > to tnc's that in turn are connected to my g8bpq switch. The > frequencies are 145.07, 223.4, 445.1 MHz. All 3 radio's can > transmitt without effecting another radio's reception. And all > three networks end here (there are no hidden xmitters). The 445.1 Karl, Isn't ELP96 (WA5PIE-2) and #ELPNE (N5RG-3) on the east side of El Paso a hidden transmitter to you station? We're both at about 4000 feet ASL seperated by the Franklin and Organ Mountains which is 7000 feet+. Besides, even if you do not have mountains but some really good tower sights on a flat area (like Kansas), the second hop away from your node is going to be a hidden transmitter. Almost always: Backbone node #1 ----------- Backbone node #2 ---------Backbone node #3 Node 1 and Node 3 are hidden transmitters. If they weren't then, why the heck is Node 2 in there any way? Hence the fact that there must be frequency switching every hop along the way on a backbone. ONLY if you REALLY want to get rid of hidden transmitters. But that costs a lot I will admit. > So the message is clear. You can improve a great deal over > the norm by making a 1200 baud network actually work at 1200 baud! > And don't think getting a 9600 baud network up and running is > simple. There are no cook-books and the problems are many and > frustrating. Data rate and through put are different things...usually VERY different especially around here... Through put << Data rate OK, Maybe I'm still freaked out from a finals week from hell. But after reading all the stuff on here for the last few weeks, I've seen mostly a lot of BS about this works (sort of) so why should we change it. (BTW Running IP over NET/ROM is _stupid_ although it needs to be done sometimes. So why not FIX the PROBLEM and implement THENET X1J nodes that take care of both protocols as they should be taken care of...but thats another message for January) Well, this is amateur radio and we are not to be satisfied with FTPing a file at 9600, 19.2K bps, or even 56K bps. I want my 100 Mega bps! Is it unrealistic? NO! Is it unlikely? Yes, right now it is. But if we do not get together and quit hashing one protocol, datagram vs. VC (which I personally do not feel we really have any direct implementation of), etc then we'll never get anywhere. Flame on. I'm leaving for a month to forget about all the gateway stuff. When I get back I should be ready to start building the gateway RF network. 73 & Merry Christmas to all Tim, AA5DF NMSUGW Gateway dude I live for Twisted Pair Packet! Amateur Packet Radio thru-put on 145.01: 24 Mega bits per fortnight Support NAFTA! National Association of Fourier Transform Addicts! ******************************************************************** Tim Baggett, AA5DF Electrical Engineering Student New Mexico State University Internet: WBAGGETT@DANTE.NMSU.EDU AMPR: AA5DF@NMSUGW.AMPR.ORG US Snail: 1970 Buchanan Avenue (When on) AA5DF.AMPR.ORG Las Cruces, NM 88001 ******************************************************************** ------------------------------ Date: Sat, 18 Dec 93 21:04:11 mdt From: ka7oei@uugate.wa7slg.ampr.org Subject: Some thoughts on Packet Radio Netwoking To: tcp-group@ucsd.edu Some thoughts on packet-radio networking: Approximately a year ago, the task to rebuild and update the Utah Packet network was undertaken by the UPRA, the Utah Packet Radio Association. In that time, there have been quite a few discussions concerning networking, network users/designers in other parts of the country (and world) have been asked about THEIR networks, and we have also did some original thinking on our own. Almost immediately it was realized that there are a lot of band-aid solutions, non-solutions, and even a few genuine solutions. We also ran into several simple truths based on our research and observations, research, and communications with others. Firstly, anyone who directly applies wireline computer networking to RADIO links ought to be shot! Very simply put, the protocols we are using now are simply NOT designed be used in the way we use them! In computer networks, there are generally no "hidden terminals" or "hidden nodes" (or whatever you want to call them...) Any situation where this arises blows to hell the collision avoidance mechanisms built into the protocols that we use since there is NO way one can arbitrate a simplex channel (under current protocols) where there are hidden terminals. Most of the congestion, it could be argued, occurs at the user-interface level on some 1200 baud channel. There is the tendancy to "put up another node" to "help" things out. Too often that "other node" is stuck on the same frequency as the congestion problem. Worse, that other site often effectively increases the geographic coverage of that channel thereby increasing the number of users of that channel, not to mention the number of hidden terminals. Putting up a packet repeater can reduce the number of hidden terminals tremendously (assuming that everyone has their parameters set somewhat correctly... but that's another problem altogether...) but keep in mind that even if you ARE the ONLY one on the channel, 1200 baud is STILL pretty darn slow! Here in Utah, we have taken the "divide-and-conquer" approach. With this area being fairly mountainous, we have decided to do what we can to put the geography and topography to work. The Salt Lake City area lies in a valley surrounded on all sides by mountains, with the exception of the gap to the north (where that big lake is...) and some large population centers to the north and south. The paths to these northern and southern population centers are, for the most part, unreliable since there are some low mountain ranges in the way. This is how the network was designed: 1) The local area was geographically divided into 3 pieces: Salt Lake Metro, Utah County to the south and Davis/Weber (pronounced "weebur" as in "WeberSat") to the north. Within each of those areas almost anyone who has a half-decent station set up can be heard throughout the entire area. 2) Each are is given its OWN set of SIMPLEX frequencies For example, the Salt Lake area has THREE 1200 baud frequencies, Utah county has TWO, the Davis/Weber county area has 3, etc. Since it is possible for there to be some marginal paths between all of these areas, all frequencies are different. This allows a user to seek out a less-congested frequency in his/her own area. 3) All of these frequencies are tied together via a 70cm 9600 baud simplex channel. Because we are "geographically blessed" one can strategically arrange it so that ALL sites of the 2 meter 1200 baud "local" frequencies are visible to each other. In that way the "intertie" channel can operate free of hidden terminals. 4) Users are encouraged to use ONLY those frequencies intended for their local area. There are various ways to "encourage" proper use and these include: location selection, using directional antennas at the node sites, publicizing the "correct way" to use the network and others. In order for this to work the users must be aware that if, for instance, they wish to access, say, a Davis county station from Salt Lake it is better that they get on the Salt Lake channel rather than sneak over to the Davis county channel and try to do it there. More than that, the network must be designed so that the user can do just that! You may ask "Why not just put up a 1200 baud repeater?" The answer is simple: You just DO NOT set up a repeater at a slow data rate for the intent of serving a large number of people. For the price of a single repeater, you can set up several smaller simplex network and tie them together. Then, the users in those smaller networks aren't competing with EVERYONE else! This is not to say that a repeater has no place. 5) A 9600 baud repeater is being established for serving those parts of the network that can't reasonably be served by simplex channels without becoming hidden terminals. The repeater is open for use by all, but if you CAN access a local frequency without harming it, you are strongly encouraged to do so instead. As far as repeaters go, they are best used for tying large areas together that could not be tied together by other reasonable means. For example, if we need to provide coverage to a large rural area, a repeater might be an option. However, one gets more "bang for the buck" by putting up a 9600 baud repeater and then linking 1200 baud channels through it. Repeaters also have a definite disadvantage over simplex channels, though: They can go down! The implicit redundancy in a simplex-based network is invaluable in an emergency! On a smaller scale (because of fewer users at present) those strategies used on 2 meters are being applied at 9600 baud for 9600 baud uses. Of course, the interconnections between the 9600 baud channels will be done at a rate much higher than 9600 baud. It is extremely important to note that these approaches are designed for our local topography and we have used that to our advantage. Any other area would have to base their system on their specific needs and realities. In the meetings and discussions a somewhat unfortunate truth has been observed: It is hazardous to talk about networking in the presense of those who are unfamiliar with its basic truths. Case in point: Many networking people will tell you about arguments that they have gotten into when they uttered "Users will not be allowed on the backbone..." While this is absolutely true (for a network to function you CANNOT allow DIRECT user access to the backbone... you WILL introduce hidden-terminal problems) the end-user will most certainly benefit from the use of the backbone. Too often this sort of statement has resulted in a misunderstanding that resulted in either a network delayed in its construction or, even worse, the construction of a BAD network! One more thing: If you are thinking about putting up a network, do EVERYTHING you can to avoid putting up a "single-frequency" network. The debacle on 145.01 is a classic example of this: True, if there are a LOT of stations spread out over a large area on 145.01, you DO have a lot of geographical coverage. You *CAN* connect across the entire network and go anywhere on it... as long as no-one uses it, that is!!! The instant you try to achieve throughput (especially from different directions!) the possible throughput goes down exponentially! The result of this is retries, backoff delays, and perhaps worst of all, people giving up! In a case such as this, simply going to a higher baud rate will NOT solve the problem: It is simply a band-aid solution that will seem to mask the problem for only a short time. Finally, it should be noted that these are first steps in the upgrading of the network around the state. The infractruction is being put into place to provide for user and network access at speed of 9600, 56 kbaud, and higher. Access at these speeds changes the entire face of amateur packet radio... Much of this is IMHO and I would welcome any comments or questions about any of it. <Clint> ka7oei@uugate.wa7slg.ampr.org Amprnet clint@uugate.aim.utah.edu Internet ka7oei@wb7esh MSYS P.S. Not 'infractruction' but 'infrastructure'... :-) ------------------------------ End of TCP-Group Digest V93 #327 ****************************** ******************************