3.4 Diseño de software de arquitectura multiprocesador
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. La única forma de que se
ejecuten de forma simultánea varios procesos es tener varias CPU’s (ya sea en
una máquina o en varias, en un sistema distribuido.
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. Esa es la teoría, pero otra historia es la práctica, como hacer
funcionar el multiproceso, lo que requiere unos profundos conocimientos tanto
del hardware como del software. Es necesario conocer ampliamente como están
interconectados dichos procesadores, y la forma en que el código que se ejecuta
en los mismos ha sido escrito para escribir aplicaciones y software que
aproveche al máximo sus prestaciones.
La ventaja de un sistema multiproceso reside en la operación llamada
cambio de contexto. Esta operación consiste en quitar a un proceso de la CPU,
ejecutar otro proceso y volver a colocar el primero sin que se entere de nada.
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 (como por ejemplo las máquinas de
procesadores vectoriales y de propósito específico).
Adicionalmente, las computadoras paralelas son inherentemente
escalables, permitiendo actualizarlas para adecuarlas a una necesidad
creciente.
Las arquitecturas “tradicionales” se actualizan haciendo los
procesadores existentes obsoletos por la introducción de nueva tecnología a un
costo posiblemente elevado. Por otro lado, 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, restringen la
capacidad máxima de un sistema uniprocesador, dejando la opción obvia de
colocar muchos procesadores para realizar cálculos cooperativamente.
Es necesario conocer ampliamente como están interconectados dichos
procesadores, y la forma en que el código que se ejecuta en los mismos ha sido
escrito para escribir aplicaciones y software que aproveche al máximo sus
prestaciones.
No hay comentarios:
Publicar un comentario