ARQUITECTURA MIMD Es el modelo de máquina más general y versátil. Hay dos grandes tipos de máquinas:
Procesadores MIMD con memoria compartida: Multiprocesadores (comparten el mismo espacio de direcciones de memoria). Fuertemente acoplados.
Procesadores MIMD con memoria no compartida: Multicomputadores (paso de mensajes). Acoplamiento débil. 15
MULTIPROCESADORES 16 Pueden tener diferentes tipos de estructuras dependiendo de como estén organizadas los accesos a las diferentes memorias que constituyen la memoria de la máquina.
Tipos: UMA (Uniform Memory Access). NUMA (Non Uniform Memory Access). COMA (Cache Only Memory Access).
MULTIPROCESADORES: MODELO UMA (UNIFORM MEMORY ACCESS) El tiempo de acceso a cualquiera de las memorias es el mismo. 17 P – Procesador MC – Memoria Compartida
MULTIPROCESADORES: NUMA (NON UNIFORM MEMORY ACCESS) El tiempo de acceso a las memorias NO es el mismo Las memorias locales son de acceso más rápido, puede haber memorias globales, 18 P – Procesador ML – Memoria local
MULTIPROCESADORES: MODELO NUMA Pueden estructurarse en clusters de máquinas. 19 P – Procesador GSM – Global Shared Memory CSM – Cluster Shared Memory GIN – Global Interconnection Network
MULTIPROCESADORES: COMA (CACHE ONLY MEMORY ACCESS) En los modelos UMA y NUMA aparece el problema de coherencia de caches. El modelo COMA deriva de los protocolos de coherencia de caches. No existe una memoria física lineal propiamente dicha sino sólo las caches y los protocolos para localizar toda la información. 20 P – Procesador C – Cache D – Diretorio
MULTICOMPUTADORES Es básicamente una red de computadores que se comunica por paso de mensajes, el acoplamiento es más débil que en los multiprocesadores. NORMA – NO Remote Memory Access
21 Nodo
MULTICOMPUTADORES Ventajas: aumento del ancho de banda de la memoria reduce latencias en el acceso a memoria soporta mayor número de procesadores
Particularidades: Memorias locales privadas Comunicación mediante paso de mensajes MPI Message Passing Interface PVM: parallel Virtual Machine 22
MULTICOMPUTADORES 1ª generación (83-87) Arquitectura hipercubo Conmutación software de mensajes CosmicCube Intel iPSC860 2ª generación (87-92) Arquitectura en retícula (mesh) Enrutamiento hardware de mensajes Parsys Supernodo 1000 Intel Paragon 3ª generación (93-…) Un sólo chip con el procesador y comunicaciones MIT J-Machine Caltech Mosaic 23
SUPERCOMPUTADORES 24 (1) Computadores vectoriales (2) Máquinas SIMD (matriciales) Procesador escalar + procesador vectorial Múltiples elementos de proceso bajo la supervisión de una única unidad de control Número pequeño de procesadores potentes con hardware específico para procesamiento vectorial Enfocadas al paralelismo masivo de datos
COMPUTADORES VECTORIALES 25 Host computer
26 Memoria a memoria Registro a registro Los registros vectoriales almacenan operandos y resultados vectoriales. CRAY-1 C-1, C-2 VP100/200 J-90 Emplean una unidad de memoria en la que almacenan los operandos y resultados vectoriales. CDC-STAR100 TI-ASC CYBER-205 COMPUTADORES VECTORIALES: ARQUITECTURAS
RESUMEN 27 Organizaciones de Procesadores SISD SIMD MISD MIMD Uniprocesadores Memoria Compartida (Fuertemente Acoplados Procesadores Matriciales Memoria Distribuida (Debilmente Acoplados) Multiprocesadores Simetricos (SMP) Clusters Acceso No-Uniforme a Memoria (NUMA) Procesadores Vectoriales
ENTORNOS DE PROGRAMACIÓN 28 El paralelismo debe ser soportado a nivel de:
Sistema operativo Herramientas de programación
Los sistemas operativos paralelos deben permitir:
Planificación paralela Asignación de recursos (memoria, periféricos…) Comunicación Protección de memoria y conjuntos de datos Prevención de bloqueos Manejo de excepciones
HERRAMIENTAS DE PROGRAMACIÓN 29
ARQUITECTURAS DEL PROCESADOR: EVOLUCIÓN Chip uniprocesador Micros convencionales Procesadores superescalares Procesadores superespeculativos Procesadores multithread Trace processors Chip multiprocesador Vector IRAM processors Single-chip multiprocesors (multicore) Raw configurable processors. 30
Página anterior | Volver al principio del trabajo | Página siguiente |