9. PCI Express networking basics

The PCI Express network enables a process on one machine to safely write data directly into the address space of a process running on a remote machine. This can be done using either direct store operations of the CPU (for lowest latency), using the DMA engine of the PCI Express chipset or using a system DMA resource (for lowest CPU utilization).

The PCI Express network also enables standard PCI Express devices to be accessed from remote system. It is also possible to enable PCI Express devices to stream data to remote devices or memories.

PCI Express networking is made possible and very flexible by standard Non-Transparent PCI Express bridge functionality that exists in many standard PCI Express chipsets. It enables advanced device drivers to set up direct access to designated communication areas in remote system memory and PCI Express devices.

These hardware features are safely used by Dolphins software to implement several optimized software communication protocols:

The SISCI API implements an easy to use, but yet very powerful API for accessing PCI Express networking transport and functionality directly from applications. It provides a well defined C system call interface to ease customer integration to the PCI Express Network. SISCI enables customer application to easily bypass the limitations of traditional network solutions, avoiding time consuming operating system calls, and network protocol software overhead.

SuperSockets on Windows is implemented as a compliant Layered Service Provider If the destination IP address is listed in the configuration file dishosts.conf is valid, all relevant socket calls are redirected to the low-latency PCI Express transport. Otherwise, the standard NDIS (TCP/IP protocol stack) transport is used.