Acceder

Ver la Versión Completa : [TUTORIAL] Gobernadores y planificadores de E/S de Android


martin_carpio
31/01/13, 00:04:40
Bueno talvez todos nos hemos preguntado, ¿Que es un gobernador y un planificador? (Governor y scheduler en ingles), o ¿de que sirven?. Bueno esta fue la informacion que he recopilado acerca del tema sobre que son, de que sirven,y el uso que les podemos dar.

La mayoría de Gobernadores y planificadores son los utilizados por No-frills CPU Control

Gobernadores de Android Disponibles

Concepto
El gobernador del móvil es quien dicta cuando el procesador debe trabajar más rápido o cuando entrar en reposo, esto ayuda a mejorar la duración de la batería y también alarga la vida útil del móvil.

MIN/MAX: Este gobernador utiliza el mínimo y máximo configurado no utiliza frecuencias intermedia, todo esto basado en la carga de procesos requerido por el sistema

INTERACTIVEX:el gobernador de CPU INTERACTIVEX está diseñado para cargas de trabajo sensible a la latencia, interactivo. Este gobernador establece la velocidad de la CPU según sobre uso, similar a "ondemand" y "Conservative”. Sin embargo el gobernador es más agresivo sobre el aumento de la velocidad de la CPU hasta en respuesta a la actividad de intensivo de la CPU.

INTERACTIVE: disponible en los nuevos núcleos y convirtiéndose en el valor predeterminado escala opción en algunos núcleos Android oficiales. El gobernador interactivo es funcionalmente similar al gobernador de ONDEMAND con una aún mayor atención a la capacidad de respuesta.

BRAZILIANWAX: Similar a smartassV2. Es más agresivo, más rendimiento, menos batería

LAZY: Este gobernador de Ezekeel es básicamente un Ondemand con un min_time_state de un parámetro adicional para especificar el tiempo mínimo que CPU permanecerá en una frecuencia antes de aumentar hacia arriba/abajo. La Idea es eliminar cualquier inestabilidad causada por frecuencia rápida. El Gobernador Lazy sondea más a menudo que ondemand, pero cambia la frecuencia sólo después de terminar min_time_state en un paso de reemplazar el intervalo de muestreo Lazy también es un screenoff_maxfreq parámetro en el cual se habilita por alguna causa que el gobernador siempre selecciona la máxima frecuencia mientras que la pantalla está apagada

SMOOTHASS: el mismo como el SMARTASS pero mucho más agresivo y a través de una combinación de ambos este gobernador da una mejora de vida a la batería que es aproximadamente un tercio de duración

SAVAGENZEND: Otro gobernador basado en smartassV2. Logra un buen equilibrio entre rendimiento y batería, en comparación con brazilianwax

SMARTASS V2: es una adaptación del gobernador SMART original, permite que la CPU aumente y disminuya basado en la carga de procesos del sistema. Básicamente aumenta el CPU basado en las necesidades en tiempo real del sistema, SMARTASS V2 supuestamente incorpora algunos ajustes más agresivos para el perfil Pantalla Apagada, y que aumenta la velocidad más rápido que el SMART original.

SMARTASS: es una reescritura completa del gobernador interactivo incluido en algunos kernels modificados. El gobernador de Smartass efectivamente da al móvil automáticamente un perfil de pantalla apagada, manteniendo velocidades como mínimo cuando el teléfono está inactivo. El CPU pasa mucho más tiempo en las frecuencias más bajas para prolongar la vida de la batería

SCARY: Un gobernador escrito sobre la base de Conservative con algunas de las características Smartass, que aumenta en consecuencia de acuerdo a las reglas de Conservative. Por lo tanto, se iniciará desde el 2do plano para tomar una muestra de la carga actual en el principio de la carga, aumenta la velocidad del procesador a la vez y que luego baja. Automáticamente termina la prueba de las velocidades fuera de la pantalla de 245Mhz, y si su frecuencia es superior a 245mhz, se restablecerá el min a 120MHz, mientras que la pantalla está apagada y restaurarla al encender la pantalla, y aún así aumentar de acuerdo a las reglas del Conservative. Por lo tanto, pasa la mayor parte de su tiempo a bajas frecuencias. El objetivo de esto es conseguir la mejor vida de la batería con un rendimiento decente.

