SIsci userlevel api

The SISCI SDK is a C system call interface to ease customer integration to Dolphins Express Clusters. 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-Windows-2000/2003/XP/Vista/2008 )
  • 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 Dolphin Express

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  with the goal of achieving such a library standard. The SISCI  API follows this standard.

SISCI operates using system calls on descriptors and local and remote memory 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 or PCIe
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.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  2000, 2003, XP - x86, Windows 2000 x86, Vista, 2008. 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.