LFBS Home Lehrstuhl für Betriebssysteme RWTH
Disclaimer/
Haftungsausschluss
Webmaster
(admin@lfbs...)
Home > Research > SMI  

Shared Memory Interface

What is SMI?

SMI is the Shared Memory Interface - a kind of counterpart to MPI, the Message Passing Interface. It is an API and also an implementation to use a NUMA class cluster (or an UMA class system like an SMP server) to run parallel applications which communicate via ordinary shared memory. We have created a quick overview on the functionality of SMI.

SMI is not a DSM ("distributed shared memory") or SVM ("shared virtual memory") system where a common address space is virtually provided. For such a library, you may take a look at the SVMlib.

Use of SMI

The SMI library is used in a number of projects (most of them are part of the ParaNUMApps project which triggered the devlopment of SMI):
  • GROMOS96 - biomolecular modelling
  • CAESAR - acoustic simulation
  • SCI-MPICH - MPI implementation for message passing via SCI
  • a flight-scheduler for Lufthansa
  • Availability

    SMI is available for Windows NT/2000, Solaris (Sparc/x86) and Linux (x86/Alpha, Sparc untested). It is distributed with SCI-MPICH, but of course it is usable as a stand-alone library as well.

    You'll need at least some kind UMA system (any SMP will do) to make use of SMI. However, SMI was primarily designed for use on a NUMA system which can be build by clustering a number of nodes (possibly SMP systems) via SCI.

    The SMI library can not be downloaded directly. Because SMI is now a part of MP-MPICH (used for the SCI communication), you have to download the complete MP-MPICH distribution. The SMI library can be found in mp-mpich/mpid/ch_smi/SMI.