Articulo de referencia

Planificación anticipada

La planificación anticipada es un algoritmo para la planificación de entrada/salida ( E/S ) del disco duro . Su objetivo es aumentar la eficiencia de la utilización del disco me...

La planificación anticipada es un algoritmo para la planificación de entrada/salida ( E/S ) del disco duro . Su objetivo es aumentar la eficiencia de la utilización del disco mediante la anticipación de futuras operaciones de lectura síncronas .

Planificación de E/S

La "inactividad engañosa" es una situación en la que un proceso parece haber terminado de leer del disco cuando en realidad está procesando datos en preparación para la siguiente operación de lectura. Esto provoca que un planificador de E/S que normalmente conserva el trabajo cambie para atender la E/S de un proceso no relacionado. Esta situación es perjudicial para el rendimiento de las lecturas síncronas, ya que degenera en una carga de trabajo de búsqueda. [ 1 ] La planificación anticipatoria supera la inactividad engañosa haciendo una pausa breve (unos pocos milisegundos) después de una operación de lectura en anticipación a otras solicitudes de lectura cercanas. [ 2 ]

La planificación anticipada produce mejoras significativas en la utilización del disco para algunas cargas de trabajo. [ 3 ] En algunas situaciones, el servidor web Apache puede lograr hasta un 71 % más de rendimiento al utilizar la planificación anticipada. [ 4 ]

El planificador anticipatorio de Linux puede reducir el rendimiento en discos que utilizan Tagged Command Queuing (TCQ), discos de alto rendimiento y matrices RAID de hardware . [ 5 ] Un planificador anticipatorio (AS) fue el planificador predeterminado del kernel de Linux entre las versiones 2.6.0 y 2.6.18, momento en el que fue reemplazado por el planificador CFQ .

A partir de la versión 2.6.33 del kernel, el planificador Anticipatorio se eliminó del kernel de Linux. [ 6 ] La razón es que, si bien era útil, sus efectos podían lograrse mediante el uso optimizado de otros planificadores (principalmente CFQ, que también puede configurarse para estar inactivo con el parámetro ajustable slice_idle ). [ 7 ] Dado que el planificador anticipatorio añadía una sobrecarga de mantenimiento sin mejorar la cobertura de la carga de trabajo del kernel de Linux, se consideró redundante.

Véase también

Referencias

  1. Iyer, Sitaram (2001). El efecto de la inactividad engañosa en los planificadores de disco (Tesis). Universidad Rice. hdl : 1911/17433 . Recuperado el 20 de abril de 2010 .
  2. Morton, Andrew (23 de enero de 2003). "2.5.59-mm5" . linux-kernel, linux-mm (Lista de correo). Archivado del original el 15 de junio de 2007. Recuperado el 23 de mayo de 2007 .
  3. Morton, Andrew (2003-02-20). "Evaluación comparativa del planificador de E/S" . linux-kernel (Lista de correo). Archivado del original el 2 de junio de 2007. Recuperado el 23 de mayo de 2007 .
  4. Iyer, Sitaram; Druschel, Peter (2001-06-06). "Planificación anticipatoria: un marco de planificación de disco para superar la inactividad engañosa en E/S síncrona" . 18.º Simposio ACM sobre Principios de Sistemas Operativos . Recuperado el 2010-04-20 .
  5. Piggin, Nick (13 de septiembre de 2003). "as-iosched.txt" . Documentación del kernel de Linux . Consultado el 20 de abril de 2010 .
  6. "Linux 2 6 33 - Principiantes en el kernel de Linux" .
  7. «Documentación del núcleo CFQ» .