Pasar al contenido principal

Multiprocesadores

Créditos
6
Tipos
Obligatoria de especialidad (Ingeniería de Computadores)
Requisitos
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

Otros

Horas semanales

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

Competencias

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.
  • 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.).
  • 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
    Teoría
    0h
    Problemas
    0h
    Laboratorio
    0h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    0h

    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)
    Teoría
    0h
    Problemas
    0h
    Laboratorio
    0h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    0h

    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ásico

    Capacidades previas

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