The peer-to-peer data streaming architecture is a method of transferring data between hardware devices. A peer-to-peer stream acts like a single, unidirectional pipe from which data can flow directly from one device to another.
Using the peer-to-peer data streaming architecture, two or more devices can transfer data directly to each other without first going through the host processor. The peer-to-peer data streaming architecture defines the topology and data exchange policies of the data transfer. Therefore, you can use this architecture as a common communication protocol between multiple devices on different platforms. For example, you can transfer data from multiple, synchronized digitizers to a single FPGA device to perform correlated signal analysis across the acquired data streams.
The peer-to-peer data streaming architecture is also useful in applications with distributed processing requirements. These types of applications exchange data between multiple devices in the system to complete a particular analysis or control operation. In addition, the application might have throughput or processing needs that require a device running parallel to the host processor in the system to perform the analysis while the host performs other tasks. In these cases, you can use the peer-to-peer data streaming architecture to ease the burden on the communication bus of the system and minimize the impact on other devices on the same bus.
For example, a high-throughput PXI Express-based digitizer can transfer data to an FPGA device to perform spectral analysis if the host processor is not sufficient to perform the analysis. To preserve bandwidth use on the PXI Express bus, you can use the peer-to-peer data streaming architecture to send data from the digitizer directly to the FPGA device.