Différences entre SIMD et MIMD
Le calcul parallèle divise les gros problèmes en sous-problèmes résolus simultanément. SIMD et MIMD sont deux architectures de calcul parallèle utilisant plusieurs processeurs, parfois plusieurs ordinateurs. SIMD = Single Instruction stream Multiple Data stream (flot d'instructions unique, flots de données multiples). MIMD = Multiple Instruction stream Multiple Data stream (flots d'instructions multiples, flots de données multiples). Elles effectuent des fonctions de base similaires mais diffèrent sur le plan pratique et technique.
SIMD défini
L'architecture SIMD effectue une action unique et identique simultanément sur plusieurs données : récupération, calcul ou stockage. Exemple : récupérer plusieurs fichiers à la fois. Les processeurs avec mémoire locale contenant des données différentes exécutent la même instruction de façon synchronisée, avec communication inter-processeurs pour l'allocation de décalage.
MIMD défini
L'architecture MIMD effectue plusieurs actions simultanément sur de nombreuses données. Exemple : effectuer divers calculs mathématiques (addition, multiplication) simultanément pour résoudre un problème complexe à composants séparés. Le calcul MIMD peut être synchronisé ou non, et est de plus en plus courant que le SIMD.
Différences pratiques
SIMD sert aux problèmes nécessitant beaucoup de calculs avec processeurs effectuant la même opération en parallèle. MIMD est fréquent pour les problèmes décomposant des algorithmes en parties indépendantes, chacune assignée à un processeur différent pour résolution simultanée.
Différences techniques
SIMD et MIMD diffèrent techniquement. Les processeurs SIMD sont généralement plus simples, plus petits, moins chers et plus rapides que les MIMD, mais MIMD permet des opérations bien plus complexes. Les opérations MIMD que SIMD peut aussi accomplir prennent plus de temps en SIMD. Les processeurs SIMD doivent exécuter les opérations complexes séquentiellement, tandis que les MIMD le font concurremment.
