Articulo de referencia

Planificador que conserva el trabajo

En los sistemas informáticos y de comunicación, un planificador que conserva el trabajo es aquel que siempre intenta mantener ocupados los recursos programados si hay tareas lis...

En los sistemas informáticos y de comunicación, un planificador que conserva el trabajo es aquel que siempre intenta mantener ocupados los recursos programados si hay tareas listas para ser programadas. Por el contrario, un planificador que no conserva el trabajo es aquel que, en algunos casos, puede dejar inactivos los recursos programados a pesar de la presencia de tareas listas para ser programadas.

Por ejemplo, al tratar con redes y programación de paquetes , un planificador que conserva el trabajo [ 1 ] [ 2 ] deja el canal inactivo solo cuando no hay paquetes para transmitir. Por el contrario, un planificador que no conserva el trabajo podría dejar el canal inactivo con paquetes aún pendientes de transmisión .

De manera similar, cuando nos referimos a la planificación de la CPU , es decir, los subprocesos o procesos planificados en uno o más procesadores o núcleos disponibles , un planificador que conserva el trabajo [ 3 ] garantiza que los procesadores/núcleos no estén inactivos si hay procesos/subprocesos listos para su ejecución .

Ley de Conservación de Kleinrock

Los planificadores que conservan el trabajo también se caracterizan por obedecer la Ley de Conservación de Kleinrock. [ 4 ] [ 5 ]

En el contexto en el que tenemosnorte{\displaystyle N}conexiones con tasas de llegada distribuidas según Poissonλnorte{\displaystyle \lambda _{n}}Dado que cada paquete compite por tiempo de programación, Leonard Kleinrock estableció la siguiente ley de conservación:

norte=1norteρnorteqnorte=do{\displaystyle \sum \limits _{n=1}^{N}\rho _{n}q_{n}=C}dóndeρnorte=λnorteμnorte{\displaystyle \rho _{n}={\frac {\lambda _{n}}{\mu _{n}}}}

  • λnorte{\displaystyle \lambda _{n}}: La tasa media de paquetes de conexiónnorte{\displaystyle n}en paquetes por unidad de tiempo.
  • μnorte{\displaystyle \mu _{n}}: El número de paquetes de conexiónnorte{\displaystyle n}que el sistema en su conjunto podría transmitir por unidad de tiempo, en unidades de paquetes. Esto puede variar entre flujos si estos tienen paquetes de diferente tamaño.
  • ρnorte{\displaystyle \rho _{n}}: La utilización del enlace aportada por un flujo particular.
  • qnorte{\displaystyle q_{n}}: El tiempo esperado para que un paquete llegue desde la conexiónnorte{\displaystyle n}permanece en un búfer antes de que el planificador lo procese en unidades de tiempo.
  • do{\displaystyle C}: Una constante: el tiempo esperado para eliminar todos los paquetes almacenados en búfer de todos los flujos en un momento dado si se transmiten a la máxima velocidad de servicio sin interrupciones. Para entender por qué, observe queρnorteqnorte=λnorteqnorteμnorte{\displaystyle \rho _{n}q_{n}={\frac {\lambda _{n}q_{n}}{\mu _{n}}}}. Observa queλnorteqnorte{\displaystyle \lambda _{n}q_{n}}es el número esperado de paquetes almacenados en búfer del flujonorte{\displaystyle n}y, por lo tanto, el tiempo esperado para eliminarlos del búfer es este sobre la tasa de servicio.μnorte{\displaystyle \mu _{n}}.

(Algunas fuentes utilizanμnorte{\displaystyle \mu _{n}}para referirse al tiempo para atender un paquete en particular con unidades de tiempo unitario por paquete, y utilizarρnorte=λnorteμnorte{\displaystyle \rho _ {n} = \ lambda _ {n} \ mu _ {n}}La ecuación es la misma, la única diferencia es suμnorte{\displaystyle \mu _{n}}es el recíproco del presentado anteriormente.)

Comparación con planificadores que no conservan el trabajo

Los planificadores que no conservan el trabajo son a veces útiles para mejorar la previsibilidad y reducir la fluctuación de terminación para las actividades realizadas por un sistema de computación y comunicación. En sistemas multiprocesador son útiles para mejorar el rendimiento en algunos escenarios. [ 6 ] [ 7 ] A veces, un planificador que no conserva el trabajo puede ser útil para mejorar la estabilidad de un sistema; por ejemplo, un planificador de procesos puede optar por mantener los procesos fuera de la cola de ejecución si existe la preocupación de que la suma de los conjuntos de trabajo de todos los procesos ejecutables exceda la memoria disponible y conduzca a una sobrecarga de thrashing de página no lineal. Limitar la cola de ejecución de esta manera podría conducir a una subutilización de los procesadores disponibles (y por lo tanto ser no conservativo del trabajo) con el objetivo de evitar situaciones en las que el sistema sea inutilizable debido al thrashing.

Referencias

  1. Padma Mundur, Mejora de la calidad de servicio en redes IP (material del curso de redes multimedia )
  2. Jon Crowcroft, Planificación y gestión de colas (material del curso de Comunicación Digital II )
  3. G. Buttazzo, G. Lipari, L. Abeni, M. Caccamo, Sistemas blandos en tiempo real: previsibilidad versus eficiencia, Springer 2005
  4. Kleinrock, Leonard (1965). "Una ley de conservación para una amplia clase de disciplinas de colas". Naval Research Logistics Quarterly . 12 (2): 181– 192. doi : 10.1002/nav.3800120206 . ISSN 0028-1441 . 
  5. Jon Crowcroft, Planificación (material del curso Principios de la Comunicación )
  6. A. Fedorova, M. Seltzer y MD Smith, "Un planificador de sistema operativo que no conserva el trabajo para procesadores SMT", en Actas del Taller sobre la Interacción entre Sistemas Operativos y Arquitectura de Computadoras, en conjunto con ISCA 2006.
  7. JC Sáez, JI Gomez y M. Prieto, "Mejora de la aplicación de prioridades mediante la planificación sin conservación de trabajo", Procesamiento paralelo, 2008. ICPP '08. 37.ª Conferencia Internacional sobre Procesamiento Paralelo, Portland, OR, 2008, págs. 99-106.