tarpn_logo

 home      FAQs  Search

Persistence, PPERSIST, Persist and Slot-time

Persistence describes a factor used to control channel access, to prevent a station from transmitting too often.

The common measure of Persistence is a fraction of 255 divided by the persistence value. If the persistence value is 64, then the fraction 255/64 resolves to just about 4. That means that in any given "slot" the TNC will transmit only 1/4 of the time.

Search for AlohaNet on the Web or Wikipedia.

The idea of random channel access control is predicated on the notion that there are several stations about to transmit onto the channel. If more than one station goes into transmit at any given time, the result will be a collision and no traffic will get through, or at least the receivers of the traffic might not all hear the transmission.

By only transmitting some of the time, each participant in the multi-way channel gets some likelihood that they will not collide with the other participants.

Over-The-Horizon model
Most packet radio, on the Earth-that-was, was operated on a channel where there were some number of stations on the air, talking and listening. The count of stations on the channel varied as the evening wore on. The stations on the channel were within good copy range of some of the other stations on the channel, and couldn't even detect some of the others. There were some well placed stations that everybody wanted to talk to so everything was ok.

hts_syndrome_hill
packet_collision_simple
Lex transmits when his receiver can't hear anything, trashing Bimaldo's message

When a station (Call him Bimaldo) went to transmit, it is trying to talk to one particular other station, Kal-el, (assuming we are in CONNECT mode here). It is quite possible that Lex, another station on frequency, can't hear Bimaldo at all, but is stronger to Kal-el than Bimaldo. Bimaldo transmits, and just in the middle of his transmission, Lex hits the ‹ENTER› key and hearing nothing, his TNC sends a packet, colliding with Bimaldo's transmission. See diagram above.

The notion of access control based on Slot-time and Persistence, is that instead of Sergey just going off and transmitting as soon as the channel is clear (from his perspective), Sergey's TNC will wait some random number of slots, giving Bamaldo a chance of have his packet get through. The slot is supposed to be about the length of a typical packet transmission, and the persistence value works out to a chance of transmitting equivalent to the usual number of stations on the frequency.
Set the Slot-time to the length of a usual packet, say 80 characters, or 1000milliseconds. And set the Persist based on usual number of stations on the air on your frequency, and with range of any of the stations you can hear, not counting your station, say 20. Persist would be set to 12,
so 255/12 = 20, the number of stations. That means that you will wait a typical Slot-time of 1000 milliseconds, or 1 second, times 20 which equals 20 seconds, and a usual time of closer to 10 seconds, every time you want to transmit, or retry a transmission. That will work but it is pretty slow!

CSMA
The idea behind CSMA, Carrier Sense Multiple Access, channel control was that all stations are within simplex range of each other so there is no chance that Sergey would not hear Bamaldo, and thus would wait until Bamaldo is done transmitting before his transmission starts. If this was the case, slot-time could be a much smaller number, equal to the usual amount of time between any station checking the channel, and actually putting out a transmit signal. Thus slot-time would be the value of the largest TxDelay used on the channel, and Persistence could be calculated on the usual channel population. Usually TxDelay is around 25 or 30. So set Slot-time to 30. Now if your smaller LAN, everybody you can hear on simplex, is only 10 stations, and your Slot-time is 30, then you will wait a maximum of 300milliseconds, 1/3rd of a second, and an average of 1/6th of a second. That's quite palatable.

Typical usage
So what happens if you use the Slot-time value from the CSMA case, when you actually have the over-the-horizon case? You'd get collisions and retry failures and frustration. However, this is the way packet radio was usually operated.

So what is the solution?
Well.. how about if there was only one other station on the frequency, call him Kal-el, and Bimaldo wants to set his Persist and Slot-time appropriately? Well, only one other station means Persist of 255. Slot time doesn't matter because it'll never be used! Now Bimaldo doesn't have to wait for anything and his packets will never collide with anybody. All it would take is for Kal-el to have a radio for Bimaldo, and a separate one for Lex, on two different, non-interfering channels or bands.

But that's crazy. Isn't it crazy? Well. maybe not. It really only increases the cost of the network by 1 radio. So instead of 3 radios, the network now has 4. It completely eliminates collisions and the self-imposed delays.

See FAQ Networking On Purpose

© Tadd Torborg, 2014↝2025 -- all rights reserved