Curso 2010/11


Índice


1. Profesores


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:


Nota de las prácticas

Los requisitos mínimos para sacar un "5" en las práctica son:

Requisitos para subir más de un 5:


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:

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.