PLANIFICACION POR GRUPOS

 

El concepto de planificar un conjunto de procesos simultáneamente sobre un conjunto de procesadores es anterior al uso del concepto de hilo. Este concepto es conocido como planificación por grupos y tiene las siguientes ventajas:

 

ª   Si procesos relativamente próximos se ejecutan en paralelas, pueden reducirse los bloqueos por sincronización, se pueden necesitar menos intercambios de procesos y se incrementará el rendimiento.

ª   La sobrecarga de planificación puede reducirse debido a que una sola decisión afecta a varios procesadores y procesadores al mismo tiempo.

 

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.

El empleo de planificación por grupos origina un requisito de asignación del procesador. Una posibilidad es la siguiente. Supóngase que se tienen N procesadores y M aplicaciones, cada una de las cuales tiene N hilos o menos. Entonces, si se fracciona el tiempo, cada aplicación podría tener 1/ M del tiempo disponible de los N procesadores. Esta estrategia puede ser ineficiente. Considérese un ejemplo en el que hay dos aplicaciones, una con cuatro hilos y otra  con un hilo. Mediante el reparto uniforme del tiempo se derrocha el 37,5% de los recursos del procesamiento, debido a que cuando la aplicación de un solo hilo se ejecuta, hay tres procesadores ociosos. Si hay varias aplicaciones de un único hilo, éstas podrían unirse para aumentar la utilización del procesador. Si esta opción no está disponible, una alternativa a la planificación uniforme es la planificación ponderada por el número de hilos. Así pues, la aplicación de cuatro hilos podría obtener cuatro quintas partes del tiempo y la de un hilo obtener sólo una quinta parte del tiempo, reduciendo el derroche del procesador al 15%.

 

 

Indice