Planificación de Cálculo Paralelo (2016)

 IMPRIMIR PLANIFICACIÓN

Información básica

Carrera
Ingeniería en Informática
Departamento
Informática
Sitio Web
http://www.cimec.org.ar/cursos
Plan de Estudios
Plan 2006
Carácter Período
Cuatrimestral No especificado
Docente Responsable
Victorio Enrique Sonzogni

Equipo docente

Nombre y Apellido
D'elia, Jorge
Sonzogni, Victorio Enrique
Storti, Mario Alberto

Carga horaria

Carga horaria total 60 hs
Teoría 26 hs
Resolución de ejercicios 4 hs
Proyecto y diseño 0 hs
Evaluaciones 4 hs
Formación experimental 18 hs
Resolución de problemas de ingeniería 8 hs
Otras actividades 0 hs

Contenidos mínimos

Arquitectura de computadoras paralelas. Programación en computadoras de memoria local y de memoria distriubuida. PVM,MPI,OMP. Aplicaciones a operaciones con matrices y a resolucion de sistemas de ecuaciones algebraicas lineales.

Objetivos

La materia Cálculo Paralelo tiene como objetivo introducir al alumno en la realización de cálculos numéricos en computadoras paralelas o de alto desempeño. Se analizan las diferentes arquitecturas de computadoras paralelas y los modelos de programación paralela.

Se hace énfasis en el trabajo tanto en redes de computadoras (computadoras personales o estaciones de trabajo) como en los denominados clusters de procesadores (grupos de microprocesadores interconectados que pueden ser utilizados como una computadora paralela), ambas opciones disponibles en la Facultad. Asimismo se trabajará con procesadores multicore.

Conocimientos específicos previos para cursar la asignatura

Cálculo Numérico

Algoritmos y Estructura de Datos

Metodología de enseñanza

Clases teoricas expositivas mediante cañon de proyección y pizarrón. Archivos con las presentaciones disponibles en la web de la materia.

Clases prácticas en computadoras y en Clusters.

Los trabajos prácticos son de realización individual e incluyen uso de programas y  programación y verificación y mediciones de desempeño.

Además de los contenidos conceptuales, en cada unidad temática se busca la capacidad para evaluar y seleccionar estrategias y modelos de paralelización, y la habilidad para programar los códigos computacionales para resolución de problemas numéricos y el uso de herramientas específicas para comunicación o extensiones a lenguajes de programación o compiladores.

Programa Analítico

Introducción

Motivación. Desafíos actuales en necesidad de cálculo científico. Evolución de las supercomputadoras. Cálculo paralelo. Arquitectura de computadoras paralelas. Criterios de clasificación y taxonomía.

Medidas de velocidad de procesamiento

Velocidad de procesamiento. Patrones de comparación (benchmarks). Optimización.



Vectorización

Procesadores vectoriales. Programación de computadoras vectoriales.

Análisis de algoritmos

Grafos. Análisis de algoritmos secuenciales. Análisis de algoritmos paralelos.

Modelos y estrategias de paralelización

Niveles de paralelismo. Modelos de programación paralela. Estrategias de paralelización. Reordenamiento de las variables. Descomposición del dominio. Problemas de proyección en computadoras masivas. Diseño de programas paralelos.

Programación en el modelo de memoria compartida

Procesos. Mecanismos de coordinación. Dependencia entre los datos. Granularidad y equilibrio de las tareas. Programación en paralelo en el paradigma de memoria compartida. HPF (High Perfomance Fortran). OMP.

Programación en el modelo de memoria local

Comunicación y granularidad. Programas host-node. Programación en paralelo en el paradigma de intercambios de mensajes: PVM (Parallel Virtual Machine) y MPI (Message-Passing Interface), paquetes con "fuentes abiertos" (open source).

Eficiencia de programas paralelos

Speedup y eficiencia. Ley de Amdahl. Factores que influyen en la eficiencia. Sobrecargas por comunicación y coordinación. Fracciones no paralelizables. Redundancia. Desbalanceo.

