Está en la página 1de 61

Scheduling – Planificación

John Sanabria
john.sanabria@gmail.com

4/22/15 John Sanabria


Planificación - motivación
● En ambientes de multiprogramación múltiples
procesos existen concurrentemente en
memoria principal
● Procesos son alternados gracias a
– Temporizador
– Llamadas bloqueantes al sistema

4/22/15 John Sanabria


Planificación - motivación
● Planificación (scheduling) es un concepto
fundamental en multiprogramación ya que
determina como los procesos tomarán turnos
para ser ejecutados
● Tipos de planificación
– Largo plazo
– Mediano plazo
– Corto plazo

4/22/15 John Sanabria


Planificación – motivación
● Planificación se usa en ambientes
uniprocesador, multiprocesador y
multicomputador
● Esta vez se tocará la planificación en
ambientes uniprocesador
● Existen diversos algoritmos de planificación
para ambientes uniprocesador que han sido
aplicados a otros ambientes computacionales

4/22/15 John Sanabria


Objetivos de aprendizaje
● Explicar las diferencias entre los diferentes
esquemas de planificación corta-, mediana- y
larga-planificación
● Evaluar el rendimiento ofrecido por diferentes
políticas de planificación

4/22/15 John Sanabria


Tipos de planificación de
procesadores
● El objetivo de la planificación es asignar
procesos al procesador considerando aspectos
como
– Tiempo de respuesta
– Throughput
– Eficiencia de uso en el procesador

4/22/15 John Sanabria


Tipos de planificación de
procesadores

Planificadores de corto-,
mediano- y largo-plazo se
relacionan con este gráfico

4/22/15 John Sanabria


Tipos de planificación de
procesadores
Se aplica a procesos
recien creados

Determinar el próximo
proceso a ejecutarse

Se aplica a procesos
que se podrían mover
a memoria secundaria

4/22/15 John Sanabria


Tipo de planifación de
procesadores

Visión anidada de
la planificación

4/22/15 John Sanabria


Tipo de planificación de
procesadores

La planificación y
posible colas de
procesos

La planificación debe
minimizar tiempos en
las cosas

4/22/15 John Sanabria


Planificador de largo-plazo
● Se encarga de determinar el grado de
multiprogramación (cuantos procesos en RAM)
● Incrementar el grado de multiprogramación
reduce el tiempo de un proceso en el
procesador
● Un procesador inactivo puede generar la
invocación del planificador de largo plazo

4/22/15 John Sanabria


Planificador de largo-plazo
● El manejo de los procesos puede ser
– First-in/First-out, First-come/First-served =
FIFO, FCFS
– Prioridades
– Tiempo esperado de ejecución
– Requerimientos de I/O
● Procesos interactivos (usuarios en terminal)
requieren otro tipo de planificación

4/22/15 John Sanabria


Planificación de corto-plazo
● Esta planificación se invoca cada vez que ocurre un
evento que bloquee un proceso en ejecución
– Interrupción del reloj
– Interrupción de I/O
– Llamadas al sistema operativo
– Señales (e.g. semáforos)
● De acuerdo a su nivel de frecuencia de uso del
planificador (alto → bajo): corto-plazo → mediano-
plazo → largo-plazo

4/22/15 John Sanabria


Algoritmos de planificación
● Los algoritmos de planificación se usan
dependiendo de algún tipo de criterio
– Criterio de usuario, tiempo de respuesta
percibido por el usuario
– Criterio del sistema, tasa de atención de
procesos
● Sistemas de escritorio cual sería el criterio a
seleccionar?

4/22/15 John Sanabria


Algoritmos de planificación
● Otro tipo de criterios:
– Cuantitativo, se relaciona con el rendimiento,
e.g. que tan rápido se ejecutan los procesos
– Cualitativo, que tan reproducible es la
ejecución de un proceso

4/22/15 John Sanabria


Criterios de planificación

4/22/15 John Sanabria


Criterios de planificación

4/22/15 John Sanabria


Criterios de planificación

4/22/15 John Sanabria


Dificultad de satisfacer todos
los criterios
● Algunos criterios son contraproducentes
– Proveer buen tiempo de respuesta
– Implica cambiar entre muchos procesos lo
que lleva a mayor participación de procesos
del sistema operativo → menor throughput

4/22/15 John Sanabria


Uso de prioridades

Problemas de
inanición

Prioridad(RQi) > Prioridad(RQj)


