DAC

División de Arquitectura de Computadores

Secciones
Personal
Docencia
PFC
Investigación
Visiting us

Docencia
IT de Informática de Sistemas
IT de Informática de Gestión
IS de Informática
IS Industrial
IT Industrial
Ciencias de la salud
Ciencias de la Información
IS de Telecomunicaciones
Programa de doctorado

Utilidades
Versión para imprimir
Cifrado SSL
Acerca de...
Escribe al webmaster

Buscador
Google

Ampliación de Arquitectura de Computadores

3º De Informática de Sistemas.

Última actualización

última revisión 13/01/2011


Profesores.
Objetivos.
Programa de la Asignatura.
Prácticas.
Evaluación de la Asignatura
Tutorias.
Bibliografía.
Calendario de la asignatura
Recursos de la Asignatura




1. PROFESORES.
Pablo Toharia Rabasco
Despacho 2012-B. (Edificio Ampliación Rectorado, planta segunda)
e-mail: pablo.toharia(at)urjc.es
Tutorías: Miércoles de 15 a 17 y Viernes de 11 a 14
Marcos Novalbos Mendiguchía.
Despacho 2011-C. (Edificio Ampliación Rectorado, planta segunda)
e-mail: marcos.novalbos(at)urjc.es
Tutorías: Miércoles y Jueves de 10:30 a 13:30




2. OBJETIVOS.

Los objetivos de esta asignatura se centran en introducir al alumno en conceptos avanzados de arquitectura de computadores, en especial con la computación de altas prestaciones. En concreto se pretende que el alumno comprenda el funcionamiento, ventajas e inconvenientes de las arquitecturas de alto rendimiento permitiéndole diseñar y proporcionar soluciones que aprovechen las diferentes capacidades y enfoques de las mismas.

Se pretende dar a la asignatura un enfoque práctico de forma que los alumnos sean capaces de sacar el máximo rendimiento de las arquitecturas con las que vayan a trabajar en su vida profesional. Para ello se realizarán prácticas tanto de procesadores segmentados como de programación de aplicaciones paralelas. Esta parte de programación paralela será uno de los puntos fuertes de la asignatura, pues se está introduciendo cada vez con más fuerza en múltiples campos tanto de investigación como de desarrollo en las empresas.



3. PROGRAMA DE LA ASIGNATURA.

Los diferentes temas que se verán a lo largo del curso son los siguientes:

        1. Introducción al rendimiento de computadores
        2. Procesadores Segmentados y Superescalares
        3. Arquitecturas de multiprocesadores y multicore
        4. Clusters de computadores personales
        5. Computación grid
        6. Programación basada en threads
        7. Programación basada en paso de mensajes


4. PRÁCTICAS.

A lo largo del curso se realizaran dos tipos de prácticas:

Segmentación y paralelismo a nivel de instrucción.

Segmentación y Paralelismo a nivel de Instrucción

Objetivos

Los objetivos de esta práctica se pueden resumir en los puntos de la siguiente lista:

  • Afianzar los conceptos teóricos mediante ejercicios propuestos desde un enfoque práctico
  • Familiarizarse con la arquitectura del microprocesador MIPS64 y con el ensamblador "WinMips64"
  • Ampliar las características generales de la arquitectura del microprocesador con la características particulares de una implementación determinada
  • Aplicar todos estos conocimientos para conseguir una programación de altas prestaciones

Material

Fecha de entrega

Día del examen

Forma de entrega

A través de campus virtual


Programación de aplicaciones paralelas.


Programación de aplicaciones paralelas en cluster

Objetivos

Esta segunda prática tiene como objetivo el desarrollo de una aplicación paralela sobre un cluster de ordenadores personales. El alumno puede plantear la práctica que desee realizar. Como ejemplo de aplicaciónes se proponen:

  • Filtrado de video : Herramientas, librerías
  • Sistema de ficheros paralelo.
  • Almacén de datos.
  • Multiplicación de matrices de gran dimensión.
  • Resolución de sudokus samurais.
  • Middleware para cluster heterogéneos: Monitor en tiempo real.
  • API de programación de paso de mensajes.

