[aprssig] Aprx v2 beta, now with Viscous Digipeater
Matti Aarnio oh2mqk at sral.fiFri Oct 23 00:53:54 UTC 2009
- Previous message: [aprssig] Aprx v2 beta, now with Viscous Digipeater
- Next message: [aprssig] Aprx v2 beta, now with Viscous Digipeater
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thu, Oct 22, 2009 at 11:12:05AM -0500, Jason KG4WSV wrote: > On Thu, Oct 22, 2009 at 11:07 AM, Scott Miller <scott at opentrac.org> wrote: > > > The T2 uses a list of 16-bit hashes for tracking dupes, with an 8-bit > > time-to-live for each, so that's 3 bytes per entry. Currently the list is > > 15 entries long, so 45 bytes of storage total. > > > > To implement this on the T2 shouldn't require more than one extra bit of > > storage per entry. > > I was thinking more of the buffer for the packets being held for > delayed digipeating. Matti's web page refers to a "4-8 second" hold, > which sounds reasonable in operation, but that means a worst case of > up to eight 256 byte packets, or 2k RAM. Even a minimum 4s hold is 1k > of buffer space. This is all in addition to the dupe hash table. I am unsure of universality of the observation that I have here.. but with my high antenna location the viscousness results in about 80-95% of packets being removed from delay buffer while they still are waiting. At peaks I see 40 packets per minute - which are coming in rapid bursts with long quiets in between. I really do not need all that many packets in my viscousness queue, 3 small ones, 1 larger. On some 24 hour sample of full feeds pulled from APRSIS the packet length statistics looked like this: <= 80: about 25% <= 90: about 36% <= 100: about 73% <= 110: about 89% <= 120: about 94% <= 130: about 97% <= 140: about 98.7% <= 150: about 99.4% I don't have similar statistics for AX.25 frames in radio networks, although that original sample could be used to produce AX.25 length estimate data as well. I did some studies over various "rapid hash algorithms", how well they distributed their results - of what I had been recommended to use by other people, worst ones did result in about 25% of value space getting any hits at all, and even smaller fraction getting most hits. As a young man then, that did tech me not to trust hearsay, and want to do validation with _my_ data. There are very few "good" hash algorthms, and they tend to be called "Cryptographic Hash XYZ". But your first task on storage constrained case like T2 is to feed a few million APRS packets to candicate algorithm and see how even the resulting distribution is, and then to see ratio of false positives. If you can not keep whole packet around for comparison against false hash hits, then you need to know the ratio of false hits with your usual environments, and perhaps use different hash. By the way, I chose 32-bit FNV-1 hash instead of CRC16 or CRC32, and that is merely to supply dupe checker hash index table with the initial index value. My dupe storage carries whole packets, and copies of dupe comparison data, but I do have a megabyte or so to play with. (FNV-1 is quicker to compute than CRC, but that too is rather moot point if you are doing embedded 8-bit microprocessor work instead of high-end server...) So many tradeoffs... > -Jason > kg4wsv 73 de Matti, OH2MQK
- Previous message: [aprssig] Aprx v2 beta, now with Viscous Digipeater
- Next message: [aprssig] Aprx v2 beta, now with Viscous Digipeater
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the aprssig mailing list