4/22/15 John Sanabria cuando i < j
Políticas de planificación
alternativas
● Cada algoritmo de planificación define una función de selección
(selection function) que determina el próximo proceso a ser
ejecutado
● Considere algunas variables
– w → tiempo en el sistema
– e → tiempo en ejecución
– s → tiempo estimado del proceso en el sistema
● Tiempo de residencia Tr es conocido también como turnaround time
● El normalized turnaround time = Tr/Ts y representa la espera relativa
experimentada por un proceso. 1.0 es el menor valor posible

4/22/15 John Sanabria


Expropiar o no?
● Cuanta posesión se le da a un proceso sobre la
CPU
– Expropiativo
– No-expropiativo
● Algoritmos expropiativos proveen buen servicio
pero incurren en overhead

4/22/15 John Sanabria


Datos de prueba

Normalized turnaround
4/22/15
time = Tr/Ts
John Sanabria
FCFS/FIFO
● Función de selección, max[w]
● Modo de decisión, no-expropiativo
● Tiempo de respuesta (response time),
● Overhead, es poco ya que el sistema operativo una
vez asigna un proceso al procesador, el proceso no
será removido hasta tanto este no termine la
ejecución
● Inanición, no se presenta ya que en algún momento
todo proceso será atendido

4/22/15 John Sanabria


FCFS

4/22/15 John Sanabria


FCFS – Un caso patológico

Un trabajo corto sufre una larga espera


mientras un trabajo largo no lo afecta tanto
la larga espera

4/22/15 John Sanabria


Round-Robin
● Cada proceso tiene un quantum de tiempo para hacer uso
del procesador
● Interrupción del reloj invoca al dispatcher para que
seleccione un proceso a ser ejecutado en CPU removiendo
el actual proceso en ejecución → time slicing
● En el tiempo t
– Un proceso A en la CPU termina su quantum
– Llega un proceso D
– Existe una cola en el sistema de procesos C,B
– Al iniciar el ciclo t + 1 la cola quedará A,D,C y B en la CPU

4/22/15 John Sanabria


Round-Robin
● Qué tan largo debe ser ese quantum?
– Debe ser lo suficientemente largo de modo
que el overhead causado por la participación
del dispatcher no sea alta
– No tan largo que cause que el algoritmo se
termine comportando como FCFS

4/22/15 John Sanabria


Round-Robin
● Procesos limitados por el uso del procesador
se benefician de este esquema
● Procesos limitados por operaciones I/O se ven
perjudicados pues la mayor parte del tiempo
serán removidos del procesador sin completar
su quantum

4/22/15 John Sanabria


Round-Robin

4/22/15 John Sanabria


Round-Robin

5 10 15 20

4/22/15 John Sanabria


Shortest-Process Next (SPN)
● Esta es otra aproximación para responder al
prejuiciado comportamiento del FCFS quien
favorece a procesos largos
● Es una aproximación no expropiativa, una vez
un proceso esta en la CPU no se retira de esta
hasta que no termine

4/22/15 John Sanabria


SPN
● La dificultad de esta aproximación es estimar
cuanto le falta a un proceso por terminar su
ejecución. Se propone la siguiente expresión
S n +1=α T n+(1−α) Sn
Sn+1 es el tiempo a ser estimado. Tn representa
el tiempo actual observado. α es una constante
que indica el peso otorgado al pasado

4/22/15 John Sanabria


SPN

4/22/15 John Sanabria


Shortest Process Next

5 10 15 20

4/22/15 John Sanabria


Shortest Remaining Time - SRT
● Se le da prioridad a aquel proceso que tenga
un tiempo de terminación mas bajo
● Es un algoritmo expropiativo, cuando un
proceso llega a la cola de listos podría
expropiar a un proceso en ejecución si este
tiene un menor tiempo de terminación
● Esta aproximación da un mejor rendimiento
que SPN gracias a su caracter expropiativo

4/22/15 John Sanabria


Shortest Remaining Time (SRT)

5 10 15 20

4/22/15 John Sanabria


Highest Response Ratio Next
● Este algoritmo busca minimizar el normalized
turnaround time Tr/Ts
● El proceso con el normalized turnaround time mas
alto es seleccionado para ser ejecutado
● Cuando un proceso termina o es bloqueado, el
próximo proceso a ser ejecutado es aquel que
tenga el normalized turnaround time mas alto
● Esta aproximación es apropiada ya que beneficia a
aquellos procesos con mucho tiempo en el sistema

4/22/15 John Sanabria


HRRN

5 10 15 20

4/22/15 John Sanabria


Comparación de rendimiento
● El rendimiento de las políticas de scheduling
favorecen su elección pero hay factores que
dificultan esa elección
– Variación en los tiempos de servicios
– Mecanismos de cambio de contexto
– Naturaleza de las operaciones de I/O
– Rendimiento del subsistema de I/O

