Additional Information
A data overflow error will occur whenever there is data to stream generated at a data rate higher than it can be processed. There are two ways in which this can happen
- The transfer mechanism (DMA over PCIe bus) does not have the capacity to transfer the data at the desired rate.
- The application (e.g. the VI presenting the data) cannot keep up with the transfer. i.e. the application reading the data does not free up the data buffer fast enough for the buffer to be able to receive new data from the bus.
To avoid this overrun then knowing below 3 numbers is useful:
- The data rate at which the instrument is trying to stream data. This is generally (sample rate x sample size in the stream x number of channels) / decimation factor. Reducing the number of channels or increasing the decimation factor (i.e. reducing the sample rate at which data will be streamed) will reduce this number accordingly, and why it is listed as a recommendation.
- The data rate at which the bus in the system can transfer the data. In a simple PXIe system, this is affected by the PXIe chassis and the PXIe controller. In a more complex system, there may be MXI links and external CPUs involved. Other aspects of the system (e.g. other instruments streaming at the same time) can also affect this data rate and cause a bottleneck.
- The data rate at which the system can process the data. This can be affected by CPU efficiency, CPU utilization, and in general, the amount of work the CPU has to do every time it needs to process a certain amount of data. This is why "fetches per display" and "display on" are mentioned as able to affect the performance