REPARTO DE CARGA  

  Es el método más simple y el que se puede traducir más fácilmente desde un entorno monoprocesador.

 Sus ventajas son:

v         La distribución de carga es uniforme entre los procesadores, asegurando que ninguno este ocioso mientras haya trabajo disponible.

v         No es necesario un planificador centralizado. Cuando un procesador esta libre, la rutina de planificación del sistema operativo se ejecuta en ese procesador para seleccionar u8n nuevo hilo.

v         La cola global puede organizarse y se puede acceder a ella por medio de los esquemas basados en propiedades y los que tienen en cuenta el historial de ejecución, o las solicitudes de procesos por adelantados.

Existen tres versiones diferentes del reparto de carga:

 

Ø      Primero en llegar / Primero en servirse ( FCFS ): Cuando llega un trabajo, cada uno de sus hilos se sitúa consecutivamente al final de la cola compartida. Cuando un procesador pasa a estar ocioso, toma el siguiente hilo listo y lo ejecuta hasta que finaliza o se bloquea.

 

Ø      Primero el de menor número de hilos: La cola de listos compartida se organiza como una cola de prioridades, en la que la prioridad más alta se asigna a los hilos de los trabajos con el menor número de hilos sin planificar. Si los trabajos de la misma prioridad se ordenan según el orden de llegada. Como con FCFS, un hilo planificado se ejecuta hasta que finaliza o se bloquea.

 

Ø     Primero el de menor número de hilos preferentes: La mayor prioridad se da a los trabajos con el menor número de hilos sin terminar. La llegada de un trabajo con un número de hilos menor que un trabajo en ejecución expulsará los hilos del trabajo planificado.

 

Por medio de los modelos de simulación, sobre un amplio rango de características de los trabajos, la FCFS es superior a las otras dos políticas. Además se halló que algunas formas de planificación por grupos, que se trataran a continuación, en general son superiores al reparto de carga.

Sus desventajas son:

 

ð          La cola central ocupa  una región  de memoria a la que se debe acceder con exclusión mutua. Ya que si muchos procesadores buscan trabajo al mismo tiempo puede convertirse en un cuello de botella. Cuando el numero de procesadores es pequeño, es poco probable que este problema se produzca. Sin embargo, cuando el multiprocesador está formado por  docenas o incluso cientos de procesadores, la posibilidad de un cuello de botella es real.

 

ð          Es improbable que los hilos expulsados reanuden su ejecución en el mismo procesador, si cada procesador dispone de un caché local, el uso del caché será menos eficiente.

 

ð          Si todos los hilos son tratados como una reserva común de hilos, es improbable que todos los hilos de un programa consigan acceder a los procesadores al mismo tiempo. Si se exige un alto grado de coordinación entre los hilos de un programa, los intercambios de procesos pueden comprometer seriamente el rendimiento.

 

A pesar de sus desventajas, éste es uno de los esquemas usados más comúnmente en los multiprocesadores actuales.

El Sistema Operativo Mach, emplea una variante en la técnica de reparto de carga. El sistema operativo mantiene una cola de ejecución local para cada procesador y una cola de ejecución global compartida.

La cola de ejecución local la emplean los hilos que han sido asociados temporalmente a un procesador específico.

Un procesador examina en primer lugar la cola de ejecución local, para dar preferencia absoluta a los hilos asociados sobre los no asociados.

Como ejemplo del uso de los hilos, uno o más procesadores podrían dedicarse a ejecutar procesos que forman parte del sistema operativo.

Otro ejemplo es que los hilos de una aplicación particular podrían distribuirse  entre una serie de procesadores: con el software adicional apropiado, esta estrategia ofrece soporte a la planificación por grupos, que se trata a continuación.

 

 

Indice