With an utmost respect to Margaret HAMILTON's work for Apollo Programme.
Yell out.
Dear Dr.,
there are many features, that will become important for a professional decision, that were not mentioned in the shopping-list above.
If the Apollo AGC example could help here, the better.
The package under seek :
- ought keep your code in control of relative processing-priorities,
- ought let one increase / decrease / map IO-threads resources-pool usage, per channel,
- ought let one setup the L3+ transport ToS-prioritisation tagging,
- ought let one modify O/S configured L3 / L2 stack implementation resources,
- ought permit non-blocking controls from application programme side, without risks of any deadlocks,
- ought provide wide portfolio of transport-classes covering { inproc: | ipc: | tipc: | tcp: | udp: | vmci:| pgm: | epgm: } as needed to get employed in a mix
if all that sounds important for your further efforts in Draper Lab, the ZeroMQ will smoothly fit in ( if some latency / performance figures might need boosted on steroids as being more important than the mature mix above, may also enjoy to review Martin Sustrik's another kid, younger than his ZeroMQ - the nanomsg tools ).
Anyway, if you indeed have (cit.) "... lots of cycles and memory ...", just let me in, I have lots of TFLOP-s to process, if you permit, in the spare time :o)
Nota Bene:
Given the recent comments, let me add a remark on using Naval Research Laboratory published NACK-Oriented Reliable Multicast (NORM) norm://
transport-class, that may help your pure PUB/SUB
-design intentions, for which it seems it can fix the desire to "prefer not to lose messages" that is otherwise not taken care off, according to the Zen-of-Zero, which leaves all such operations onto the user-side application code and distributed-system behaviour.