Académique Documents
Professionnel Documents
Culture Documents
parallélisme
LOG645
Sommaire
Parallélisme et programmation
Machines parallèles
Programmation parallèle
Algorithmes parallèles
Threads
Distributed Shared
Memory (DSM)
- SMP : Symmetric
- NUMA : Non Uniform Cluster
MultiProcessing
Memory Access
Architectures concrètes
Graphe de dépendance
Parallélisme de données
Parallélisme de tâches
Parallélisme en pipeline
- s = (a2 + b2) / 2
E
- v = s – m2
Gain de performance
Rentabilité du parallélisme
Flexibilité et extensibilité
Adéquation au traitement en temps réel
Tolérance aux pannes
Disponibilité du matériel et du logiciel
Machine de Harvard:
- Séparation du flux de données et
d’instructions
Supporte le parallélisme
apparent
GPGPU
- CUDA
- OpenCL
SIMD parallèle
LOG645 – Architectures de calculs parallèles
Matériel développé par Lévis Thériault, Automne 2014 30
SIMD – suite –
SIMD vectoriel
LOG645 – Architectures de calculs parallèles
Matériel développé par Lévis Thériault, Automne 2014 31
MISD (Multiple Instruction,
Single Data)
Accès à la mémoire
comme un espace
d’adressage global
Tout changement dans
une case mémoire est
vu par les autres CPU
La communication inter-CPU via la mémoire
globale
Chaque CPU a sa
propre mémoire et
système d’exploitation
Communication inter-
CPU via le réseau
rapide
Exécution des
opérations sur un
ensemble de
données organisées
Mémoire partagée
et distribuée
Dimensionabilité
Portabilité: abstraction du matériel
Déterministe: obtenir les mêmes résultats
Meme inputs avec meme outputs. Si une race condition: dependance sur ordre des
instructions: depend sur ordre des operations. Pas de protection nécessaire
mauvais timing implique problème. Résultat du prog depend du timing. Résultat
non déterministe,