multiprocessor scheduling chapter 10 nota: material en revisión, con notas propias y laminas del...
TRANSCRIPT
![Page 1: Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum](https://reader036.vdocuments.us/reader036/viewer/2022070416/5665b43c1a28abb57c904523/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070416/5665b43c1a28abb57c904523/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070416/5665b43c1a28abb57c904523/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070416/5665b43c1a28abb57c904523/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070416/5665b43c1a28abb57c904523/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070416/5665b43c1a28abb57c904523/html5/thumbnails/6.jpg)
![Page 7: Multiprocessor Scheduling Chapter 10 Nota: Material en Revisión, con notas propias y laminas del Stalling y del Tanenbaum](https://reader036.vdocuments.us/reader036/viewer/2022070416/5665b43c1a28abb57c904523/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070416/5665b43c1a28abb57c904523/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070416/5665b43c1a28abb57c904523/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070416/5665b43c1a28abb57c904523/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070416/5665b43c1a28abb57c904523/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070416/5665b43c1a28abb57c904523/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070416/5665b43c1a28abb57c904523/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070416/5665b43c1a28abb57c904523/html5/thumbnails/14.jpg)
• 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](https://reader036.vdocuments.us/reader036/viewer/2022070416/5665b43c1a28abb57c904523/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070416/5665b43c1a28abb57c904523/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070416/5665b43c1a28abb57c904523/html5/thumbnails/17.jpg)
- 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](https://reader036.vdocuments.us/reader036/viewer/2022070416/5665b43c1a28abb57c904523/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070416/5665b43c1a28abb57c904523/html5/thumbnails/19.jpg)
- 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](https://reader036.vdocuments.us/reader036/viewer/2022070416/5665b43c1a28abb57c904523/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022070416/5665b43c1a28abb57c904523/html5/thumbnails/21.jpg)
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