Guía DocenteCurso
Facultade de Informática
  Inicio | galego | castellano | A A |  
Enxeñeiro en Informática
 Asignaturas
  Arquitectura e Enxeñaría de Computadores
   Contidos
Temas Subtemas
4. Computación paralela: arquitecturas y paradigmas de programación 4.1. Clasificación de arquitecturas MIMD
- Organización del sistema memoria: clasificación tradicional de sistemas MIMD
• Comparación multiprocesador-multicomputador
- Escalabilidad: clasificación de multiprocesadores basada en la latencia de acceso a memoria
• Clasificación de sistemas NUMA
4.2. Otras denominaciones usuales
4.3. Lista Top500
4.4. Modelos de programación paralela
1. Introducción al procesamiento paralelo 1.1. Procesamiento paralelo
1.2. Condiciones de paralelismo
- Concepto de dependencia
- Condiciones de Bernstein
- Paralelismo hardware y software
1.3. Niveles de paralelismo
1.4. Importancia del procesamiento paralelo
1.5. Clasificaciones de arquitecturas paralelas
- Taxonomía de Flynn
- Organización del sistema memoria: clasificación tradicional de sis-
temas MIMD.
1.6. Medidas de rendimiento
2. Paralelismo a nivel de instrucción 2.1. Rendimiento de un procesador
2.2. Soluciones básicas para la mejora del rendimiento: Evolución
2.3. Técnicas para el aumento del paralelismo a nivel de instrucción
2.4. Planificación estática/software
- Planificación estática básica
- Desenrollamiento de bucles
- Planificación estática superescalar
- Planificación estática VLIW
- Segmentación software
- Detección y eliminación de dependencias
2.5. Planificación dinámica/hardware
- Planificación dinámica superescalar
2.6. Renombre de registros
- Renombre de registros software
- Renombre de registros hardware: Buffer de reordenamiento
2.7. Tratamiento de operaciones load/store: buffer de almacenamiento
2.8. Tratamiento de riesgos de control
- Predicción de salto estática, salto retardado
- Predicción dinámica de saltos
2.9. Especulación
2.10. Ejemplos comerciales
5. Arquitecturas multiprocesador: coherencia caché y consistencia de memoria 5.1. Introducción
5.2. Protocolos de coherencia caché
5.3. Protocolo de snooping
- Ejemplo de protocolo de snooping
5.4. Protocolo basado en directorio
- Ejemplo de protocolo basado en directorio
5.5. Modelos de consistencia de memoria
3. Procesamiento vectorial 3.1. ¿Por qué máquinas vectoriales?
3.2. Arquitecturas vectoriales
3.3. Arquitectura vectorial básica
- Componentes principales de la U.V.
- Máquinas vectoriales comerciales
- Repertorio de instrucciones de la U.V.
- Ejemplo de bucle vectorial
3.4. Vectorización
3.5. Tiempo de ejecución vectorial
3.6. Organización de memoria en un procesador vectorial
- Entrelazamiento de memoria
- Técnicas de estructuración de datos para máquinas vectoriales
3.7. Control de la longitud del vector
3.8. Rendimiento vectorial
- Efectos de la vectorización.
- Mejorando el rendimiento vectorial:
• Encadenamiento de U.F. vectoriales
• Transformación de código para evitar conflictos de acceso a memoria
3.9. Ejemplos comerciales:
- Earth Simulator
- Cray X1
6. Redes de interconexión para arquitecturas paralelas 6.1. Introducción
6.2. Redes de interconexión estáticas
6.3. Estrategias de conmutación
6.4. Redes de interconexión dinámicas
6.5. Funciones de encaminamiento de datos
6.6. On-chip networks (OCN)
7. Cluster computing 7.1. Configuración de un clúster
- Introducción a las arquitecturas clúster
- Elementos de un clúster
• Administrador, S.O.
• Nodos de cómputo
• Almacenamiento
• Redes de interconexión de clusters
7.2. Administración de un clúster
- Software de administración y monitorización de clusters
- Gestión de recursos distribuidos
- Balanceadores de carga: linux virtual server
- Clusters en aplicaciones científicas
- Clusters en aplicaciones empresariales
Universidade da Coruña - Rúa Maestranza 9, 15001 A Coruña - Tel. +34 981 16 70 00  Soporte Guías Docentes