LAGFREE: este controlador es bastante similar al “ondemand” gobernador tanto en su código fuente y su finalidad, la diferencia es su optimización para mejorar adecuadamente el entorno de la batería, las frecuencias son levemente aumentadas y disminuyen gradualmente en lugar de aumentar al 100% cuando la velocidad es necesaria.

CONSERVATIVE: disponible en algunos núcleos. Es similar al gobernador ondemand, pero aumenta la CPU más gradualmente para que se ajusten mejor a la demanda. Conservative proporciona una experiencia menos receptiva que ondemand, pero puede ahorrar batería.

ONDEMAND: disponible en núcleos más nuevos y el gobernador por defecto en la mayoría de núcleos. Cuando la carga del CPU llega a un cierto punto en configuración avanzada ondemand rápidamente aumenta la frecuencia del CPU hasta satisfacer demanda de los procesos entonces después disminuye gradualmente la frecuencia del CPU hacia abajo cuando no es necesario.

USERSPACE:- Elgobernador deCPUpermite al usuarioo cualquier otro programaen UserSpace que se ejecute conel UID"root",para configurarla CPUa una frecuencia específica, haciendo un archivosysfs"scaling_setspeed" disponible en el directoriode la CPUdel dispositivo. Observación de algunos usuarios para obtener mejores resultados, no utilice el gobernador de USERSPACE.

POWERSAVE: disponible en algunos núcleos. Mantendrá la CPU ejecuta el valor de "min" en todo momento.

LIONHEART:Es un gobernador Conservative el cual es basado en la fuente de actualización 3 de samsung´s como los inicios y la velocidad de muestreo fueron cambiadas por lo que el gobernador se comporta más como el rendimiento, a costa de la batería y el aumento del procesador es más agresivo

PERFORMANCE: disponible en la mayoría de núcleos. Mantendrá la CPU ejecutada al valor "máximo" en todo momento. Esto es un poco más eficiente que simplemente establecer "Max" y "min" el mismo valor y utilizando ondemand el sistema no va perder recursos de análisis para la carga de la CPU.

MAX: Permite a su teléfono correr a máxima velocidad el CPU, haciendo caso omiso de todas las funciones de ahorro de energía.


Planificadores de Entrada/Salida en Android (I/O)

Concepto:
La planificación de Entrada/Salida (Input/Output Scheduling, o I/O scheduling) consiste en el método mediante el cual los sistemas android deciden el orden en que se procesan las peticiones de lectura/escritura en el movil o unidad de almacenamiento. El objetivo de optimizar el sistema, eligiendo un algoritmo de planificación de Entrada/salida, es disminuir los tiempos de búsqueda (seek times), priorizar las peticiones de ciertos procesos de Entrada/salida.

Planificadores de Entrada/Salida disponibles en el núcleo de Android

Noop
Es el planificador de Entrada/Salida más simple que existe para el núcleo de Android. Funciona insertando todas las peticiones de Entrada/Salida, dentro de una cola de procesamiento tipo FIFO (first in, first out, que se traduce como primero en entrar, primero en salir), e implementando fusión de peticiones y reduciendo el tiempo de petición, y la variabilidad del tiempo de servicio de Entrada/Salida.


Deadline
Este planificador de Entrada/Salida funciona de modo similar al tiempo real, utilizando una política de asignación en circuito (round robin), para intentar distribuir equitativamente las peticiones de Entrada/Salida, evitando se agote la capacidad de procesamiento básicamente impone tiempos de ejecucion (deadline) a todas las operaciones de Entrada/Salida, con la finalidad de impedir que se agote la capacidad de recibir peticiones. Utiliza cinco colas de procesamiento, dos de las cuales son ordenadas de acuerdo a los tiempos de ejecución, al mismo tiempo que las colas de procesamiento son ordenadas de acuerdo a su número de sector.
De modo predeterminado, los tiempos de caducidad son de 500 ms para las peticiones de lectura, y de 5 segundos para las peticiones de escritura.


CFQ
CFQ, que es el acrónimo de Completely Fair Queuing, que podría traducirse como encolado de procesamiento completamente justo, es el planificador de Entrada/Salida su objetivo es mantener una cola de procesamiento de Entrada/Salida escalable por proceso, e intentar distribuir equitativamente el uso del procesador disponible para los procesos de Entrada/Salida, entre todas las peticiones de Entrada/Salida manteniendo una buena capacidad de procesamiento, al permitir que las colas de procesamiento puedan pausar al finalizar un procesos de Entrada/Salida, anticipando el procesos de Entrada/Salida más cercano de ese mismo proceso.


