Univesidad de Alicante Página principal DCCIA  
 

 
 
 
Computación Paralela (CP) 

 
 
Novedades Clases prácticas
Descripción de la asignatura Evaluación
Clases teóricas Recursos de interés


 
NOVEDADES


 
DESCRIPCIÓN DE LA ASIGNATURA

 

Tipo: Optativa (II, ITIG, ITIS, Mat.)
Créditos: Teóricos: 3 
Prácticos: 3 
Profesores: Jose Penadés Martínez

           
Horarios:
     Teoría: 
           Lunes 10:30-12:30
     Prácticas: Laboratorio 
           Martes: 12:30-14:30 (EPS I - L16)

OBJETIVOS:
Es de destacar la demanda de computadores con gran potencia de cálculo que hoy en día se está exigiendo tanto a nivel científico como industrial. La velocidad en la computación tiene unos límites y restricciones lógicos y tecnológicos a los que paulatinamente se va llegando. Así pues, nuevos incrementos en la velocidad de los computadores se deben buscar en el paralelismo, el cual consiste en replicar unidades de tratamiento de información con el objetivo de repartir tareas entre las mismas, espacial o temporalmente, y realizar la ejecución del programa en cuestión, en un tiempo inferior.
A las arquitecturas de este tipo de computadores se las denomina arquitecturas paralelas, y es en la Computación Matricial donde estas arquitecturas pueden considerarse especialmente adecuadas, ya que dicho campo contiene un alto grado de paralelismo implícito. Además la computación matricial posee multitud de aplicaciones entre las que podemos citar las aplicaciones en problemas de control y las aplicaciones en el procesamiento de la señal. En esta última aplicación existe el problema de reconstruir los parámetros de un fenómeno físico a partir del conocimiento de un conjunto de señales externas  observadas. Ejemplos de este problema se pueden encontrar en procesamiento de señales biomédicas, procesamiento de imágenes y reconocimiento del habla, procesamiento de señales sísmicas, etc. Recordemos además, que uno de los problemas clásicos de la computación matricial y que aparece en muchos campos de la ciencia es la resolución de grandes sistemas de ecuaciones lineales.
La aparición de estos computadores paralelos ha dado lugar no sólo a una adecuación de los algoritmos clásicos de la Computación Matricial para su implementación y ejecución en dichos computadores, sino que además se pretende la búsqueda de nuevos métodos que obtengan un buen rendimiento de la máquina.

CLASES DE TEORÍA

TEMARIO:

El temario tiene tres partes claramente diferenciadas. Por un lado se realiza una introducción al procesamiento paralelo, para posteriormente pasar a estudiar determinadas herramientas para la programación paralela.
Por otro lado, los conceptos sobre paralelismo que se habrán estudiado se aplicarán a distintos algoritmos susceptibles de ser paralelizados que van desde la multiplicación matriz-vector hasta la resolución de sistemas de ecuaciones lineales.



 
CLASES DE PRÁCTICAS

SOFTWARE UTILIZADO:
El desarrollo de PVM comenzó en el verano de 1989 en el Oak Ridge National Laboratory (ORNL) y ahora es parte de un proyecto de investigación que involucra a distintos centros de investigación y universidades de los Estados Unidos. PVM proporciona las funciones necesarias para inicializar automáticamente tareas sobre la máquina paralela virtual y permite a cada tarea comunicarse y sincronizarse con cualquier otra tarea. Una tarea es definida como una unidad computacional en PVM, análogamente a un proceso linux. Las aplicaciones pueden ser paralelizadas usando construcciones usuales de paso de mensajes. Enviando y recibiendo mensajes, múltiples tareas pueden cooperar para resolver un mismo problema en paralelo.
PVM es especialmente útil para aplicaciones compuestas de varias partes relacionadas entre si y con grandes cálculos cada una de ellas. PVM ha sido usado para un gran número de aplicaciones tales como simulación de dinámica molecular, estudios de superconductividad, algoritmos matriciales y como base para la enseñanza de la programación concurrente o paralela.

PRÁCTICAS DE LA ASIGNATURA (2010/2011)

Rutinas necesarias para las prácticas:

  1. Para la práctica JAC
  1. Para la práctica BJAC
  • sub.f (rutina necesasaria para la práctica BJAC)
  • campoelect.m (Aplicación MatLab)
  1. ctimer.c (rutina necesaria para medir tiempos)


