Pour architecture parallèle à mémoire partagée
OpenMP = Open Multi Processing
www.openmp.org
Défini par un groupe des plus importants fabricants de logiciels et matériels
informatiques, OpenMP est une " interface de programmation " portable qui
permet de faciliter le développement des applications parallèles pour machines à
mémoire partagée.
L'approche de la parallélisation OpenMP, en mémoire partagée, est très
différente de celle utilisée par MPI en mémoire distribuée. Il n'y a qu'une seule
instance du programme, exécutée en parallèle sur plusieurs processeurs. Des
directives insérées dans le programme permettent de gérer la distribution des
calculs entre les processeurs.
Ce standard définit des directives pour les compilateurs Fortran, C et C++, une
bibliothèque de " routines " et des variables d'environnement.
Les directives étendent les possibilités de programmation séquentielle des
compilateurs en permettant de définir les régions parallèles du programme,
comment se fait le partage des tâches, les points de synchronisation et
permettent de gérer le partage (ou pas) des données.
La bibliothèque de " routines " et les variables d'environnement permettent, elles,
de gérer l'environnement du programme lors de son exécution.
Les caractéristiques de ce standard sont les suivantes :
•
•
•
•
•
•
2.2.4
Les systèmes de fichiers
Il existe 2 types de systèmes de fichiers : les systèmes de fichiers locaux et les
systèmes de fichiers distribués. Les premiers sont utilisés localement sur une
machine afin de permettre l'accès aux fichiers contenus sur le disque. Les
seconds sont nécessaires pour accéder à des fichiers distants via le réseau. Ils
ont en plus des systèmes de verrouillage pour maintenir une cohérence entre les
différents utilisateurs. Par exemple, si plusieurs personnes travaillent sur le
même fichier, ce type de file system va permettre de gérer ce travail
« simultané ».
Description de l'environnement logiciel Linux HPC
Scalabilité
Simplicité d'utilisation : parallélisation incrémentale
Portabilité au SMP
Parallélisation de haut niveau
Flexibilité pour exprimer différents types de parallélisme
Orienté performances
2-9