4/22/15 John Sanabria


Cómo evaluar el rendimiento?
● Observar un sistema, tomar datos y comparar → toma
mucho tiempo
● Hacer una proyección a futuro a partir de lo observado
hasta el momento → diversos factores pueden dañar la
predicción
● Usar un modelo analítico basado en teoría de colas →
● Programar y correr una simulación → requiere de una
buena base de datos de entrada para hacer una buena
proyección y puede llegar a tomar mucho tiempo

4/22/15 John Sanabria


Análisis de colas

4/22/15 John Sanabria


Análisis de colas

4/22/15 John Sanabria


Análisis de colas
● Distribución de Poisson se usa para estimar la
llegada de procesos al sistema

4/22/15 John Sanabria


Análisis de colas
● Distribución exponencial para los tiempos de
servicio de los procesos

4/22/15 John Sanabria


Análisis de colas

Distribución
de Poisson
Distribución
Exponencial

4/22/15 John Sanabria


Análisis de colas

Esquema de prioridad Dos clases de prioridad


basado en el - alta: procesos cortos
tiempo de servicio - baja: procesos largos

No expropiativo Expropiativo

4/22/15 John Sanabria


Análisis de colas – tiempo
respuesta promedio

4/22/15 John Sanabria


Análisis de colas - tiempo respuesta
promedio para procesos cortos

4/22/15 John Sanabria


Análisis de colas - tiempo respuesta
promedio para procesos largos

4/22/15 John Sanabria


Conclusiones del análisis de
colas
● Procesos cortos observan tiempos de espera
bajos cuando hay un esquema de planificación
basado en prioridad expropiativo
● En general el esquema basado en prioridad
con expropiación es el que menos espera
causa en los procesos del sistema
● Nota: priority(pi) > priority(pj) si servicetime(pi) <
servicetime(pj)

4/22/15 John Sanabria


Planificación Justa
● Ahora se analizan los procesos cuando se agrupan
por:
– Usuario → aplicaciones de oficina
– Aplicación → workflow para análisis genético
– Grupo de investigación → físicos buscando la
partícula de Dios
● Cada grupo/usuario se le puede definir un peso e.g.
el usuario A tiene dos veces el peso de B, es decir,
A se le asigna el doble de procesamiento que a B

4/22/15 John Sanabria


Fair-share scheduler
● Este esquema considera la ejecución de cada
proceso en un grupo así como la ejecución
llevada a cabo por cada grupo
● Bajo este esquema cada grupo obtiene una
porción igual de procesamiento e.g. dos grupos
en el sistema → cada uno tiene .5 de peso

4/22/15 John Sanabria


Fair-share scheduler
● Definición de algunos terminos
– CPUj(i) = medida de la utilización del procesador por el
proceso j a través del intervalo I
– GCPUk(i) = medida de la utilización del procesador por
el grupo k a través del intervalo I
– Pj(i) = prioridad del proceso j al comienzo del intervalo I
– Basej = prioridad base del proceso j
– Wk = peso asignado al grupo k, con la restricción que 0
< Wk <= 1 y ∑ W k =1
k

4/22/15 John Sanabria


Fair-share scheduler
● Ecuaciones
CPU j (i−1)
CPU j (i)=
2
GCPU k (i−1)
GCPU k (i)=
2
CPU j (i ) GCPU k (i)
P j (i)=Base j + +
2 4×W k

4/22/15 John Sanabria


Fair-share scheduler
● Asuma que existen tres procesos A, B y C;
pero B y C pertenecen a un mismo grupo
● Cada grupo, {A} y {B,C}, tienen el mismo peso,
es decir 0.5

4/22/15 John Sanabria


Fair-share scheduler

4/22/15 John Sanabria


Fair-share scheduler

4/22/15 John Sanabria


Fair-share scheduler

4/22/15 John Sanabria


Lectura en parejas

4/22/15 John Sanabria


Repaso de conceptos
a) Es el encargado de determinar si un
1) Tasa de llegada proceso entra o no la cola de
procesos listos
2) Dispatcher b) Tiempo en el sistema
3) Planificación justa c) Determina que proceso usará la
CPU
(fair-share scheduling) d) Tiempo que requiere de uso de CPU
4) Long-term scheduler e) Promedio de llegada de procesos al
sistema
5) Residence time f) Asigna un tiempo equitativo a todos
los procesos de un sistema que
6) Service time pertenecen a grupos considerando el
peso del grupo

4/22/15 John Sanabria

También podría gustarte