domingo, 10 de abril de 2011

3.5 COPLANIFICACIÓN

La coplanificación se basa en el concepto de planificación de un conjunto de tareas afines, llamado cuerpo de tareas. Los elementos individuales de un cuerpo de tareas tienden a ser pequeños y son, por lo tanto, parecidos a la idea de hilo.
El término planificación por grupos se ha aplicado a la planificación simultánea de hilos que forman parte de un único proceso. Es necesaria para aplicaciones paralelas de grano medio a fino cuyo rendimiento se degrada seriamente cuando alguna parte de la aplicación no se está ejecutando mientras otras partes están listas para ejecutarse. Es también beneficiosa para cualquier aplicación paralela, incluso para aquellas que no son lo bastante sensibles al rendimiento. La necesidad de planificación por grupos está muy reconocida y existen implementaciones en una gran variedad de sistemas operativos de multiprocesadores.
Una razón obvia por la que la planificación por grupos mejora el rendimiento de una sola aplicación es que se minimizan los intercambios de procesos. Supóngase que un hilo de un proceso se está ejecutando y alcanza un punto en el cual debe sincronizarse con otro hilo del mismo proceso. Si ese otro hilo no se
 
está ejecutando pero está listo para ejecutarse, el primer hilo se queda colgado hasta que se puede realizar un intercambio en otro procesador para traer el hilo que se necesita. En una aplicación con una coordinación estrecha entre sus hilos, tales intercambios reducen drásticamente el rendimiento. La planificación simultánea de los hilos cooperantes puede, además, ahorrar tiempo en el reparto de recursos. Por ejemplo, varios hilos planificados por grupo pueden acceder a un archivo sin el costo adicional del bloqueo durante la operación de búsqueda, lectura y escritura.

No hay comentarios:

Publicar un comentario