You are on page 1of 5

Programacin Distribuida y Paralela

4 Ingeniera Superior en Informtica Depto. de Lenguajes y Sistemas Informticos Universidad de Granada

Objetivos
Las necesidades de cmputo de numerosas aplicaciones obligan a desarrollar software eficiente y seguro para plataformas multiprocesador. Adems, el auge de los procesadores multincleo y de las redes de ordenadores ha aumentado la difusin del procesamiento paralelo que cada vez est ms al alcance del pblico en general. No obstante, para utilizar los sistemas paralelos y/o distribuidos de forma eficiente es necesaria la programacin paralela. La asignatura abarca fundamentalmente las nociones bsicas en la programacin paralela y distribuida, centrndose en el desarrollo de software para arquitecturas como los "clusters" de ordenadores, los sistemas multincleo y los procesadores grficos. Los objetivos particulares son: 1. Dotar al alumno de un conocimiento general sobre programacin paralela y arquitecturas paralelas. 2. Conocer distintos modelos de programacin y tcnicas para el diseo evaluacin e implementacin de algoritmos paralelos. 3. Dotar al alumno de cierta experiencia en la resolucin paralela y distribuida de problemas con objeto de mejorar las prestaciones. 4. Conocer los entornos de programacin ms difundidos para el desarrollo de sistemas paralelos.

Programa de teora (con enlaces a documentacin)


Tema 1: INTRODUCCIN A LA PROG. DISTRIBUIDA Y PARALELA (actualizada) 1.1: Motivacin y aspectos de la Programacin Paralela 1.2: Modelos de Arquitecturas Paralelas 1.3: Modelos de Programacin Paralela. 1.4: Evaluacin del rendimiento de Programas Paralelos Tema 2: METODOLOGA DE PROGRAMACIN PARALELA 2.1: Descomposicin 2.2: Asignacin 2.3: Estudio de casos prcticos

Tema 3: NOTACIONES DE PROGRAMACIN PARALELA 3.1: La Interfaz de Paso de Mensajes: MPI. 3.2: Programacin paralela con hebras basada en directivas: OpenMP. 3.3. Introduccin a la programacin de hardware grfico paralelo:CUDA

RELACIN DE EJERCIOS DE LA ASIGNATURA Algunos ejercicios resueltos del Tema 1

TRABAJOS PRESENTADOS

MPI-2 Aspectos de rendimiento en OpenMP Clusters de ordenadores como plataforma de procesamiento paralelo

Programa de prcticas (con enlaces a documentacin)


PRCTICA 1: INTRODUCCIN A LA INTERFAZ DE PASO DE MENSAJES MPI

Pasos necesarios para usar mpich en las aulas de prcticas y en ordenadores corriendo Linux Tutorial de MPI interactivo. o Versin comprimida del tutorial

PRCTICA 2: IMPLEMENTACIN PARALELA DE ALGORITMOS DE ANLISIS DE GRAFOS. Algoritmo de Floyd Descomposicin 1D y 2D

Cdigo de partida para la prctica

PRCTICA 3 (VOLUNTARIA): IMPLEMENTACIN PARALELA DE ALGORITMOS DE MULTIPLICACIN DE MATRICES. Algoritmo de Cannon y de Fox con descomposicin 2D PRCTICA 4: IMPLEMENTACIN PARALELA DE UN ALGORITMO DE RAMIFICACIN-ACOTACIN. Resolucin distribuida del problema del Viajante de Comercio

Cdigo de partida para la prctica

PRCTICA5 (VOLUNTARIA):INTRODUCCIN A LA PROGRAMACIN EN OpenMP

Cdigos de partida para la prctica Compilador de Intel. Licencia no comercial

