SIsci userlevel api

The SISCI SDK is a C system call interface to ease customer integration to Dolphins cluster interconnect. The SISCI software supports clusters of hundreds of nodes. Typical applications for SISCI includes:

  • Bus bridging PCI-PMC-cPCI
  • Remote access to IO Systems
  • Reflective memory like clusters
  • High Availability servers / Fast fail over
  • Fat pipes / low latency messaging
  • Bridging between heterogeneous systems ( x86-PPC-SPARC-AMD64)
  • Bridging between operating systems ( Linux-Solaris-VxWorks-Lynx-Windows-NT/2000/2003/XP )
  • MPICH

SISCI provides the customer with an API library to harness the power of a cluster of commodity personal computers or workstations. Thus customer applications can take advantage of the exceptional bandwidth and low latency performance of the IEEE 1596 - 1992 SCI interconnect from Dolphin.

Dolphin is working with standardization committees to implement an industry standard Application Programming Interface (API) for clustering. We are engaged in the European Esprit project 23174 (Software Infrastructure for SCI: SISCI) with the goal of achieving such a library standard. The SISCI  API follows this standard.

SISCI operates using system calls on SCI-descriptors and local and remote memory SCI-segments. With SISCI it is easily possible for your application running locally to operate on remote memory-segments in user space.

By using SISCI, a customer application can bypass the limitations of traditional network solutions, avoiding time consuming operating system calls, and network protocol software overhead.

The relationship of the software and the hardware is shown in the following table:

Environment Layers
Application: Customer application code
User space: SISCI API C library
Kernel: SISCI driver (GENIF client)
Kernel:
IRM driver (GENIF provider)
I/O bus: PCI bus or Sun's SBus
Hardware: Dolphin adapter cards with interconnect

 

Key product features:

  • Enables transparent access to remote memory for ultra low latency access (shared memory).
  • Provides memory-to-memory DMA transfers for low overhead data copying.
  • Provides read/write block operations.
  • Local and remote interrupt handling.
  • Supports multiple adapters per host for increased fault tolerance or speed.
  • Supports hot-pluggable links for high availability operation
  • Error checking functions available to application for ensuring guaranteed data delivery or client notification.
  • Programmers need not worry about normal parallel pitfalls such as race conditions and synchronization.
  • Supports heterogeneous clusters consisting of multiple operating systems and hardware platforms.

Availability:

SISCI is currently available on Linux 2.2, 2.4, 2.6 x86/x86_64, Solaris 2.5.1, 2,6, 7, 8, 9 SPARC, Solaris 2.6, 7 - x86, VxWorks 5.4 - PPC and x86, Windows NT 4.0, 2000, 2003, XP - x86, Windows 2000 x86, Lynx 3.0.1 x86 and PPC. SISCI is portable by design and the full source for all operating systems is available for immediate download as LGPL/GPL code. Please consult Dolphin for porting assistance.