VR
A diferencia de otros programadores de E/S, solicitudes sincrónicas y asincrónicas no son tratadas por separado, en lugar de ello se impone un plazo para la equivalencia en el CPU. El siguiente proceso pasa a ser atendido según la ejecución de la última solicitud


BFQ
En lugar de asignación de las divisiones de tiempo por CFQ, BFQ asigna presupuestos. Disco se concede a un proceso activo hasta que caduque su presupuesto #number de sectores #. BFQ asigna presupuestos elevados a las tareas de lectura. Presupuesto asignado a un proceso varía con el tiempo en función de su comportamiento.
Se cree que es muy bueno para la velocidad de transferencia de datos usb.
Se cree que el mejor programador para grabación de vídeo HD y la transmisión de vídeo. Debido a la menor variación en comparación con CFQ y otro. Considerado como a un planificador de e/s precisa. Alcanza aproximadamente el 30% más de rendimiento que CFQ en cargas de trabajo más.


SIO
Programador de tareas simple E/S pretende mantener mínimo de sobre carga para lograr baja latencia para atender las solicitudes de E/S, no hay colas de los procesos prioritarios sólo es una combinación básica. SIO es una combinación entre noop & Deadline No reordena y no clasifica las requisiciones.


¿Qué planificador de Entrada/Salida elegir?
Depende del tipo de móvil, servicios utilizados en el sistema, capacidades de procesamiento, y los tipos de procesos que se quieran priorizar.
Se recomienda realizar pruebas de desempeño, y de rendimiento, antes de elegir el planificador de Entrada/salida definitivo para un sistema en particular. Simplemente, elegir el que se considere que funcione mejor. Acá dejo algunos ejemplos

#1-Performance
--- : Noop uso o deadline
---: Utiliza mucha más batería

# 2 - SmartassV2
--- : Uso Noop o SIO
---: Buena elección si usas un montón de aplicaciones intensivas de CPU

# 3 - LulzactiveV2
--- : Deadline o Noop
---: Buena elección si usas un montón de aplicaciones intensivas de CPU
---: Utiliza un poco más batería que SmartassV2

# 4 - Lazy
--- : Deadline o CFQ
---: No habilite SOMF (pantalla Off Max frecuencia utiliza más batería)
---: Buena elección si no utilizas aplicaciones intensivas de CPU

#5-OnDemand
--- : Noop uso o Deadline
---: Buena elección si no utilizas aplicaciones intensivas de CPU
---: Ahorra batería un poco más de lazy

#6-Conservative
--- : Utilice CFQ o Noop
---: Generalmente uno de los peores gobernadores para ahorrar batería

Creditos a Alister del foro del Samsung Galaxy Mini

chucky6600
31/01/13, 07:57:26
Gracias!!!!
No está de más refrescar la memoria:ok:

martin_carpio
31/01/13, 16:30:53
Gracias!!!!
No está de más refrescar la memoria:ok:

Tal vez le sirva a algun usuario nuevo que no esta familiarizado con el tema :p

manu_advance
31/01/13, 18:15:48
Muy buena info, y pegasusq y zzmoove que seran?

martin_carpio
31/01/13, 18:58:36
Muy buena info, y pegasusq y zzmoove que seran?

Aqui explican cual es el pegasusQ http://www.grupoandroid.com/topic/45486-tutorial-tipos-de-gobernadores-y-sus-caracteristicas/ tienes que bajar hasta en la parte de los comentarios (no lo puse aqui porque es muchoo jeje)

chucky6600
31/01/13, 21:29:14
Aqui explican cual es el pegasusQ http://www.grupoandroid.com/topic/45486-tutorial-tipos-de-gobernadores-y-sus-caracteristicas/ tienes que bajar hasta en la parte de los comentarios (no lo puse aqui porque es muchoo jeje)

Cómo siempre... Gracias

martin_carpio
31/01/13, 22:20:55
Cómo siempre... Gracias
A ti :thumbup:

kakarottoo
31/01/13, 23:56:38
Muy buena Info! Gracias por compartir!

martin_carpio
01/02/13, 00:05:29
Muy buena Info! Gracias por compartir!
...:thumbup:

AdvanceS03
01/02/13, 00:11:36
Yo, por ejemplo, no lo sabia :P

