1 Diseño de software de arquitectura multiprocesador.
6.2.2 Diseño de software de
Arquitectura Cliente/Servido Introducción
Un sistema multiproceso o multitarea es aquel que
permite ejecutar varios procesos de forma concurrente.
La razón es porque actualmente la mayoría de las
CPU’s sólo pueden ejecutar un proceso cada vez El multiproceso no es algo difícil de entender: más procesadores significa más potencia computacional. Un conjunto de tareas puede ser completado más rápidamente si hay varias unidades de proceso ejecutándolas en paralelo.
Para el desarrollo de estos sistemas
se ocupan modelos de programación concurrente o paralela. Objetivos de la programación paralela • Reducir el tiempo de cómputo. • Reducir la complejidad del algoritmo. • Aprovechas al máximo la capacidad de las computadoras multiprocesador.
Tareas de la programación paralela
• Resolver problema. • Particionar problema • Sincronizar y comunicar procesadores Tipos de programación
Multihilo
Es tipo de programación permite a una aplicación realizar varias
tareas concurrentemente. Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc. Esta técnica permite simplificar el diseño de una aplicación que debe llevar a cabo distintas funciones simultáneamente. Paso de mensajes
MPI ("Message Passing Interface") es un estándar que define la
sintaxis y la semántica de las funciones contenidas en una librería de paso de mensajes diseñada para ser usada en programas que exploten la existencia de múltiples procesadores.
Su principal característica es que no precisa de memoria
compartida, por lo que es muy importante en la programación para sistemas distribuidos. Ventajas
• Es económica.
• El uso de componentes comúnmente disponibles, en grandes
cantidades, permite ofrecer mayor rendimiento, a un precio menor que el de máquinas con procesadores especialmente diseñados.
• Adicionalmente, las computadoras paralelas son inherentemente
escalables.
• Una arquitectura paralela se puede actualizar en términos de
rendimiento simplemente agregando más procesadores. • Desventajas
• En ocasiones se menciona también la limitante física; existen
factores que limitan la velocidad máxima de un procesador, independientemente del factor económico.
• Barreras físicas infranqueables, tales como la velocidad de la
luz, efectos cuánticos al reducir el tamaño de los elementos de los procesadores, y problemas causados por fenómenos eléctricos a pequeñas escalas