LabVIEW Channel Wires

cancel
Showing results for 
Search instead for 
Did you mean: 

HSPipe With Sentinel

The key mantra to keep in mind when writing parallel While Loops: do not communicate data between the loops in one communications channel and comminicate the stop signal in a separate communications channel. In my experience and that of other architects that I have talked to, separating these comms channels is a recipie for weird race conditions or hangs.

GIven that, the use cases for Channels without an embedded stop signal are, for me, minimal. Prior to the release of LabVIEW 2015, we figured out how to build a high speed pipe that had the same performance characteristics as the LabVIEW queues. That version shipped with LabVIEW, but it did not include sentinel abilities.

This implementation does include a sentinel. It does so with only a 1.4x performance hit over the LV queues (in other words, it is still very fast in speed tests). I tried many variations to convey the sentinel information... this is the highest performance mechanism that I could find (short of building new primitives into LabVIEW and changing how the queues work under the hood to natively support a sentinel feature).

0 Kudos
Message 1 of 1
(4,206 Views)