martin_carpio
01/02/13, 01:39:06
Yo, por ejemplo, no lo sabia :P
Entonces me alegro de haberte ayudado ;-)

aoshi3000
01/02/13, 16:13:57
execenlente gracias
no seria mucho pedir una guia de los kernerls exisistentes para nuesto sga

felipene
04/03/13, 00:11:40
gracias... tampoco lo sabía :aplausos:

ortek
04/03/13, 02:32:50
execenlente gracias
no seria mucho pedir una guia de los kernerls exisistentes para nuesto sga

No hace falta que quotes todo el post amigo!

chucky6600
04/03/13, 11:16:10
Movemos a rom y desarrollo, creo que estará más visible aqui:ok:

Alemanuel
04/03/13, 14:00:41
Buen aporte. A mi me sirvió! No sabia en realidad cuales eran las combinaciones correctas

xessus
04/03/13, 16:37:10
Movemos a rom y desarrollo, creo que estará más visible aqui:ok:

Evitara muchas preguntas y respuestas en los post de roms

torreshurtado
04/03/13, 22:51:53
Gracias por compartir, muy buena la información.. :gracias:

Jeka.9
14/10/13, 15:15:26
Hola, todavía estoy en GB, el teléfono me va bien pero me gustaría probar el No-Frills CPU para ver si así mejora el rendimiento.

¿Qué configuración recomiendan? He leído que van bien tanto la max. 1000, min. 200, Ondemand, Sio, como la max.1000, min. 200, Ondemand, Noop. Tengo un uso normal del móvil (música, WhatsApp, sms, llamadas, Internet y poco más) y no lo utilizo para juegos. Saludos

chucky6600
14/10/13, 17:47:24
Hola, todavía estoy en GB, el teléfono me va bien pero me gustaría probar el No-Frills CPU para ver si así mejora el rendimiento.

¿Qué configuración recomiendan? He leído que van bien tanto la max. 1000, min. 200, Ondemand, Sio, como la max.1000, min. 200, Ondemand, Noop. Tengo un uso normal del móvil (música, WhatsApp, sms, llamadas, Internet y poco más) y no lo utilizo para juegos. Saludos

Depende de cada terminal.. Te aconsejaría que jugarás con ellos hasta encontrar una configuración a tu gusto

prepo84
14/10/13, 19:40:03
Hola, todavía estoy en GB, el teléfono me va bien pero me gustaría probar el No-Frills CPU para ver si así mejora el rendimiento.

¿Qué configuración recomiendan? He leído que van bien tanto la max. 1000, min. 200, Ondemand, Sio, como la max.1000, min. 200, Ondemand, Noop. Tengo un uso normal del móvil (música, WhatsApp, sms, llamadas, Internet y poco más) y no lo utilizo para juegos. Saludos

En gb siempre lleve ondemand_sio y iva de lo mejor probe varias. Pero como dice chucky ves probando aber como se adapta. Pero si no notas lags ni nada extraño y te va bastante bien asi. Ni lo pruebes.

Jeka.9
14/10/13, 21:27:35
Lo acabo de instalar pero en el planificador de E/S solo me salen las opciones noop, deadline y cfq. No hay rastro del sio... Por defecto me puso cfq pero voy a probar con el noop. Saludos y ya iré contando.

prepo84
14/10/13, 21:37:14
Lo acabo de instalar pero en el planificador de E/S solo me salen las opciones noop, deadline y cfq. No hay rastro del sio... Por defecto me puso cfq pero voy a probar con el noop. Saludos y ya iré contando.

Claro es pot el kernel. Si lo llevas stock por eso no te deja mas planificadores.

Jeka.9
14/10/13, 22:21:05
Ahora mismo llevo el kernel 2.6.35.7-TWRP+root@Ubuntu-Mac#2 (el del recovery) ¿Me puedes pasar el listado de kernels de GB o mejor sigo probando con esto?

prepo84
14/10/13, 22:28:01
Ahora mismo llevo el kernel 2.6.35.7-TWRP+root@Ubuntu-Mac#2 (el del recovery) ¿Me puedes pasar el listado de kernels de GB o mejor sigo probando con esto?