Algoritmos paralelos para álgebra lineal

Bibliotecas de procedimientos para álgebra lineal. Programas paralelos para operaciones matriciales. Herramientas: ScaLAPACK, PETSc.

.

Métodos directos de resolución de sistemas de ecuaciones algebraicas lineales

Programación paralela de métodos directos para sistemas de ecuaciones lineales. Sistemas triangulares. Factorización LU.

Métodos iterativos de resolución de sistemas de ecuaciones algebraicas lineales

Métodos iterativos para sistemas de ecuaciones lineales. Método de gradiente conjugado precondicionado. Programación paralela.

Bibliografía

Bibliografía básica

S. Succi and F. Papetti,
An introduction to parallel computational fluid dynamics
Nova Science Publ.,New York

I. Foster
Designing and Building Parallel Programs
http://www.mcs.anl.gov/dbpp/

R. Buyya
High Performance Cluster Computing: Architectures and  Systems,  Vol.1 y 2,
Prentice Hall PTR, NJ, USA

J. Dongarra, I. Duff, D. Sorensen and H. van der Vorst
Numerical Linear Algebra for High-Performance Computers
SIAM Publication, Philadelphia PA,

ISBN: 0-89871-428-1

G. Fox, R. Williams, and P. Messina
Parallel Computing Works
http://www.npac.syr.edu/copywrite/pcw/,

Geist, et al.
PVM 3 User's Guide and Reference Manual
Oak Ridge National Laboratory, Oak Ridge, Tennessee USA,

W. Gropp, E. Lusk and A. Skjellum
Using MPI: Portable Parallel Programming with the Message-Passing Interface
The MIT Press, Cambridge,

Cronograma de actividades

