[aprssig] So long.... APRS-IS officially has lost 1/2it's servers.

Scott Miller scott at opentrac.org
Sun Mar 2 13:23:36 EST 2008

> queues and the basic packet parsing have no problem keeping up.  The
> problem is when you look at the output side of the server.  Each one of
> these packets must be processed individually for each output queue.
> This is so server-side filtering can occur and so no faulty connection
> can slow down the server's processing.  That means that 100 pps has now
> mushroomed to 100+(200*100)=20,100 pps that the server is processing
> assuming 200 connections on the server.  That is the killer.

It's impossible to critique the server software when no one else gets to 
look at it.  For example, is each output queue parsing each packet for 
filtering, or is the input side doing the parsing and passing a data 
structure containing the relevant details along to the output queues?

What about computational shortcuts?  For example, you don't have to do a 
great circle distance calculation on every packet for every filter.  If 
the filter defines a radius of 50 km, calculate corner coordinates for a 
bounding box.  You can have the parser save positions as 32-bit 
integers, so rather than doing a big floating point calculation on each 
packet, you only have to do a few integer compares and follow up with 
the full calculation only on a small fraction of the packets.  Calculate 
another box that fits entirely within the circle, and you can eliminate 
that calculation for another significant portion of the packets that 
fell within the first bounding box.

Filter criteria like packet types can be represented as a bitmap, so 
instead of a bunch of compares you just evaluate one 'and' statement and 
check for a non-zero result.  That compiles to two instructions, at 
most, on any processor I can think of.

But as long as the source is closed, no one else can help.  Seeing as 
there's no profit to be made with this software, I don't really 
understand why it can't be opened, but I'm sure you have your reasons - 
that's why I suggested creation of new software that'd be open from the 
start and built to address the limitations we've run into.


More information about the aprssig mailing list