eXpressWare software enables customers to easily migrate applications to PCIe Networks
eXpressWare's complete software infrastructure enabling applications to use standard PCI Express to over cables and backplanes. Several interfaces and APIs are supported, from standard TCP/IP networking to the lowest level direct remote memory access. Each API has its benefits and can be selected based on application requirements. The complete stack can be seen in the figure below:
SISCI - Shared memory API
The SISCI API enables customers to fully exploit the PCI Express programming model without having to spend months to develop device drivers. The SISCI API offers a C programming API for shared/remote memory access, including reflective memory functionality. The SISCI API also supports direct FPGA to FPGA and GPU to GPU communication over PCIe. More details on the SISCI API.
SuperSockets enabled networked applications to benefit from low latency, high throughput PCI Express networks without any modifications. More information on SuperSockets can be found on SuperSockets for Windows and SuperSockets for Linux.
IP driver for PCIe
The optimized IPoPCIe driver supports regular networking over PCI Express and is typically used as a faster alternative to 10G/40G Ethernet. The IPoPCIe driver fully support routing and ARP. More details on IPoPCIe.
NMPI is an open source version of MPICH2 with a native SISCI transport. More details on NMPI.
The SuperSockets software supports all MPI libraries configured for Ethernet communication.
IRM - Interconnect Resource Manager
The IRM is a central component of the Dolphin stack - it has the responsibility to manage all resources for all higher level software. This enables higher level software to be written in an independent way. When certain resources are required, the IRM will manage and distribute the available resources based on internal policies and configuration settings.
The IRM is also responsible for bringing up the interconnect after power up and hot plug events. The IRM implements its own low cost heart beat mechanisms over PCI Express to detect unresponsive systems and links. The IRM is also responsible for handling hot plugging of nodes, handling of nodes being rebooted.
The IRM services and resources are available through the GENIF interface. The SISCI Driver, TCP/IP driver, SuperSockets driver etc are typically clients of the GENIF interface. The GENIF interface specification is available and customers can write their own GENIF client if required. Typical resources managed by the IRM:
- Remote mapping resources / NTB Luts
PCI Express network management
The Dolphin software includes an optional PCI Express network manager that helps customers to install, configure and monitor the PCI Express network. The management software includes an graphical tool that is very convenient for larger systems. The graphical tool is written in QT and is supported on both Linux and Windows. You can e.g. easily use a Windows Laptop to monitor a Linux PCI Express network.
The network management software uses standard Ethernet as an out of band channel between all systems to easily collect and report issues with the high speed PCI Express network. The network management software is designed to be light weight and will not put a high load on the Ethernet.
Support for multiple operating systems
The core Dolphin software stack is designed to be independent of the operating system. Special operating system dependent code is organized into a separate library. This gives huge benefits, both lowering the cost to include support for a new operating systems as well as being able to test independent code on several platforms. The following operating systems are currently supported by the Dolphin PCI Express software, pease follow the links for more information:
Supported hardware configurations and chipsets
The Dolphin software suite is written to be very portable and supports a variety of PCI Express switches and bridges from Microsemi, IDT and PLX/Avago as well as the built in Intel NTB available with some Intel CPUs. The software is normally a bundle with Dolphin PCI Express hardware products, but can also be licensed by OEMs designing their own hardware.
The software supports setting up direct NTB to NTB connections, switched topologies and multi-port topologies.
Software road map
Dolphin is offering a complete solution for host to host communication over PCI express today. Future software plans includes integrating with transparent IO devices to create a unified PCI Express environments where systems and IO devices can directly communicate over PCI Express.