introduccion Semana 1 Tipo: T Duración: 2 hs
Docente/s responsable/s: Victorio Enrique Sonzogni
Descripción:
Observaciones:
Medidas de velocidad de procesamiento Semana 1 Tipo: PL Duración: 2 hs
Docente/s responsable/s: Victorio Enrique Sonzogni
Descripción:
Observaciones:
PVM Semana 2 Tipo: PL Duración: 2 hs
Docente/s responsable/s: Victorio Enrique Sonzogni
Descripción:
Observaciones:
PVM Semana 3 Tipo: T Duración: 2 hs
Docente/s responsable/s: Victorio Enrique Sonzogni
Descripción:
Observaciones:
Análisis de algoritmos Semana 4 Tipo: T Duración: 2 hs
Docente/s responsable/s: Victorio Enrique Sonzogni
Descripción:
Observaciones:
Vectorizacion Semana 4 Tipo: PL Duración: 2 hs
Docente/s responsable/s: Mario Alberto Storti
Descripción:
Observaciones:
MPI Semana 5 Tipo: T Duración: 2 hs
Docente/s responsable/s: Mario Alberto Storti
Descripción:
Observaciones:
MPI Semana 5 Tipo: PL Duración: 2 hs
Docente/s responsable/s: Mario Alberto Storti
Descripción:
Observaciones:
Programación en el modelo de memoria local Semana 6 Tipo: T Duración: 2 hs
Docente/s responsable/s: Victorio Enrique Sonzogni
Descripción:
Observaciones:
OMP Semana 7 Tipo: PL Duración: 2 hs
Docente/s responsable/s: Jorge D'elia
Descripción:
Observaciones:
Programación en el modelo de memoria compartida Semana 8 Tipo: T Duración: 2 hs
Docente/s responsable/s: Victorio Enrique Sonzogni
Descripción:
Observaciones:
Primer Parcial Semana 8 Tipo: E Duración: 2 hs
Docente/s responsable/s: Jorge D'elia, Victorio Enrique Sonzogni, Mario Alberto Storti
Descripción:
Observaciones:
Modelos y estrategias de paralelización Semana 9 Tipo: T Duración: 2 hs
Docente/s responsable/s: Victorio Enrique Sonzogni
Descripción:
Observaciones:
Modelos y estrategias de paralelización Semana 9 Tipo: EP Duración: 2 hs
Docente/s responsable/s: Victorio Enrique Sonzogni
Descripción:
Observaciones:
Eficiencia de programas paralelos Semana 10 Tipo: T Duración: 2 hs
Docente/s responsable/s: Victorio Enrique Sonzogni
Descripción:
Observaciones:
Eficiencia de programas paralelos Semana 10 Tipo: EP Duración: 2 hs
Docente/s responsable/s: Victorio Enrique Sonzogni
Descripción:
Observaciones:
Algoritmos paralelos para álgebra lineal Semana 11 Tipo: T Duración: 2 hs
Docente/s responsable/s: Victorio Enrique Sonzogni
Descripción:
Observaciones:
Algoritmos paralelos para álgebra lineal Semana 11 Tipo: PI Duración: 2 hs
Docente/s responsable/s: Victorio Enrique Sonzogni
Descripción:
Observaciones:
Métodos directos de resolución de sistemas de ecuaciones algebraicas lineales Semana 12 Tipo: T Duración: 2 hs
Docente/s responsable/s: Victorio Enrique Sonzogni
Descripción:
Observaciones:
Métodos directos de resolución de sistemas de ecuaciones algebraicas lineales Semana 12 Tipo: PI Duración: 2 hs
Docente/s responsable/s: Jorge D'elia, Victorio Enrique Sonzogni
Descripción:
Observaciones:
Métodos iterativos de resolución de sistemas de ecuaciones algebraicas lineales Semana 13 Tipo: T Duración: 2 hs
Docente/s responsable/s: Jorge D'elia
Descripción:
Observaciones:
Métodos iterativos de resolución de sistemas de ecuaciones algebraicas lineales Semana 13 Tipo: PI Duración: 2 hs
Docente/s responsable/s: Jorge D'elia
Descripción:
Observaciones:
Métodos iterativos de resolución de sistemas de ecuaciones algebraicas lineales Semana 14 Tipo: PI Duración: 2 hs
Docente/s responsable/s: Mario Alberto Storti
Descripción:
Observaciones:
Métodos Iterativos de Resolución Semana 14 Tipo: T Duración: 2 hs
Docente/s responsable/s: Mario Alberto Storti
Descripción:
Observaciones:
Métodos Iterativos de Resolución Semana 15 Tipo: PL Duración: 2 hs
Docente/s responsable/s: Mario Alberto Storti
Descripción:
Observaciones:
Segundo Parcial Semana 15 Tipo: E Duración: 2 hs
Docente/s responsable/s: Victorio Enrique Sonzogni
Descripción:
Observaciones:

Requerimientos para regularizar

Para obtener la regularidad en la materia el alumno deberá:
1) Observar un 80% de asistencia a las clases teórico-prácticas;
2) Cumplimentar la entrega de las Guías de Trabajos Prácticos en las fechas previstas de entrega;
3) Aprobar Dos (2) Exámenes Parciales con –por lo menos- un 40% de la calificación máxima de cada uno. Se prevé la posibilidad de recuperar uno de estos Exámenes Parciales.

Requerimientos para promover

1) Observar un 80% de asistencia a las clases teórico-prácticas;
2) Cumplimentar la entrega de las Guías de Trabajos Prácticos en las fechas previstas de entrega;
3) Aprobar Dos (2) Exámenes Parciales con –por lo menos- un 60% de la calificación máxima de cada uno y un 70% promedio. Se prevé la posibilidad de recuperar uno de estos Exámenes Parciales.

4) Aprobar un Coloquio Final Integrador.

Examen final

Alumnos regulares

El examen final para alumnos regulares consta de cuestionarios teórico-prácticos, análisis de algoritmos y programas, y escritura de programas.

Alumnos libres

El examen final para alumnos libres consta de cuestionarios teórico-prácticos, análsis de algoritmos y programas, y escritura de programas.

También requiere trabajo en computadoras.

Evaluaciones

Fecha Tipo Modalidad Descripción
07-10-2016 Parcial Escrita Primer Parcial.
18-11-2016 Parcial Escrita Segundo Parcial.