Cluster-enabled Omni OpenMP on a software distributed shared memory system SCASH.
Current status and restriction, known problems and bugs

Current Status

In Omni 1.3, the status is out of beta state.

The home node of large array objects is allocated in "block" distribution. We extends the directives to specify the data mapping and loop scheduling. For this extensions, see "Omni extensions for for Cluster-enabled OpenMP/SCASH".

The SCASH system in SCore 3.3.2 supports SMP clusters, which consist of shared memory multi-processor nodes. Multiple processors in a SMP node can share the data through shared memory hardware. For example, suppose the group host "smpc" have 4 dual processor nodes,

        % scout -g smpc
        % scrun -nodes=4x4 a.out
"-nodes=4x4" specifies using 4 processors in each 4 nodes.

Omni/SCASH can correctly execute OpenMP programs with barrier synchronization, which are usually found in data-parallel programs. We still have the following problems remains.

These may cause a serious problem on OpenMP programs running in SPMD models. We are currently thinking a new synchronization primitive specific to Omni/SCASH to solve the above problem and for fast synchronization in SCASH environment.

Restrictions and Known problems in SCASH implementation

Although the Omni OpenMP for SCASH is almost compatible to OpenMP for SMPs, there are a few restrictions and incompatibility. For the details, also refer to "Implementation Notes".