Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Computación Paralela Pedro Rodriguez M. Depto. Sistemas de Información Dino Risso R. Depto. de F́ısica 21 de junio de 2006 1. Identificación 1. CODIGO: 620254 (Ing. Civil en Informática)/ 620345(Ing. Ejec. en Computación e Informática). 2. CAMPUS: Concepción 3. FACULTAD: Ciencias Empresariales 4. UNIDAD: Departamento de Sistemas de Información. 5. CARRERA: Ingenieŕıa Civil en Informática, Ingenieŕıa de Ejecución en Computación. 6. NUMERO DE CREDITOS: 04 7. NUMERO DE HORAS SEMANALES: 05 Teoŕıa: 03 hrs Laboratorio: 02 hrs 8. REQUISITOS DE LA ASIGNATURA: Ing. Civil en Informática: Estructuras de Datos II y Conocimientos de programación en lenguaje C. Ing. Ejec. en Computación e Informática: Sistemas de Computacin II Conocimientos en progra- mación en lenguaje C. 2. Descripción y Objetivos El curso tiene como objetivo entregar conceptos y herramientas de Computación Paralela y Distribuida aplicando éstas para resolver problemas que requieren tratamiento numérico y procesamiento masivo de datos. Se entregan algunos elementos básicos sobre simulación y métodos numéricos, y se pone un fuerte énfasis en la programación con libreŕıas de paso de mensajes (MPI), y libreŕıas de programación con Threads en ambiente Unix. Se espera que al término del curso el alumno sea capaz entender, diseñar y resolver problemas que requieren de programación paralela. El curso requiere un dominio básico de programación con lenguaje C. 1 3. Resumen de Unidades Programáticas Unidad I. Introducción 2 horas. Unidad II. Algoritmos, Simulación y Métodos numéricos 16 horas. Unidad III. Programación en sistemas paralelos 25 horas. Unidad IV. Otros tópicos. 5 horas. Unidad V. Laboratorio.. TOTAL. 48 horas. 4. Unidades Programáticas Unidad I. Introducción (4 horas) Clasificación de arquitecturas paralelas según Michael Flyn (sistemas SISDE, SIMD, MISD, MIMD). Paralelismo en monoprocesadores. Paralelismo en multiprocesadores (sistemas SMP). Paralelismo en sistemas multicomputadores (sistemas CLUSTER, MPP, NUMA, NORMA). Grid Computing. Unidad II. Algoritmos, Simulación y Métodos numéricos (16 horas) Manejo de unidades. Parámetros adimensionales. Aritmética computacional y errores numéricos. Sistemas lineales de ecuaciones simples. Interpolación. Cuadratura numérica. Diferencias finitas, Métodos de integración de ecuaciones. Resolución de ecuaciones diferenciales ordi- narias. Simulaciones microscópicas: Método de Montecarlo y Dinámica Molecular. Estrategias de paralelización de algoritmos (Divide y conquistarás, Pipeline, SPMD, MPMD). Unidad III. Programación en sistemas paralelos (20 horas) Programación paralela con memoria compartida (Libreŕıa de Threads-Posix y Solaris). Programación paralela con memoria distribuida (Libreŕıa MPI). Otras libreras (PVM, BSP). Unidad IV. Otros tópicos (08 horas) Grid Computing. Arquitectura Grid. Globus Toolkit. Implementacin de la Grid. 2 Unidad V. Laboratorio. Caracteŕısticas generales de un cluster (HW y SW). Programación paralela utilizando las libreŕıas MPI. 5. Estrategia Docente Adicionalmente a la cátedra habrá talleres y trabajos computacionales. El curso dispone acceso a un cluster de computadores para procesamiento paralelo con memoria distri- buida y recursos para procesamiento paralelo con memoria compartida (máquina kalku, sistema SMP con 4 procesadores). 6. Bibliograf́ıa Adicionalmente a la bibliograf́ıa descrita más abajo se complementará con una edición de apuntes de clases, manuales, URL’s e información en ĺınea través de página WEB. 1. Parallel Programming, Barry Wilkinson, Michael Allen, Prentice Hall (1999). 2. Método de los Elementos Finitos Zienkiewicz, O.C. Barcelona: CIMME (2004). 3. Designing and Building Paralle Programs. Ian Foster, Addison Wesley (1995). 4. High Perfomance Cluster Computing. Rajkumar Buyya,Prentice Hall PTR (1999). 5. Computación Paralela (versión preliminar). Pedro Rodrguez M., Dino Risso R. (2004). 6. Multithreaded Programming Guide. Solaris 2.5 SunSoft (1995). 3
Compartir