Conociendo los distintos schedulers en Android

COMPARTIR 0 TWITTEAR

CPU Pins

Siguiendo con el tema del rendimiento y ahorro de batería en Android hoy queríamos hablaros de los schedulers.

Un I/O scheduler (programador de entrada y salida) podemos decir que es el conjunto de reglas que le indica al procesador cómo tratar con las peticiones de lectura o escritura en el disco. Muy similar a lo que vimos anteriormente pero centrado en las operaciones sobre el disco.

Esto acaba notándose en el tiempo que tardar una aplicación en abrirse, el tiempo que permanece en la RAM,… Por lo que, sobretodo si tienes un smartphone menos potente, puede ayudarte mucho con la fluidez.

Schedulers

Sin más vamos a explicaros algunos de los schedulers que hay disponibles en Android.

Deadline

Su principal objetivo es reducir la latencia al máximo y a la vez intentar evitar que ningún proceso se quede mucho tiempo esperando en la cola. Esto lo consigue utilizando un método de planificación muy conocido, round robin, tratando por orden de llegada cada proceso y otorgándoles un tiempo máximo que pueden estar en el procesador antes de volver a la cola.

Ventajas:

  • Es casi un scheduler a tiempo real, reduciendo mucho las esperas.
  • Mejor scheduler para acceder a bases de datos.
  • Al igual que noop, muy bueno para los discos sólidos, como los que usan los smartphones.

Desventajas:

  • Cuando el sistema está sobrecargado, se vuelve un poco inestable.

Noop

Realmente podríamos decir que noop prácticamente no es un scheduler ya que trata las peticiones exactamente en el orden que estas llegan. Esto puede ser utilizado en un smartphone ya que los discos sólidos no necesitan reordenar las peticiones para minimizar los movimientos del disco.

Ventajas:

  • Ayuda a aumentar la duración de la batería ya que trata primero los procesos con menos ciclos de procesador.
  • Muy bueno para cualquier disco duro sólido.

Desventajas:

  • Cuanto más reduce la duración de los ciclos del procesador, más rendimiento pierde.

Anticipatory

Parte de la idea de que buscar en un disco es algo bastante lento y que, aunque siempre pueden haber operaciones de escritura pendientes, prioriza las de lectura.

Ventajas:

  • Las operaciones de lectura siempre son prioritarias, por lo que es tan rápido como noop.

Desventajas:

  • Reduce el rendimiento de la escritura en los discos de alto rendimiento.

BFQ

BFQ asigna a cada proceso un presupuesto, basado en un número de sectores del disco. Luego lo mantiene en el procesador hasta que ese presupuesto se agota. A los procesos que no son de lectura, les asigna un presupuesto mayor.

Ventajas:

  • Tiene una alta tasa de transferencia por USB.
  • El mejor scheduler para la reproducción de vídeos en HD y streaming.
  • Tiene un 30% más de rendimiento que CFQ.

Desventajas:

  • No sale muy bien parado en las pruebas de rendimiento.
  • En algunos casos puede aumentar la latencia al asignar un presupuesto demasiado elevado a un proceso.

CFQ

Este scheduler intenta distribuir el tiempo de forma equitativa entre todos los procesos. Esto lo hace asignando un tiempo a cada proceso que depende de la prioridad de padre.

Ventajas:

  • Tiene un rendimiento de I/O bastante balanceado.
  • Especialmente potente en procesadores multi núcleo.
  • Buen rendimiento en bases de datos.

Desventajas:

  • La búsqueda de fotos y vídeos en el smartphone tarda más en completarse.
  • Cuando hay muchos procesos compitiendo por el uso del procesador, puede provocarse un retraso bastante elevado.

SIO

Se basa en conseguir reducir la latencia al máximo con el mínimo esfuerzo. No tiene ningún tipo de prioridad.

Ventajas:

  • Es simple y por lo tanto muy estable.
  • Reduce mucho los procesos que se quedan perdidos en la cola.

Desventajas:

  • Tiene momentos aleatorios de baja velocidad de lectura comparado con otros schedulers.
  • Las lecturas secuenciales en discos sólidos no son muy buenas.

Estos no son todos los schedulers que hay, pero si algunos de los más conocidos. Según el uso que le deis a vuestro smartphone os compensará más uno u otro, pero lo mejor es que los probéis y descubráis vuestro scheduler.

Archivado en escritura, lectura, scheduler
COMPARTIR 0 TWITTEAR

Comentarios (19)

Usa tu cuenta de Facebook para dejar tu opinión.

¿Te ha gustado? ¡No te pierdas nada más!

follow us in feedly

Otras webs de Difoosion