Complex Parallel Architectures
Deep Memory Hierarchy
Hybrid Memory Model
 
Questions?
 What is QUID?
 Positions Available

QUID Community
 Join QUID
 QUID Forum
 Download Codes

Toolbox
 Compilers
 Debuggers
 Perf. Analyzers
 The Toolbox

Events
 SC 2002
 HPCA 9
 IPDPS 2003
 HIPS 2003
 SPAA 2003

Presentation Material
 Papers
 Talks
 Cours de DEA

People
 QUID team
 Collaborators
 Contact Us

Links
 Related Research
 Case Studies
 Documentation
 HPC Centers

QUID
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.


Send all commentaries to: gk@lri.fr