Competencias do título |
Código
|
Competencias da titulación
|
A1 |
Aprender de maneira autónoma novos coñecementos e técnicas avanzadas axeitadas para a investigación, o deseño e o desenvolvemento de sistemas e servizos informáticos. |
A2 |
Concibir e desenvolver novas arquitecturas de computación, en especial para sistemas multiprocesadores, analizando e adaptando diversas alternativas tecnolóxicas a cada problema concreto. |
A3 |
Concibir e planificar o desenvolvemento de aplicacións informáticas complexas ou con requisitos especiais. |
A4 |
Coñecer e aplicar diferentes protocolos de comunicación e sistemas de xestión de rede. |
A6 |
Avaliar, definir, seleccionar e auditar plataformas hardware e software para a execución e desenvolvemento de aplicacións e servizos informáticos. |
A8 |
Concibir, despregar, organizar e xestionar un servizo informático complexo. |
B2 |
Resolver problemas de forma efectiva. |
B3 |
Aplicar un pensamento crítico, lóxico e creativo. |
B5 |
Traballar de forma colaborativa. |
B8 |
Traballar en equipos de carácter interdisciplinar. |
B9 |
Capacidade para tomar decisións. |
B11 |
Razoamento crítico. |
B12 |
Capacidade para a análise e a síntese. |
B13 |
Capacidade de comunicación. |
B15 |
Motivación pola calidade. |
C6 |
Valorar criticamente o coñecemento, a tecnoloxía e a información dispoñible para resolver os problemas cos que deben enfrontarse. |
Resultados de aprendizaxe |
Competencias de materia (Resultados de aprendizaxe) |
Competencias da titulación |
Utilizar nuevas arquitecturas de computación, tanto microprocesador como multiprocesador, en soluciones en ingeniería informática. |
A1 A2 A3 A6 A8
|
B2
|
C6
|
Configurar sistemas para servidores y sistemas de alto rendimiento. |
A2 A3 A8
|
B3
|
|
Analizar de forma crítica parámetros de rendimiento de sistemas hardware y aplicaciones específicas con necesidades especiales. |
A2 A3 A4 A6 A8
|
B9 B11 B12
|
C6
|
Desarrollar aplicaciones paralelas en equipo siguiendo el método de ingeniería informática. |
A2 A6
|
B2 B5 B8 B11 B12 B13 B15
|
C6
|
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 |
Planificación |
Metodoloxías / probas |
Horas presenciais |
Horas non presenciais / traballo autónomo |
Horas totais |
Prácticas de laboratorio |
39 |
39 |
78 |
Sesión maxistral |
52 |
78 |
130 |
Proba obxectiva |
4 |
0 |
4 |
Seminario |
5 |
5 |
10 |
|
Atención personalizada |
3 |
0 |
3 |
|
*Os datos que aparecen na táboa de planificación son de carácter orientativo, considerando a heteroxeneidade do alumnado |
Metodoloxías |
Metodoloxías |
Descrición |
Prácticas de laboratorio |
Realización de prácticas de arquitecturas microprocesador (extensiones SSE2) e introducción a la programación paralela con PVM (Parallel Virtual Machine) y OpenMP. |
Sesión maxistral |
Exposición oral complementada con el uso de las TIC, acompañada de preguntas dirigidas a los estudiantes para afianzar la discusión y conocimientos con el fin de mejorar el aprendizaje. Puede haber debates sobre cuestiones del ámbito de trabajo. |
Proba obxectiva |
Prueba sobre los conceptos teóricos presentados en las sesiones magistrales. |
Seminario |
Seminarios orientado al trabajo práctico de la asignatura, como introducción a la programación paralela con PVM, e introducción a la programación con SSE2. |
Atención personalizada |
Metodoloxías
|
Prácticas de laboratorio |
Proba obxectiva |
|
Descrición |
Prácticas de laboratorio:
Análisis con el estudiante del trabajo que está realizando, y la defensa de su práctica una vez ha terminado.
Sesión maxistral:
Atención personal en horas de tutoría para aclarar dudas surgidas en el seguimiento durante el curso de la materia.
Prueba objetiva:
Revisión de los ejercicios realizados.
|
|
Avaliación |
Metodoloxías
|
Descrición
|
Cualificación
|
Proba obxectiva |
Prueba sobre los contenidos trabajados en las sesiones magistrales. |
100 |
|
Observacións avaliación |
*Consideraciones generales: - La evaluación de los alumnos consistirá en una prueba escrita al final del curso. Es necesario entregar y aprobar las prácticas para superar la asignatura. La evaluación de las prácticas se realiza a lo largo del curso (en evaluación continua). - La evaluación del profesorado se realizará a través de las encuestas de evaluación docente, a cubrir por todos los alumnos de la asignatura.
*Aspectos y criterios de evaluación: Se realizará un examen parcial con la materia explicada durante el primer cuatrimestre: los alumnos que aprueben este parcial, realizarán en el examen final de junio sólo la parte del examen correspondiente al segundo cuatrimestre; los alumnos que no aprueben el examen del primer cuatrimestre, realizarán en el examen final de junio las dos partes correspondientes a ambos cuatrimestres debiendo obtener la mitad de la nota correspondiente a la calificación total de cada cuatrimestre para poder obtener el aprobado. Con respecto a los exámenes de septiembre y diciembre se aplicará el mismo criterio en cuanto a que el alumno debe obtener al menos la mitad de la nota correspondiente a la calificación total de cada cuatrimestre. También es condición necesaria para aprobar tener una calificación mínima de 5 sobre 10 en la valoración de las prácticas. El aprobado en las prácticas se conserva para cursos posteriores siempre y cuando se mantengan las prácticas. Para el curso 2011/2012 se mantienen las prácticas del curso 2010/2011. El aprobado en el examen de teoría en las convocatorias de Junio o Septiembre se guarda como máximo hasta la convocatoria extraordinaria de diciembre del mismo año.
*Pautas para la mejora y la recuperación: - Pruebas objetivas en Septiembre y Diciembre. Si las prácticas no han sido superadas a lo largo del curso podría realizarse un examen de prácticas en el que además se entregarían y defenderían todas las prácticas de la asignatura.
|
Fontes de información |
Bibliografía básica
|
Ortega, J., Anguita, M. y Prieto, A. (2005). Arquitectura de Computadores. Thomson
Hennessy, J. L. y Patterson, D. A. (1996). Computer Architecture: A Quantitative Approach. Morgan Kaufmann
Patterson, D. A. y Hennessy, J. L. (2000). Estructura y Diseño de Computadores. Reverté
Stallings, W. (2006). Organización y arquitectura de computadores. Reverté |
|
Bibliografía complementaria
|
Sima, D. , Fountain,T. y Kacsuk, P. (1997). Advanced Computer Architecture. Addison-Wesley
Culler, D. E. y Singh,J. P. (1999). Parallel Computer Architecture: a Hardware/Software Approach. Morgan Kaufmann
Hwang, K. y Xu, Z. (1998). Scalable Parallel Computing. McGraw-Hill
Tannebaum, A. S. (1999). Structured Computer Organization. Prentice Hall |
|
Recomendacións |
Materias que se recomenda ter cursado previamente |
Arquitecturas Tolerantes a Fallos/614111605 | Optimización do Procesamento Paralelo/614111630 |
|
Materias que se recomenda cursar simultaneamente |
Arquitecturas Tolerantes a Fallos/614111605 | Optimización do Procesamento Paralelo/614111630 |
|
Materias que continúan o temario |
Estrutura de Computadores I/614111208 | Sistemas Operativos II/614111302 | Estrutura de Computadores II/614111306 | Redes de Comunicacións/614111307 |
|
|