QUID is a research project that aims to understand how to program efficiently complex parallel computers and complex regular applications.
In the 90s, the dominant parallel architectures were based on message passing, SMP with moderate number of processors (8-16) and
NUMA machines. At the end of the 90s, parallel architectures have evolved towards cluster of multiprocessors.
Currently, large shared memory nodes (32-64-128 processors) are becoming available (IBM, Compaq, Fujitsu). Such large nodes systems
may still be used as parts of a cluster of multiprocessors.
Two major issues have emerged or are emerging for the programmer of high performance applications :
-how to program efficiently large shared memory machines/nodes?
-how to program efficiently cluster of multiprocessors?
We mainly consider these problems in the context of adapting existing MPI codes using standard programming tools (OpenMP
and MPI+OpenMP). The naive idea is that exploiting the shared memory of SMP or NUMA machines/nodes should provide better
performance than an existing MPI implementation.
In the first phase of this project we have mainly focussed on Cluster of Multiprocessors (IBM SP3, Compaq SC and PC clusters) programmed according to the fine grain hybrid (MPI+OpenMP) approach. Our results show that the fine grain hybride approach is generaly less efficient than the pure MPI approach on IBM SP3 machines (WH2, NH1, NH2 nodes) and PC clusters with dual processor nodes. There are some fundamental reasons behind this results (see paper section of this site).
Based on our analysis, we are now considering coarse grain OpenMP programming style for shared memory machines/nodes. There are several level of coarse grain OpenMP programming. We are considering the SPMD (explicite parallelization) approach.
The current experimentation phase is considering SMP machines (SGI O3K, IBM SP3 nodes, Compaq ES40, SMP PC), with the OpenMP coarse grain approach of the NPB benchmarks (check the download section).
The following phase will study the programming of Hybrid Parallel Machines (IBM SP, SGI O3K, large Compaq Clusters, clusters of NEC SX5, ...), with a coarse grain hybrid (MPI+OpenMP SPMD) approach.
This page is updated regularly with new information.