Multiprocesadores

Usted está aquí

Créditos
6
Tipos
Obligatoria de especialidad (Ingeniería de Computadores)
Requisitos
  • Prerrequisito: AC2
  • Prerrequisito: PAR
Departamento
AC
El principal objetivo de esta asignatura es que el alumno adquiera los fundamentos de consistencia de memoria y coherencia de cache en sistemas multiprocesador. El contenido de la asignatura cubre el espectro de multiprocesadores de pequeña escala hasta mutliprocesadores escalables. También se centra en la disponibilidad y utilización de instrucciones atómicas de lectura-modificación-escritura. En concreto los temas desarrollados capacitan para la evaluación del rendimiento de un sistema multiprocesador al ejecutar aplicaciones paralelas. Además capacitan para la utilización de lenguajes de descripción hardware y su utilización para la especificación de la jerarquía de memoria en un multiprocesador.

Profesorado

Responsable

  • Jose M. Llaberia Griñó ( )

Otros

  • Adrià Armejach Sanosa ( )
  • Ramon Canal Corretger ( )

Horas semanales

Teoría
2
Problemas
1
Laboratorio
1
Aprendizaje dirigido
0
Aprendizaje autónomo
6

Competencias

Competencias Técnicas

Competencias técnicas comunes

  • CT6 - Demostrar conocimiento y comprensión del funcionamiento interno de un computador y del funcionamiento de las comunicaciones entre ordenadores.
    • CT6.2 - Demostrar conocimiento, comprensión y capacidad de evaluar la estructura y la arquitectura de los computadores, así como los componentes básicos que los conforman.
  • CT7 - Evaluar y seleccionar plataformas de producción hardware y software para la ejecución de aplicaciones y de servicios informáticos.
    • CT7.1 - Demostrar conocimiento de las métricas de calidad y saber utilizarlas.

Competencias Transversales

Aprendizaje autónomo

  • G7 [Avaluable] - Detectar carencias en el propio conocimiento y superarlas mediante la reflexión crítica y la elección de la mejor actuación para ampliar este conocimiento. Capacidad para el aprendizaje de nuevos métodos y tecnologías y versatilidad para adaptarse a nueves situaciones.
    • G7.3 - Aprendizaje autónomo: Capacidad de planificación y organización del trabajo personal. Aplicar los conocimientos adquiridos a la realización de una tarea en función de la pertenencia y la importancia, decidiendo la manera de llevarla a cabo y el tiempo que hay que dedicarle y seleccionando las fuentes de información más adecuadas. Identificar la importancia de establecer y mantener contactos con los compañeros de estudios, con el profesorado y con profesionales (networking). Identificar fórums de información sobre ingeniería TIC, sus avances y su impacto en la sociedad (IEEE, asociaciones, etc.).

Competencias Técnicas de cada especialidad

Especialidad ingeniería de computadores

  • CEC2 - Analizar y evaluar arquitecturas de computadores incluyendo plataformas paralelas y distribuidas, y desarrollar y optimizar software para dichas plataformas.
    • CEC2.1 - Analizar, evaluar, seleccionar y configurar plataformas hardware para el desarrollo y la ejecución de aplicaciones y servicios informáticos.
  • CEC3 - Desarrollar y analizar hardware y software para sistemas empotrados y/o de muy bajo consumo.
    • CEC3.2 - Desarrollar procesadores específicos y sistemas empotrados; desarrollar y optimizar el software de estos sistemas. 

Objetivos

  1. Capacitación para comprender los conceptos básicos en multiprocesadores: terminología, organización, elementos que componen un multiprocesador, consistencia y coherencia de memoria.
    Competencias relacionadas: CEC2.1, CT6.2, G7.3,
  2. Capacitación para comprender los conceptos básicos de comunicación y sincronización en un multiprocesador.
    Competencias relacionadas: CEC2.1, CT6.2, G7.3,
  3. Capacitación para comprender las restricciones que impone la tecnología, trabas al funcionamiento ideal al implementar un multiprocesador y soluciones adoptadas.
    Competencias relacionadas: CEC3.2, CT6.2,
  4. Capacitación para analizar y evaluar de forma crítica un multiprocesador y sus elementos.
    Competencias relacionadas: CEC2.1, CT7.1, CT6.2,
  5. Capacitación para la utilización de un lenguaje de descripción hardware y su aplicación en la especificación de elementos de un multiprocesador
    Competencias relacionadas: CEC3.2, CT7.1, CT6.2,

