ELEMENTO  DE  DISEÑO

 

    En la planificación de un multiprocesador se deben considerar tres  puntos interrelacionados .

 

v     LA  ASIGNACIÓN DE PROCESOS  A LOS PROCESADORES.

v     EL USO DE MULTIPROGRAMACION EN LOS PROCESADORES INDIVIDUALES.

v     LA EXPEDICIÓN REAL DE LOS PROCESOS.

 

      

             Asignación de Procesos a los Procesadores:

 

 La  asiganción puede ser  ESTATICA o DINAMICA.

 Si se asigna un proceso a un procesador de forma permanente ,desde su activación hasta su terminación, entonces debe mantenerse una cola a corto plazo dedicada para cada procesador .Una ventaja de este método es que puede existir una sobrecarga menor en la función de planificación por que la asignación al procesador se realiza una sola vez y para siempre

Una desventaja de la asignación estática es que un procesador puede estar  desocupado, con cola vacía, mientras que otro procesador tiene trabajos pendientes. Para prevenir esta situación, se puede usar una cola común. Todos los procesos van a una cola global y son ejecutados en  cualquier procesador que este disponible. De este modo, durante la vida de un proceso, este se puede ejecutar en diferentes procesadores en momentos diferentes y la información de contexto de todos los procesos se encuentra disponible para todos los procesadores y, por lo tanto el coste de la planificación de un proceso será independiente de la identidad del procesador en el que fue planificado.

La forma de asignar los procesos a los procesadores puede ser  por medio de dos métodos;

 

Arquitectura  maestro / esclavo y arquitectura simétricas:

El  maestro es el responsable de la planificación de trabajos .

Una vez que un proceso esta activo , si el esclavo necesita un servidor (por ejemplo, una llamada para realizar una operación de E/S),debe enviar una solicitud al maestro y esperara que el servicio se lleve a cabo. Esta solución es bastante simple y exige pequeñas mejoras sobre el sistema operativo multiprogramado del monoprocesador.

 

   Las desventajas de esta solución son dos:

 

1)     Un fallo en el maestro hace caer todo el sistema.

2)     El maestro puede llegar a ser un cuello de botella del rendimiento.

 

   En una arquitectura simétrica, el sistema operativo puede ejecutarse en cualquier procesador y cada procesador se auto planifica con el conjunto de procesos disponibles. Esta solución complica el sistema operativo ya que debe asegurarse que dos procesadores no seleccionen el mismo proceso y que los procesos no se pierdan, de algún modo, en el camino desde la cola .

Uso de la multiprogramacion en procesadores individiduales:

 

Cuando cada proceso se asigna estáticamente a un procesador durante todo su ciclo de vida, surge una nueva cuestión ¿Puede estar multiprogramado dicho procesaror? En los multiprocesadores tradicionales que tratan con sincronización de grano grueso e independiente, esta claro que cada procesador individidual debería ser capaz de alternar entre varios procesos para conseguir una alta utilización, y por lo tanto, un mejor rendimiento sin embargo, cuando se trabaja con aplicaciones de grano medio ejecutando en muchos procesadores la situación es menos clara.

  Cuando hay varios procesares disponibles, no resulta tan importante que cada procesador este ocupado al máximo. En su lugar,  se debe tratar de obtener el mejor rendimiento en promedio para las aplicaciones. Una aplicación que conste de varios hilos puede rendir poco a menos que todos sus hilos estén disponibles para ejecutarlo simultáneamente.

 

Expedición de un Proceso:

El ultimo punto del diseño relacionado con la planificación de multiprocesadores es la selección real del proceso a ejecutar se ha visto que en un sistema monoprocesador multiprogramado, el uso de prioridades o algoritmos de planificación sofisticados basados en la utilización anterior pueden mejorar  el rendimiento sobre la simple estrategia FIFO.

Cuando hablamos de multiprocesadores, estas complejidades innecesarias o incluso contraproducentes y una estrategia sencilla puede se mas efectiva con una sobrecarga menor.

 

 

Indice