Puff me pillas. El mejor creo que era cocore 4.1. En las roms de chucky de gb creo que estaba el enlace. Pero estara caido.. :(

chucky6600
14/10/13, 22:31:02
Puff me pillas. El mejor creo que era cocore 4.1. En las roms de chucky de gb creo que estaba el enlace. Pero estara caido.. :(

Si.. El 4.1..si está caído avisarme :ok:

prepo84
14/10/13, 22:37:20
Si.. El 4.1..si está caído avisarme :ok:

Aqui esta. Activo

http://d-h.st/2Cy

chucky6600
14/10/13, 22:45:21
Aqui esta. Activo

http://d-h.st/2Cy

Gracias prepo

Jeka.9
19/10/13, 16:52:00
Hola, después de instalar el Cocore 4.1 y probar varias combinaciones, la que mejor me ha funcionado a falta de probar pegasusq-sio es la de ondemand-sio.

Tengo dos dudas que no tienen que ver con este tema pero ya que estoy las planteo aquí para no abrir más posts.

1) ¿Qué versión de Tapatalk usan ustedes? ¿Cuál es compatible con GB?

2) ¿Cómo puedo hacer que el teléfono se encienda más rápido? Primero me sale la pantalla con el nombre y modelo del teléfono, luego la de Samsung, desbloqueo de la tarjeta sim, pantalla de contraseña y finalmente tarda un rato en cargar (3 búsquedas de contenido multimedia) En total tarda un minuto y 20 segundos.

Gracias por la ayuda.

chucky6600
19/10/13, 17:13:20
1- 4.1.2
2-Elimina el bootanimation

Jeka.9
19/10/13, 17:17:19
Ok, gracias. ¿Cómo elimino el bootanimation?

chucky6600
19/10/13, 17:23:56
Ajustes/media/bootanimation.zip

Jeka.9
19/10/13, 17:45:11
En media/system solo me sale bootsamsung.qmg y bootsamsungloop.qmg ¿Borro esos? El bootanimation.zip no me aparece.

geraa25
20/10/13, 02:20:44
muy buena info ,, no lo tenia muy claro y eso que lo busque, jjaa

chucky6600
20/10/13, 09:17:05
En media/system solo me sale bootsamsung.qmg y bootsamsungloop.qmg ¿Borro esos? El bootanimation.zip no me aparece.

Entonces es que no tienes una rom cocinada..

Jeka.9
20/10/13, 16:07:39
No, tengo la XXLE2 stock con el Cocore 4.1. Busqué un poco por Google y aconsejan en las stock que no quiten el bootanimation porque tarda más en encender.

De todas formas, encontré este comando para poner en el build.prop: quitar la imagen del bootanimation para acelerar el encendido:
debug.sf.nobootanimation=1 No la he probado y no sé si funciona para nuestro terminal, porque lo encontré en un foro del Sony Ericsson Live with Walkman.

http://www.taringa.net/comunidades/sony-live/5557549/Oficial---Mejora-el-rendimiento-Editando-el-Build-prop.html

chucky6600
20/10/13, 16:19:46
No, tengo la XXLE2 stock con el Cocore 4.1. Busqué un poco por Google y aconsejan en las stock que no quiten el bootanimation porque tarda más en encender.

De todas formas, encontré este comando para poner en el build.prop: quitar la imagen del bootanimation para acelerar el encendido:
debug.sf.nobootanimation=1 No la he probado y no sé si funciona para nuestro terminal, porque lo encontré en un foro del Sony Ericsson Live with Walkman.

http://www.taringa.net/comunidades/sony-live/5557549/Oficial---Mejora-el-rendimiento-Editando-el-Build-prop.html

Aquí también lo encontrarías.. La línea y se incorpora el el prop es prácticamente lo mismo que si eliminas el archivo.. Si te es más fácil incorporalo a tu prop y listo.. Si es fiable :ok:

Jeka.9
20/10/13, 16:59:38
Lo acabo de hacer en el prop y sí funciona, ahora se enciende más rápido y solo me sale la pantalla con el modelo del móvil. Gracias por la ayuda :-)

chucky6600
20/10/13, 17:03:59
Lo acabo de hacer en el prop y sí funciona, ahora se enciende más rápido y solo me sale la pantalla con el modelo del móvil. Gracias por la ayuda :-)

Si, si.. Funcionar, Funciona.. Y lo probe en mis rom :ok:
Me alegro..

revenat
03/03/14, 00:41:30
UP.

arieligena
05/03/14, 14:06:27
Holas.

Con Cocore 9 lo dejo en hotplug como gobernador y sioplus como planificador. Hotplug tiene la ventaja que puede apagar el core para ahorrar bateria si no es demandado.