Normas de Evaluacion
Las partes tericas y prcticas de la asignatura se evalan por separado y tienen el mismo peso en la nota final de la asignatura (50 %). Para aprobar la asignatura es necesario tener una nota media superior o igual a 5 (sobre 10). Para hacer media entre teora y prcticas es necesario obtener al menos un 3 (sobre 10) en cada parte. La calificacin de la parte aprobada se guarda hasta la convocatoria de diciembre del curso siguiente. La teora se evaluar mediante un examen final, aunque existe la posibilidad de superarla mediante exmenes parciales eliminatorios (que se realizarn para cada tema) o realizando un trabajo. Se dar la posibilidad de realizar un trabajo terico-prctico, sobre algn tpico relacionado con la asignatura que el profesor estime interesante, para subir la nota final o superar temas del programa de teora. Los trabajos se asignan antes de diciembre. Tambin se valorar la participacin activa del alumno en clase a travs de la realizacin de ejercicios y presentacin de trabajos sobre los contenidos de la asignatura. Para superar la parte de prcticas, el alumno deber entregar la documentacin requerida en cada guin de prcticas de las prcticas obligatorias (tanto en convocatoria ordinaria como extraordinaria) y de las prcticas optativas que desee. Para que dicha documentacin pueda ser evaluada, ser necesaria la asistencia a algunas de las sesiones de prcticas dentro de los lmites de entrega de cada prctica (en convocatoria extraordinaria, el profesor y el alumno acordarn un encuentro para realizar la defensa de las prcticas no superadas). La nota de cada prctica individual depender principalmente de la defensa que el alumno haga de su trabajo. Las prcticas se podrn realizar por grupos de dos personas. La superacin de las prcticas 1 es obligatoria pero no contribuye a la nota de prcticas. Las prcticas 2 y 4 contribuirn con un 45%, y 55% respectivamente en la nota final de prcticas. Las prcticas 3 y 5 son voluntarias y permitirn al alumno subir su nota de prcticas (sobre 10) hasta 3 y 1.5 puntos respectivamente.

Fechas lmite de entrega de cada prctica: Obligatorias


Prctica 1: 28 Octubre 2009 Prctica 2: 2 Diciembre 2009 Prctica 4: 27 Enero 2010

Optativas

Prctica 3: 16 Diciembre 2009 Prctica 5: 27 Enero 2010

Temas de inters para Trabajos


Grid Computing Entornos, lenguajes y herramientas para programar procesadores multincleo. Frameworks para programacin paralela con procesadores grficos (GPUs). Intel Threading Building Blocks. Los clusters de ordenadores como plataforma de procesamiento paralelo. Cuestiones de rendimiento en OpenMP. Herramientas de Anlisis del rendimiento de programas paralelos (depuradores, trazadores, etc.). Programacin paralela en sistemas heterogneos. Open Computing Language. Algn tpico relacionado con la asignatura que proponga el alumno. Algoritmos paralelos para alguna rea de inters (Procesamiento de imgenes, optimizacin, Simulacin, Ordenacin, minera de datos, datawarehouse, etc.).Grid Computing

Horarios
Horario de teora: Martes de 12:00 a 14:00 en Aula 1.2. Horarios de prcticas: Aula 3.7.

Grupo 1: Mircoles de 16:00 a 18:00. Grupo 2: Mircoles de 18:00 a 20:00.

Calificaciones

Notas Finales de la Asignatura

Bibliografa

Introduccion a la Programacion Paralela. F. Almeida, D. Gimenez, Jose Miguel Mantas, A.M. Vidal. Paraninfo Cengage Learning, 2008. Introduction to Parallel Computing. Kumar, V., Grama, A., Gupta, A., Karypis G. Benjamin/Cummings Publishing Company, 2003.

Parallel Programming. Techniques and applications using networked workstations and parallel computers. Vol II. Wilkinson, B., Allen, M. Prentice-Hall. 2005. Multi-Core Programming Increasing Performance through Software Multithreading Shameem Akhter and Jason Roberts. Intel Press 2003 Parallel Programming in C with MPI and OpenMP. Michael J. Quinn. McGraw-Hill, 2003. Designing and Building Parallel Programs. Foster, Ian. AddisonWesley Publishing Company. 1995. Pgina Oficial de MPI: Pgina Oficial de OpenMP NVIDIA CUDA Programming Guide

You might also like