+ All Categories
Home > Documents > Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del...

Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del...

Date post: 22-Jan-2016
Category:
Upload: frasquito-cedano
View: 216 times
Download: 0 times
Share this document with a friend
Popular Tags:
21
Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum
Transcript
Page 1: Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum.

Multiprocessor Scheduling

Chapter 10Nota: Material en Revisión, con notas propias y

laminas del Stalling y del Tanenbaum

Page 2: Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum.

Classifications of Multiprocessor Systems

• Loosely coupled multiprocessor– Each processor has its own memory and I/O

channels• Functionally specialized processors

– Such as I/O processor– Controlled by a master processor

• Tightly coupled multiprocessing– Processors share main memory – Controlled by operating system

Page 3: Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum.

Coarse and Very Coarse-Grained Parallelism

• Synchronization among processes at a very gross level

• Good for concurrent processes running on a multiprogrammed uniprocessor– Can by supported on a multiprocessor with

little change

Page 4: Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum.

Medium-Grained Parallelism

• Parallel processing or multitasking within a single application

• Single application is a collection of threads

• Threads usually interact frequently

Page 5: Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum.

Fine-Grained Parallelism

• Highly parallel applications• Specialized and fragmented area

Page 6: Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum.
Page 7: Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum.

Consideraciones para la Planificación en Multiprocesadores

• Qué vamos a planificar: hilos o procesos• En qué procesador se va a ejecutar?• Dónde se ejecuta el SOP?• Cuál será el próximo proceso o hilo a

ejecutar?

Page 8: Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum.

Procesos

• No se vinculan a los procesadores.• Una sola cola de la que escogen todos

los procesadores o una lista de colas basadas en prioridades.

• Se puede usar cualquier algoritmo, pero los estudios demuestran que la disciplina de planificación es menos importante.

Page 9: Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum.

Planificación de Hilos

• Modo kernel o modo usuario?• Están o no relacionados todos los hilos?

– No hay relación alguna.– Pertenecen a la misma aplicación, cooperan.

Es importante que se ejecuten en conjunto. Ejem. Make.

Page 10: Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum.

Planificación de Hilos

• En qué procesador se va a ejecutar:– Planificación estática o dinámica– Uso de la multiprogramación: tiene sentido

si el paralelismo es de grano medio, fino?

• Dónde se ejecuta el SOP?– Maestro/Esclavo– Camaradas

• Cómo se hace la planificación de los Hilos?

Page 11: Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum.

Figure 8-12. Using a single data structure for scheduling a multiprocessor.

Timesharing (Tiempo Compartido)

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,

Inc. All rights reserved. 0-13-6006639

Page 12: Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum.

Estrategia para hilos independientes.

Se usa una sola estructura de datos: lista o conjunto de listas.

- Ventajas: simple, balance de carga, en las colas se puede utilizar cualquier estrategia de planificación conocida.

- Desventajas: Contención, si hay multiprogramación es poco probable que los hilos retomen la ejecución en el mismo procesador, no necesariamente ganan acceso en grupo

Tiempo Compartido

Page 13: Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum.

Mejoras:

- Planificación Inteligente.

- Planificación por Afinidad.

Tiempo Compartido

Page 14: Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum.

• Estrategia para hilos relacionados• Al momento de crear un conjunto de

hilos relacionados, se comprueba si hay tantos CPUs como hilos en el conjunto. • Si los hay, a cada hilo se le asigna un CPU

dedicado (sin multiprogramación)• Si no hay suficientes procesadores no se

inicia ningún hilo

Espacio Compartido

Page 15: Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum.

Las particiones del multiprocesador van cambiando según varía el conjunto de hilos que se crea.

Desventajas: CPUs ociosos, una aplicación puede tardar en comenzar a ejecutarse.

Ventajas: no hay overhead por cambios de contexto..

Sol: a) planificación en pandilla, b) que el grado de paralelismo sea dinámico y se ajuste según la carga (puede no ser posible en todas las palicaciones)

Espacio Compartido

Page 16: Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum.

Figure 8-13. A set of 32 CPUs split into four partitions, with two CPUs available.

Space Sharing (Espacio Compartido)

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,

Inc. All rights reserved. 0-13-6006639

Page 17: Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum.

- Sirve para hilos relacionados, los cuales forman una pandilla.

Planificación por Pandilla

Page 18: Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum.

Figure 8-14. Communication between two threads belonging to thread A that are running out of phase.

Gang Scheduling (1)

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,

Inc. All rights reserved. 0-13-6006639

Page 19: Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum.

- Todos los miembros de una pandilla se ejecutan en CPUs multiprogramados pero en forma simultánea.

- Todos los miembros de una pandilla se inician y terminan en conjunto.

- El planificador trabaja con quantums, al inicio de los cuales todas las CPUs se reprograman y se inician nuevos hilos

Planificación por Pandilla

Page 20: Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum.

Si durante un quantum un hilo se bloquea, éste conserva el procesador hasta finalizar el mismo. El CPU permanece ocioso.

Planificación por Pandilla

Page 21: Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum.

Figure 8-15. Gang scheduling.

Gang Scheduling (Planificación por Pandilla)

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,

Inc. All rights reserved. 0-13-6006639


Recommended