Material

Fecha de entrega

Día del examen

Forma de entrega

A través de campus virtual y presencial



5. EVALUACIÓN DE LA ASIGNATURA.

Esta asignatura se evaluará en función de las prácticas y ejercicios propuestos. En caso de no asistir a al menos 5 sesiones teóricas, se deberá realizar un examen teórico. Para aprobar la asignatura será necesario aprobar todas las prácticas obligatorias propuestas a lo largo del curso, de forma independiente. Para que una práctica esté aprobada será necesario:
  • Aprobar el examen oral que se realizará en el laboratorio en el momento de la entrega.
  • Presentar la memoria explicativa de la práctica con el formato solicitado en cada caso.
Además se podrá realizar una presentación de 10 minutos (20 minutos en grupos de 2 personas) para completar la nota (2 puntos) sobre alguna arquitectura de altas prestaciones.
Los trabajos propuestos son los siguientes:

  1. Procesador Cell. Ejemplo de arquitectura (ej. PS3).
  2. Intel QuadCore
  3. Xenon (Xbox 360)
  4. Procesador UltraSPARC RK (Rock)
  5. SGI Altix 4000
  6. IBM Cluster 1600
  7. Arquitectura GPUs NVIDIA Tesla/8800
  8. GPGPU & Cuda
  9. OpenMP
  10. Globus Toolkit
  11. Open Mosix
  12. Se admiten propuestas de los alumnos.

Por último, se propondrán ejercicios adicionales para subir nota.




6. TUTORIAS.



Las tutorias se realizarán en el horario anteriormente indicado. De todas formas se pueden hacer consultas sobre la asignatura, tanto de teoría como de prácticas en cualquier momento. Es aconsejable enviar primero un mail para concertar y confirmar la tutoría.

También se podrán hacer consultas por correo electrónico a las direcciones que se indican al principio de este documento.




7. BIBLIOGRAFÍA.

No hay un libro completo que cubra todos los temas que se van a impartir a lo largo del curso. Por lo tanto, se proponen una serie de títulos como bibliografía de consulta.

Procesadores segmentados y superescalares.
• Estructura y Diseño de Computadores, David A. Patterson y John L. Hennessy, 3ª edición. Editorial Reverté, año 2000
• Arquitectura de Computadores, Nicholas Carter, Editorial McGraw-Hill, 1º Edición, 2002. (Libro de problemas resueltos).
• See MIPS Run. D. Sweetman. Morgan Kaufmann Pub. San Francisco (EEUU), 2002.
• Computer Architecture: A Quantitative Approach, 3rd. ed. J.L. Hennessy, D.A. Patterson. Morgan Kaufmann Pub. San Francisco (EEUU), 2003.


Arquitecturas Paralelas
• Arquitectura de Computadores, Julio Ortega, Mancia Anguita, Alberto Prieto. Ed. Thomson.
• Parallel Programing, Barry Wilkinson, Michael Allen. Prentice Hall, 1999.
• Parallel Programin with MPI, Peter Pacheco. Editorial Mogan Kaufman, 1997.
• Using MPI: Portable Parallel Programming with the Message Passing Interface, William Gropp, Ewing Lusk, Anthony Skjellum. Editorial MIT Press, 1999.

8. CALENDARIO.

A continuación se detalla el calendario estimado de clases que se va a seguir a lo largo

Días Lunes Martes
10-11 enero Presentación Tema 1
17-18 enero Tema 2 Tema 2
24-25 enero Tema 3 y pres. práctica 1 Tema 4
31 enero / 1 febrero Tema 5 Tema 6
7-8 febrero Tema 7 Presentación Práctica 2 (Aula 106 Lab.II)
14 febrero en adelante Laboratorio Laboratorio
Por determinar Presentación trabajos Presentación trabajos


9. RECURSOS DE LA ASIGNATURA. Las transparencias de la asignatura se encuentran en Campus Virtual.

http://dac.etsii.urjc.es/docencia/AAC/ última revisión 13/01/2011