Contenidos

  1. Motivación
    Trabas existentes para explotar el paralelismo a nivel de instrucción. Incremento de la productividad de un procesador utilizando la técnica multihilo. Aprovechamiento del número de transistores disponibles en un chip mediante la técnica de replicación de procesadores.
  2. Consistencia y coherencia de memoria
    Conceptos de consistencia de memoria y coherencia de cache. Modelo de memoria especificado en el lenguaje máquina. Necesidad de mantener la coherencia entre las copias de un dato.
  3. Multiprocesador básico
    Elementos de un sistema multiprocesador. Cache privadas. Red de interconexión: Soporte de un modelo de consistencia. Coherencia de cache.
  4. Comunicación y sincronización
    Soporte del lenguaje máquina a la comunicación y sincronización. Mecanismos básicos de sincronización.
  5. Multiprocesador de pequeña escala
    Incremento del rendimiento. Reducción del ancho de banda necesario. Protocolos de coherencia de cache.Multiprocesador en un chip.
  6. Multiprocesador escalable
    Implicaciones del número de procesadores en la arquitectura de un multiprocesador. Interconexión de varios chips multiprocesador.

Actividades

Actividad Acto evaluativo


Prueba

Evaluación de los objetivos correspondientes a los tres primeros temas
Objetivos: 1 4 5
Semana: 8
Tipo: examen de teoría
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h

Consolidación

Examen final. Evaluación de todos los objetivos de la asignatura.
Objetivos: 1 3 4 5 2
Semana: 15 (Fuera de horario lectivo)
Tipo: examen de teoría
Teoría
3h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

Motivación

Estudiar los conceptos teóricos del tema y resolver los ejercicios y problemas propuestos.
Objetivos: 1 4 5
Contenidos:
Teoría
3h
Problemas
2h
Laboratorio
1h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

Consistencia y coherencia de memoria

Estudiar los conceptos teóricos del tema y resolver los ejercicios y problemas propuestos.
Objetivos: 1 5
Contenidos:
Teoría
4h
Problemas
2h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h

Multiprocesador básico

Estudiar los conceptos teóricos del tema y resolver los ejercicios y problemas propuestos.
Objetivos: 1 4 5
Contenidos:
Teoría
6h
Problemas
3h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
16h

Comunicación y sincronización

Estudiar los conceptos teóricos del tema y resolver los ejercicios y problemas propuestos.
Objetivos: 5 2
Contenidos:
Teoría
4h
Problemas
2h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h

Multiprocesador de pequeña escala

Estudiar los conceptos teóricos del tema y resolver los ejercicios y problemas propuestos.
Objetivos: 3 5
Contenidos:
Teoría
5h
Problemas
4h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
14h

Multiprocesador escalable

Estudiar los conceptos teóricos del tema y resolver los ejercicios y problemas propuestos.
Objetivos: 3 4
Contenidos:
Teoría
3h
Problemas
2h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
14h

Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h

Metodología docente

Clases de teoria en las cuales se desarrollan los conceptos y hay participación de los alumnos.
Clases de problemas donde se aplican los conceptos desarrollados en las clases de teoría y el agente activo es el alumno.
Clases de laboratorio donde se aplican los conceptos desarrollados en clase de teoría en un ejemplo concreto de multiprocesador. El agente activo es el alumno y la colaboración entre los elementos que componen el grupo es el medio para incrementar o asentar el conocimiento.

El curso se desarrolla de forma contructiva. Esto es, se parte de los conceptos adquiridos en asignaturas precedentes y en cada tema de la asignatura se incrementa el conocimiento y la capacidad de comprender, analizar y razonar sobre aspectos de un multiprocesador. Esta capacitación es además cuantitativa.

Método de evaluación

Prueba (P): Prueba escrita donde se evalúan los objetivos correspondientes a los tres primeros temas.
Examen final (F): Prueba escrita donde se evalúan todos los objetivos de la asignatura.
Laboratorio (L): Se evalúa a partir de los informes entregados en cada una de las sesiones prácticas y, en su caso, de una entrevista personal.

La nota final (NF) se calcula mediante la siguiente expresión:
NF = max (0.8 x F, (0.65 x F + 0.15 x P) ) + 0.2 x L


El nivel de consecución de la competencia genérica se evalúa indirectamente a partir de las notas de la prueba y del examen final.
La nota correspondiente es:
A si 8.5 =< NF; B si 7 =< NF < 8.5; C si 5 =< NF < 7; D si NF < 5

Bibliografía

Básica:

Capacidades previas

Las enumeradas en las asignaturas IC, EC, PE, AC, PAR, AC2