When Hard Real-Time Isn’t Hard Enough
If you are communicating from processor to processor, or GPU to FPGA to single board computer in real-time applications, your communication mechanism matters. When low latency and fast throughput are critical and everything else has been optimized, have you looked at PCI Express (PCIe) to gain an edge?
PCI Express (PCIe) advanced features lend a real advantage that is often overlooked. Military and aerospace applications rely on stable, proven technologies, since often lives depend upon technology to carry them through. The most demanding benchmarks and testing can be found here. Hard real-time demands a trifecta of fast, high-performance hardware, software, and connectivity. Most people don’t look beyond the standard offerings for connectivity to gain an edge, but it seems that Dolphin Interconnect Solutions has taken standard PCIe, a long-time standard for I/O interconnects, to new applications, resulting in new capabilities along with increasing throughput and lowering latency to as low as 540ns. Real-time systems benefit from such low latency. Latency adds up and can make a difference when literally every second counts as data are shuttled from point-to-point numerous times in a system. An example of this is high-speed algorithms based financial trading done by computer, where fractions of pennies are shaved off of millions of high-volume trades by way of statistical modelling and algorithms. Lives may not be at stake, but since there is no monopoly on PhDs in Statistics and the use of computers for high-volume trading, shaving time here and throughout the process can make a difference between you or your competitor snatching those money-making trades first.
Super-Fast Short-Haul Networks
How are they doing it? Dolphin Interconnect Solutions has engineered a way to take PCIe and create super-fast, short-haul networks out of commercial PCIe switches, host adapters, and so forth. Traditionally, PCIe has been a local in-system high speed interconnect in computing and embedded applications for I/O peripherals. No additional software is required. Dolphin uses standard PCIe components but adds its special sauce in the form of a software stack and support for PCIe advanced features such as non-transparent bridging, to do things like very efficiently networking systems and connecting remote components includng GPUs and FPGAs. Essentially, Dolphin is exposing new functionality that’s already within PCIe to squeeze even more throughput and lower latency out of existing systems. Herman Paraison, VP of Sales and Marketing at Dolphin Interconnect Solutions, puts it this way, “We are just enhancing the standard by enabling you to do more than what you thought you could do.”
How is this accomplished? Processor-to-processor, or peer-to-peer (P2P) communications, can use PCIe with Dolphin’s solutions. “There is nothing in the PCIe standard that says PCIe has to only be used as an I/O bus,” declares Paraison. “You can remotely tie GPUs, processors, FPGAs, single board computers and the like together with PCIe, and it’s faster and more responsive than 100Gbps Ethernet; PCIe Gen 3 gives you throughput up to 128Gbps. Moving data between devices in a distributed network of GPUs, SBCs, or processors using PCIe also allows for tightly coupled distributed systems, which inherently lends versatility and resiliency to the system as a whole.”
Setting up PCIe Peer to Peer (P2P) communication enables devices to establish direct data transfers without using the CPU for moving data or requiring main memory as temporary storage. Systems supporting P2P communication enable both local and remotely located PCI Express devices to establish direct communication, harnessing all of the advantages of PCIe locally and remotely.
And it’s not a hassle to implement; for example, if you are presently using Ethernet or even the elderly VMEbus (a.k.a. Versa Module Europa bus) to move information in between single board computers (SBCs), Dolphin’s eXpressWare™ software infrastructure enables a seamless transition such that your application won’t know the difference, except that it will be faster, shaving off time to execution when it matters most. Many systems use GPUs for processing images rapidly or performing calculations, and PCIe is an efficient way to move data.
A hypothetical example of how PCIe can provide an advantage in P2P communication is in a Military windowless or remote driverless vehicle. Windows may allow the inhabitants to see what’s going on outside, but windows also create vulnerability. Cameras, however, can capture images that are rapidly processed by GPUs so personnel can see what’s going on in very near real-time, without windows. Depth of field information, captured using infrared sensors for every pixel, can help create a more 3D-like image with information for navigation and decision-making. Streaming images coupled with depth of field information create an intelligence beyond what ordinary windows can provide. However, the resulting large processing and communications load cause local throughput and latency to be a heavier load. Here’s where PCIe, used for high-speed networking, can connect a visual processing system with a control system, for instance, and significantly reduce bottlenecks.
Dolphin’s real-time advantage works with several operating systems, including Linux, VxWorks, Red Hawk, and RTX (a real time OS for Windows), and operates at a low-level connection on the stack. Dolphin Interconnect Solutions also provides an application programming interface (API) for integrators to write their own applications to improve real-time response. Even if the bus is proprietary, Dolphin supports different operating systems that the proprietary application may run on, so proprietary applications are not an issue. The API, called Software Infrastructure for Shared-Memory Cluster Interconnects (SISCI), was originally developed in a European research project. The SISCI API allows easy implementation of P2P communication control and direct access, and use of PCIe functionality is possible without time spent on a PCIe learning curve or needing to write drivers. Dolphin’s SISCI API is a simple way to set up and manage PCIe-enabled, remote P2P communications. And this means the ability to access the benefits of the PCIe Gen 3 standard. “SISCI software enables applications to use low latency PIO or DMA operations to move data directly to and from local or remote PCIe devices,” states Mr. Paraison. “This reduces system overhead and improves performance.”
Since PCI and its peer-to-peer successor PCIe are long-established technologies that were well-thought out, tested through generations, and will be supported for a long time to come, this solution has a stable foundation; an advantage that those with long-term projects will find desirable.
To learn more about Dolphin Interconnect Solutions’ unique approach, including multi-host PCIe intelligent networks, visit http://www.dolphinics.com where you can download the white paper “Dolphin Express – Remote Peer to Peer made Easy“.
Lynnette Reese is Executive Editor, Embedded Systems Engineering and Embedded Intel Solutions, and has been working in various roles as an electrical engineer for over two decades. She is interested in open source software and hardware, the maker movement, and in increasing the number of women working in STEM so she has a greater chance of talking about something other than football at the water cooler.