Multiple Instructions on Multiple Data

Un article de Wikipédia, l'encyclopédie libre.

Multiple Instructions multiple data ou MIMD désigne les machines multi-processeurs où chaque processeur exécute son code de manière asynchrone et indépendante. Pour assurer la cohérence des données, il est souvent nécessaire de synchroniser les processeurs entre eux, les techniques de synchronisation dépendent de l'organisation de la mémoire.

On distingue pour cela 2 types d'architectures :

[modifier] MIMD à mémoire partagée

Les processeurs accèdent à une mémoire commune : la synchronisation peut se faire au moyen de:

  • sémaphores
  • verrous, ou Mutex (exclusion mutuelle)
  • barrières de synchronisation

[modifier] MIMD à mémoire distribuée

Chaque processeur dispose de sa propre mémoire. Cette architecture nécessite un réseau d'interconnexion pour la synchronisation. On citera pour l'échange d'informations entre les processeurs :

  • appel de procédure distante RPC
  • envoi / réception de messages synchrone, ou asynchrone