DAC

Laboratorio de Arquitecturas Avanzadas 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

Curso 2010/11


Índice


1. Profesores

  • Alberto Sánchez Campos
    • Despacho: 2011-B Ampliación Rectorado
    • Email: alberto.sanchez |arroba| urjc.es
    • Tutorias:
      • Martes: 10:30 a 13:30
      • Miércoles: 10:30 a 13:30
  • Marcos Novalbos Mendiguchía
    • Despacho: 2011-C Ampliación Rectorado
    • Email: marcos.novalbos |arroba| urjc.es
    • Tutorias:
      • Miércoles: 10:30 a 13:30
      • Jueves: 10:30 a 13:30

2. Objetivos

Los objetivos de esta asignatura se centran en introducir al alumno en 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 asigntura 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 sistemas de memoria compartida como de memoria distribuida para la realizació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. Temario


4. Prácticas

A lo largo del curso se realizarán dos prácticas obligatorias con el objetivo de desarrollo una aplicación paralela sobre distintas arquitecturas. El alumno puede plantear la práctica que desee realizar. Como ejemplo de aplicaciónes se proponen:

  • Filtrado de video.
  • Compresión de imágenes volumétricas.
  • 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.


Nota de las prácticas

Los requisitos mínimos para sacar un "5" en las práctica son:
  • Compilar la práctica delante de los profesores.
  • Que el ejecutable generado realice "todas" las funciones pedidas.
  • Que el ejecutable compile y funcione sin la intervención del profesor.
  • Memoria con las siguientes secciones:
    • Explicación del diseño seguido para la implementación (incluir diseños rechazados y explicación del rechazo)
    • Pasos seguidos para la implementación (gprof, ley de ahmdal, errores...)
    • Conclusiones
    • No incluir: Código fuente, a menos que sea indispensable para explicar alguna mejora concreta.

Requisitos para subir más de un 5:

  • Pruebas realizadas en varias máquinas/arquitecturas.
  • Interfaz gráfica (configuración del programa, gráficas...).
  • Configurable mediante ficheros de configuración.
  • Buen diseño.
  • Gestión de errores.
  • 7 Evaluación en la memoria que demuestre los beneficios e inconvenientes jugando con diversos parámetros (número de nodos de trabajo, tamaño de bloques de trabajo...)
  • Extras añadidos por el alumno.
  • Optimización en el paso de mensajes (para prácticas en cluster)

Las arquitecturas sobre las que se trabajará son:


5. Trabajos optativos

Además de las prácticas obligatorias se propone la realización de una serie de trabajos que servirán al alumno completar la nota de la asignatura.

El alumno podrá presentar un trabajo a lo largo del curso consistente en una memoria (máximo 10 páginas) en la que se describa la arquitectura o herramienta seleccionada. Además se debe realizar una presentación de 20 minutos sobre el mismo (1,5 puntos). 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.

6. Evaluación

Esta asignatura se evaluará en función de las prácticas y ejercicios propuestos. En caso de no asistir al menos a 5 sesiones teóricas incluyendo las presentaciones de los trabajos optativos, 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:
  • Presentar la práctica en clase antes de la fecha indicada para cada una de ellas.
  • Aprobar el examen oral que se realizará en el laboratorio en el momento de la entrega.
  • Presentar la memoria explicativa de la práctica cumpliendo los objetivos propuestos en cada caso.

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.

Arquitecturas de memoria compartida y muticore.
  • Niagara II: The Hydra Returns, David Kanter. Real World Technologies.
  • Grid computing
  • The Grid 2: Blueprint for a New Computing Infrastructure, Ian Foster y Carl Kesselman. Morgan Kaufmann; 2 edition.
  • 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.
  • Advanced Computer Architecture. A Design Space Approach, Derso Sima, Terence Fountain, Peter Kacsuk. Addison wesley, 1997.


  • http://dac.etsii.urjc.es/docencia/LAAC/ última revisión 21/10/2010