Históricamente, la única forma de tratar algunos problemas de procesamiento ha sido por medio de cómputo paralelo. A mayor complejidad de cálculo y mayor compromiso con la ejecución en tiempo real (inteligencia artificial, redes neuronales, rebotica, reconocimiento de patrones, visualización científica, modelos de elementos finitos y de fluidos, manejo de grandes bases de datos, etc.), se hace imprescindible utilizar procesamiento paralelo para obtener tiempos de respuesta aceptables.
En los primeros capítulos de este libro se analizan aspectos de la arquitectura (organización del control, memoria y comunicaciones) de los sistemas de procesamiento paralelo.
En los capítulos intermedios se tratan algorítmicamente clases de problemas de cómputo paralelo como los de cálculo numérico, ordenación, grafos e imágenes. Se discuten los temas de concurrencia y sincronización entre procesos que se ejecutan en paralelo. Asimismo se analizan parámetros de rendimiento tales como el factor de Speed-Up y el grado de paralelismo alcanzable en los ejemplos que se exponen.
En los últimos capítulos se desarrolla extensivamente el problema de migración de procesos en arquitecturas paralelas distribuidas. Se presenta un entorno de experimentación (diseño e implementación) de migración de procesos, así como resultados de experimentación con distintas políticas de manejo de mensajes.
La intención de este libro no es abarcar todos los temas posibles de lo que tradicionalmente se ha denominado procesamiento paralelo. Lo que sí se intenta conservar son las ideas de aplicación y rendimiento del procesamiento paralelo, estudiando casos y problemas con el enfoque de optimizar el diseño de la arquitectura y del software.
La idea subyacente de aplicación del cómputo paralelo guía en cierto sentido la presentación de los temas. Se hacen explícitas las simplificaciones y suposiciones en los análisis teóricos presentados y se discuten los ejemplos tratando de extraer de ellos las ideas comunes con respecto a la clase de problemas a la que pertenecen.