PROCESAMIENTO PARALELO
Es
aquel que se realiza al mismo tiempo que otro, siendo ejecutados ambos de modo
simultáneo. Cuando hablamos de procesos paralelos en un ordenador,
nos referimos a aquellos procesos que se ejecutan y/o procesan a la vez,
anteponiéndose a los procesos lineales o secuenciales, que serán
ejecutados de uno en uno. El proceso paralelo sólo es posible si disponemos
de varias unidades de proceso,
generalmente núcleos o procesadores. Esto se debe a que los procesadores son
secuenciales, esto es, ejecutan las órdenes una por una, y por tanto no pueden
ejecutar dos a la vez. Para solucionar esto se han inventado diversas fórmulas,
como añadirles coprocesadores, derivar las operaciones a otros equipos
conectados entre si, disponer de múltiples núcleos... etc. Vamos, en definitiva
tener un sistema con una estructura capaz de trabajar junta y compartir tareas,
lo que se llama un proceso
cooperativo.
Como vemos, el proceso en paralelo es algo que se
puede dar dentro de un ordenador con un solo procesador, o bien
en un ordenador con múltiples procesadores, e incluso en múltiples ordenadores
conectados entre si por medio de una red. En este sentido, ya existen en Internet desde
hace tiempo redes de ordenadores interconectados que emplean los procesos
paralelos para ahorrar tiempo y costes en proyectos de gran envergadura.
El proceso en paralelo tiene muchas ventajas sobre el sistema secuencial clásico. Permite salvar el llamado cuello de botella, algo que sucede en los atascos y también en el ordenador: si un proceso funciona lentamente, los demás deben esperar a que se termine para ejecutarse, con lo cual el rendimiento del ordenador se verá afectado en gran medida. Con un sistema en paralelo, aunque un proceso sea lento, el resto continúan ejecutándose, lo que permite evitar este efecto. Sin embargo, el proceso en paralelo tiene un gran inconveniente: es mucho más complejo, básicamente porque para que un sistema trabaje en paralelo debes indicarle a donde derivar cada proceso, y esta tarea requiere ser hecha de antemano, o al menos tomar decisiones en el momento previo a ejecutar los procesos. Esto puede ralentizar el inicio de las tareas, al requerir cálculos previos. Además algunas tareas pueden no ser divisibles, o el programa haber sido diseñado para que los pasos se hagan uno a uno, con lo cual el procesamiento paralelo lejos de ayudar puede entorpecer la ejecución.
No hay comentarios:
Publicar un comentario