Acceder

Ver la Versión Completa : Governor y Scheduler para configurar Kernel.


abelavila
03/02/15, 16:50:39
Hola a todos, buscando información para configurar el kernel he encontrado para que sirve cada governor y scheduler:

Os dejo los Governor mas usados:

OnDemand
Este governor suele ser el que viene por defecto en la mayoría de casos. Se caracteriza por pasar a la máxima frecuencia posible cuando usemos el móvil y luego si no hace falta tanto, ir bajando paso a paso hacia frecuencias más bajas. Con este governor se consigue una gran fluidez del sistema pero no ahorra mucha batería.

Performance
Un governor que parte de la idea de que cuanto mayor sea la frecuencia, antes acabará la CPU lo que este haciendo y podrá volver a Deep Sleep. Siempre pone la frecuencia del procesador a la máxima posible


Powersave
Governor para los momentos en los que sea más importante la duración de la batería que el rendimiento del móvil. Fija la velocidad en la mínima posible. Hay que tener en cuenta que con este governor notaréis el smartphone muy lento.


Conservative
Este governor podriamos decir que es una mezcla de Powersave y OnDemand. Siempre pone la mínima velocidad posible hasta que el procesador se congestiona, entonces sube de velocidad paso a paso.


InteractiveX
Muy similar a OnDemand pero optimizado. Se basa en otro governor llamado Interactive que escala también a la máxima velocidad pero que, al utilizar un timer interno en vez de la cola de procesos, permite utilizar más las frecuencias intermedias. Además, cuando la pantalla está apagada, pone el procesador a la mínima velocidad posible.


Intellidemand
Otra evolución de Interactive caracterizada por ser como dos governors en uno. Cuando la GPU (encargada de la parte gráfica de nuestro smartphone) está muy ocupada, se comporta como un Interactive pero cuando no la usamos tanto, escala como mucho a una frecuencia intermedia que fijemos, ahorrando batería. Este governor aprovecha toda la potencia cuando estamos jugando, viendo mapas, … y ahorra batería en el resto de momentos.

IntelliActive

Basado fuera gobernador interactivo de Google con las siguientes mejoras:

1. capacidad de auto-refuerzo de los conductores de entrada (sin necesidad de asistir a PowerHAL)
2. dos programación fases (fases de inactividad / ocupado para evitar que salten directamente a Frec max
3. El control de los circuitos de CPUs y cortos fuera de línea algunos controles innecesarios para mejorar las rutas de ejecución de código


Aqui van los Scheduler para combinar con los Governor.

Schedulers


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.

añado unos datos de referencia a la hora de elegir un i/o scheduler:

Rendimiento general:
Mejor <------------------------------------------------ -------------------------> Peor
FIOPS> Noop> ZEN> SIOplus> SIO> ROW> Tripndroid> VR> Plazo> BFQ> CFQ

Rendimiento multitarea:
Menos Apps <----------------------------------------------- -------------> Muchas Aplicaciones
Noop <FIOPS <SIO <SIOplus <ROW <Tripndroid <ZEN <Fecha límite <VR <CFQ <BFQ

Duración de la batería:

Mejor <------------------------------------------------ -------------------------> Peor
Noop> FIOPS> SIOplus> SIO> ROW> ZEN> Tripndroid> Plazo> VR> CFQ> BFQ


estos son los Scheduler mas conocidos.:ok::ok:

Mikele.
03/02/15, 22:02:13
Gracias por tan detallada explicación,tenia idea de algunos,pero no tan preciso 😌

tansy
03/02/15, 22:45:05
Muchas gracias crack,a si nos enteramos un poco mas del funcionamiento

abelavila
04/02/15, 08:08:54
Jejej pues si porque la verdad esto es para entenderlo,aunque sea lo basico