Architectures parallèles PhD Marco Antonio Ramos Corchado
Preguntas? En una hoja con su nombre responda las siguientes preguntas. 1.Cual es la diferencia entre un sistema distribuido y un sistema paralelo. 2.Donde utilizamos cada uno de estos. 3.Cual es la parte critica de un proceso. 4.Que diferencias sustanciales tenemos en programas secuenciales, con respecto de programas que utilizan hilos. 5.Con sus propias palabras defina que es un hilo. 6.Para que utilizamos los hilos. 7.De acuerdo a los códigos sobre hilos cual es el paralelismo.
Systèmes parallèles et distribués Système distribué – Architecture composée de processeurs interconectés. – Utilisation : résolution simutalnée de plusieurs problèmes liés Ordinateur parallèle – Machine composée de processeurs fortement couples – Résolution simultanée d’un même problème Calcul distribué – en général, architecture client-serveur – répartition des ressources sur plusieurs machines – communications rares – tâches à gros grain – questions de fiabilité, sécurité, inhomogénéité
Systèmes parallèles et distribués Calcul parallèle – répartition d'un problème sur des noeuds de calcul – communications fréquentes – questions de performances Remarque – succès croissant des architectures distribuées avec la mise en réseau systématique des ordinateurs actuels outils de gestion: CORBA, DCOM Internet: Web-computing
Niveaux de parallélisme et granularité Grain d'une application parallèle Jobs ou programes > tâches > variables (processus) (threads) Granutarité Grossier Fin Grain d’un ordinateur parallèle – Nombre de processeurs Optimalement – Grain de l’application = grain de l’ordinateur
Parallélisme des jobs (grain grossier) But du parallélisme de jobs – Augmenter la productivité via la multi-programmation Machines SMP (Symmetric Multi-Processor) – Succès commercial – Processeurs identiques, mémoire commune – Efficaces comme serveurs de calcul – Exemples Sun Enterprise 420R, 4 CPU à 450 MHz Sun Ultra60, 2 CPU à 300 MHz
SMP (Symmetric Multi-Processor)
Parallélisme de tâches, de variables (grain fin) But du parallélisme de tâches, de variables – Coopérer por résoudre un même problème Machines MPP (Massively Parallel Processor) – Hors de prix (env. 1,000,000 dls) – Couplage fort entre processeurs Comunication à haut débit (> 1 Gbit) – Exemples SuperNode1000 de Parsys CM-2 de Thinking Machine Corp.
MPP (Massively Parallel Processor)
SMP vs MPP In MPP operation, the problem is broken up into separate pieces, which are processed simultaneously. In SMP, CPUs are assigned to the next available task or thread that can run concurrently.
Formes de Parallélisme Classification de Flynn des stratégies du parallélisme – SISD (Single Instruction flow, Single Data flow) SISD = séquentiel ou scalaire architecture classique de von Neumann – MISD (Multiple Instruction flow, Single Data flow) MISD = pipeline ou travail à la chaîne architecture vectorielle avec CPU pipeline – SIMD (Single Instruction flow, Multiple Data flow) processeurs de calcul synchronisés exécution de la même instruction d'un programme unique sur des données propres
Formes de Parallélisme (cont…) – MIMD (Multiple Instruction flow, Multiple Data flow) communication par échange de messages ou accès concurrents exécution d'un programme propre architecture MIMD à mémoire partagée architecture MIMD à mémoire distribuée
– MIMD (Multiple Instruction flow, Multiple Data flow) communication par échange de messages ou accès concurrents – risques d'interblocage exécution d'un programme propre – cas particuliers » SPMD (Single Program, Multiple Data flow) » producteur-consommateur
– MIMD (Multiple Instruction flow, Multiple Data flow) architecture MIMD à mémoire partagée processeurs synchronisés gestion des conflits d'accès (OS) programmation "conventionnelle" exemple: machines SMP – architecture MIMD à mémoire distribuée processeurs non-synchronisés gestion des échanges de données (programmeur) extensibilité du système par ajout de modules processeur- mémoire
Deux types de parallélisme Parallélisme de données – (ou plus) données traitées simultanément par des processeurs différents codes scientifiques – adapté aux machines SIMD, MIMD Parallélisme de contrôle – de l'ordre de 10 pour la plupart des codes – adapté aux machines MIMD Parallélismes d'application et d'architecture doivent correspondre au mieux
Tarea. Investigar las arquitecturas de tipo COW y DSM. Investigas los modelos de acceso a memoria COMA y NORMA