DOCUMENTACIÓN PARA PRÁCTICAS:

  • pvm3.4.4.tar.gz  Código fuente para la versión 3.4.4 de PVM (formato tar/gzip). Descomprimir y dentro del directorio pvm3 que se crea leer el fichero README.
  • pvm3.4.5+7.tar Código fuente para la versión 3.4.5 de PVM (formato tar). Descomprimir y dentro del directorio pvm3 que se crea leer el fichero README. Contiene un parche que elimina ciertos errores de definición en "global.h" que ocurren con la versión 3.4.4 y 3.4.5. Para su compilación en nuevos sistemas (64 bit y gcc 4.x).
  • pvm3.4.0.tar.gz. Código fuente para la versión 3.4.0 de PVM (formato tar/gzip). Descomprimir y dentro del directorio pvm3 que se crea leer el fichero README.
  • ug.ps. The users' guide for PVM version 3.3, ORNL/TM-12187 (Postscript). Last updated 9/21/94 (722798 bytes).
  • refcard.pdf. Quick reference card for PVM 3.3. Describes the C and Fortran interface to PVM. 
  • XPVM.src.1.2.5.tar.gz. Codigo fuente para la versión 1.2.5 de XPVM (formato tar/gzip). XPVM es un entorno gráfico para PVM.
  • Equipo de cálculo científico IBM RS/6000 SP de la UA
  • Ejemplos. Algunos ejemplos PVM (Formato tar. Para extraer "tar -xvf ejemplos.tar")


 

EVALUACIÓN

De acuerdo con el Plan de Estudios, los créditos asignados a la asignatura Computación Paralela son 3 teóricos y 3 prácticos. Se efectuará un seguimiento continuado de los conocimientos teóricos que cada alumno va adquiriendo. La realización de prácticas se tendrá en cuenta también en la evaluación. Se propondrán una serie de implementaciones de algoritmos paralelos que se  efectuarán sobre el paquete de software PVM (Parallel Virtual Machine) que permite a una colección heterogénea de diversos computadores (en nuestro caso, PC's sobre linux) actuar como un sólo recurso computacional y por lo tanto disponer de una verdadera máquina paralela con memoria distribuida.

RECURSOS DE INTERÉS

BIBLIOGRAFÍA:

  • J.M. Ortega. Introduction to Parallel and Vector Solution of Linear Systems. Plenum Press, New York, 1988.
  • K. Hwang y F. A. Briggs. Arquitectura de computadoras y procesamiento paralelo. McGraw-Hill, 1990.
  • D. P. Bertsekas y J. N. Tsitsiklis. Parallel and Distributed Computation. Prentice-Hall Internacional, Inc, New Jersey, 1989. 
  • I. Foster. Designing and Building Parallel Programs. Addison-Wesley, 1995. http://www.mcs.anl.gov/dbpp.
  • Y. Saad. Iterative Methods for Sparse Linear Systems. PWS Publishing Company, 1996. http://www-users.cs.umn.edu/~saad/books.html. Zip local
  • J. JáJá. An Introduction to parallel algorithms. Addison-Wesley, 1992.
  • J.J. Dongarra, I.S. Duff, D.C. Sorensen, y H.A. van der Vorst. Solving Linear Systems on Vector and Shared Memory Computers. SIAM, Philadelphia, 1991.
  • A. Geist, A. Beguelin, J. Dongarra, R. Manchek, W. Jiang y V. Sunderam. PVM 3 user's guide and reference manual. Oak Ridge National Laboratory, 1994. Postscript.
  • A. Geist, A. Beguelin, J. Dongarra, R. Manchek, W. Jiang y V. Sunderam. PVM: Parallel Virtual Machine. A Users' Guide and Tutorial for Networked Parallel Computing, The MIT Press, 1994. Postscript.
  • F. García. Programación en Fortran 77. Paraninfo, 1996.

GRUPOS DE NOTICIAS:
 comp.parallel.pvm 
 comp.parallel.mpi 
 comp.lang.fortran

ENLACES DE INTERÉS


  Página mantenida por el Departamento de Ciencia de la Computación e Inteligencia Artificial
Última actualización: 11-01-10 
Página principal Enviar correo