(N3) Programación Distribuida y Paralela usando MPI

cabezal
  • Profesor:  Arzhan Kinzhalin (Intel Software, Córdoba, Argentina)
    Docentes de prácticas: Víctor Rosales y Facundo Ferrer (Intel Software, Córdoba, Argentina)
  • Horario: Lunes a viernes de 19 a 22 horas
  • Aula: A definir (Pabellón 1)
  • Idioma: Castellano
  • Evaluación: Trabajo Práctico en clase el sábado 30 de julio


Resumen breve: El curso introduce los conceptos de programación distribuida y modelos de computación actuales: Message Passing Interface, MapReduce y PGAS entre otros. MPI, el modelo más popular para modelar los problemas en física, biología e ingeniería, se utilizará durante el curso como la plataforma para desarrollar los ejemplos prácticos. Los alumnos interesados deben contar con conocimientos de lenguaje de programación C y conceptos de compilación utilizando las herramientas GNU, ya que el curso será evaluado por un trabajo práctico.

Programa tentativo:  Día 1: Sistemas paralelos. Para esta parte llevaremos un cluster portátil de 4 nodos para que los alumnos puedan armar un cluster incluido los diferentes componentes de HW. Día 2: Programación Básica MPI. Día 3: Tópicos más avanzados de MPI. Día 4: Programación avanzada: Deadlocks, MPI_Barrier, topologías virtuales, etc. Día 5: Trabajo práctico.

  • Bibliografía recomendada:

• Peter Pacheco "An Introduction to Parallel Programming", 2011.
• Thomas Sterling, Daniel F. Savarese, Donald J. Becker and John Salmon "How to Build a Beowulf: A Guide to the Implementation and Application of PC Clusters (Scientific and Engineering Computation)", 1999.
• Joseph D Sloan "High Performance Linux Clusters with OSCAR, Rocks, OpenMosix, and MPI (Nutshell Handbooks)", 2005.
• Michael J. Quinn "Parallel Programming in C with MPI and OpenMP", 2004.

Notas Finales

pie