|
ROMs y desarrollo Samsung Galaxy S II ROMs y desarrollo Samsung Galaxy S II |
|
Herramientas |
#1
|
||||
|
||||
Tipos de gobernadores /Schedulers y características
¿Qué son los gobernadores? Los gobernadores serían los encargados de gestionar el uso de las frecuencias de la CPU. Dicho de otro modo, es el que decide cuándo utilizar la frecuencia máxima (en el Galaxy SII por defecto es de 1200Mhz) para sacar todo el rendimiento de nuestro "bicharraco", las intermedias (1000/800/500Mhz) o cuándo trabajar al mínimo (200Mhz). Diferentes tipos de gobernadores y sus características: 1) lazy: Este gobernador de ezekeel es básicamente un gobernador ondemand con un parámetro adicional min_time_state para especificar el tiempo mínimo que la CPU se mantiene en una frecuencia antes de escalar hacia arriba/abajo. La idea aquí es eliminar cualquier inestabilidad causada por el rápido cambio de frecuencia del ondemand. El gobernador Lazy escanea más frecuentemente que el ondemand, pero cambia de frecuencia sólo después de completar min_time_state en un paso. Lazy también tiene un parámetro de screenoff_maxfreq que puede ser configurado para especificar la frecuencia máxima con la pantalla apagada. 2) lulzactive: Este gobernador de tegrak está basado en los gobernadores interactive y smartass. Es uno de los gobernadores favoritos. Versión vieja: cuando la carga de trabajo es mayor o igual al 60%, el gobernador escala hacia arriba la cpu hasta el siguiente paso más alto. Cuando la carga de trabajo es menor al 60%, el gobernador escala hacia abajo la cpu hasta el siguiente paso más bajo. Cuando la pantalla está apagada, la frecuencia está bloqueada a la frecuencia mínima de escalado. Nueva versión: tres parámetros adicionales configurables por el usuario: inc_cpu_load, pump_up_step, pump_down_step. Este gobernador ofrece mayor control para el usuario. Podemos configurar el umbral en el cual el gobernador decide si escala arriba/abajo. También podemos configurar el número de pasos de frecuencia. También puede fijar el número de pasos de frecuencia que hay que saltar mientras escanea arriba y abajo. 3) lagfree: El gobernador Lagfree es similar a ondemand. La diferencia principal es su optimización para llevarse mejor con la batería. Lagfree no se salta ningún paso de frecuencia mientras escala arriba o abajo. Recuerde que si hay un requerimiento para un repentino gasto de energía grande, lagfree no puede satisfacerlo mientras eleva la cpu a través de cada paso de alta frecuencia desde el actual. Algunos usuarios han reportado problemas de tirones en la reproducción de vídeo utilizando Lagfree. 4) smartassV2: Versión 2 del gobernador smartass original de erasmux. Otro gobernador favorito para mucha gente. Este gobernador escala hacia abajo muy rápido cuando la pantalla está apagada y escala hasta 500Mhz muy rápido cuando la pantalla está encendida. No hay límite de frecuencia superior cuando la pantalla está apagada. El objetivo de este gobernador es buscar la "frecuencia ideal", y aumentar gradualmente de una manera más agresiva hacia esta frecuencia y menos agresiva después. Utiliza diferentes frecuencias ideales cuando la pantalla está apagada o encendida, es decir, awake_ideal_freq y sleep_ideal_freq. Garantiza un equilibrio entre rendimiento y batería. 5) ondemandx: Básicamente es un gobernador ondemand con un perfil de suspensión/despertar. Este gobernador es un ondemand con mejor comportamiento con la batería. Cuando la pantalla está apagada, la frecuencia máxima son 500Mhz. 6) intellidemand: Intellidemand o también conocido como el "ondemand inteligente" de Faux, es otro gobernador basado en "ondemand". A diferencia de lo que algunos usuarios creen, este gobernador no es el equivalente a "OC Daemon" (Teniendo distintos gobernadores para suspensión y despertar). El comportamiento original de "intellidemand" es diferente según el uso de la GPU. Cuando la GPU está muy saturada (con juegos, mapas, benchmarks...) el comportamiento de intellidemand es como el del gobernador "ondemand". Cuando la GPU está inactiva o con un uso muy moderado, "intellidemand" limita la frecuencia máxima a un paso dependiendo de las frecuencias disponibles en tu kernel/teléfono para salvar batería. Esto se conoce como el modo navegación. Podemos ver algunos "rastros" del gobernador "interactive" aquí. La decisión de escalar la frecuencia está basada en el tiempo de inactividad de la CPU. Un menor tiempo de inactividad (<20%) hace que la CPU escale hacia arriba desde la frecuencia actual. El escalado descendente de frecuencia ocurre en los pasos = 5% de la frecuencia actual. En resumen, se trata de un "ondemand inteligente" que entra en modo de navegación para limitar la frecuencia máxima cuando la GPU está inactiva y se comporta como "ondemand" cuando la GPU está muy ocupada, ofreciendo un buen rendimiento para juegos y similares. "Intellidemand" no salta a la frecuencia más alta cuando la pantalla está apagada. 7) lionheart: Lionheart es un gobernador "conservative" modificado por Knzo. Permite modificar el umbral mínimo y máximo y la menor frecuencia de muestreo disponible en el "conservative". Lo que busca este gobernador es la capacidad de respuesta extrema y el rendimiento, a costa de la batería. Cuando se trata de suavidad (sin considerar la descarga de la batería), un "conservative" ajustado ofrece mayor suavidad en comparación con un "ondemand" afinado. Esto podría ser la razón del nacimiento de Lionheart. 8) brazilianwax: Similar al gobernador smartassv2. Más agresivo incrementando la frecuencia, por lo que ofrece mejor rendimiento y por lo tanto, menos batería. 9) SavagedZen: Otro gobernador basado en smartassv2. Logra un buen equilibrio entre rendimiento y batería en comparación con savagedzen. 10) smartass: Versión inicial de smartassv2. Dispone de un límite de frecuencia con la pantalla apagada. No se comporta tan bién con la batería como smartassv2 ya que la frecuencia mínima con la pantalla encendida es mayor que la frecuencia utilizada mientras la pantalla está apagada. 11) conservative: Un ondemand más lento el cual escala despacio para salvar batería. 12) userspace: En lugar de determinar automáticamente las frecuencias, permite al usuario configurar las frecuencias. 13) powersave: Bloquea la frecuencia máxima a la frecuencia mínima. No se puede utilizar con la pantalla encendida o incluso con la pantalla apagada (si la frecuencia mínima de escalado es demasiado baja). 14) ondemand: El gobernador por defecto en la mayoría de kernels originales. Es lo mismo que ondemandx pero sin perfiles de suspensión/despertar. A pesar de que muchos de nosotros consideramos que éste es un gobernador fiable, carece de ahorro de batería y el rendimiento es el que viene configurado por defecto. 15) performance: Establece la frecuencia mínima como la máxima. Utiliza este gobernador para realizar los benchmarks! 16) Interactive: Es considerado como un ondemand más rápido. Más ágil, menos batería. En lugar de realizar muestreos en cada intervalo como ondemand, éste determina la manera de escalar la cpu cuando sale de reposo. Es un ondemand inteligente por las optimizaciones de estabilidad. 17) Interactivex: Es un gobernador Interactive con un perfil para despertar. Mejor comportamiento con la batería que el Interactive. ¿Cómo cambiar el gobernador? Una vez que nos decantamos por un gobernador entre la gran variedad existente, vamos a explicar cómo cambiarlo. Se pueden cambiar de varias formas, una de ellas es utilizando scripts, pero voy a explicar la manera más sencilla a mi juicio, que es mediante la utilización de aplicaciones disponibles en el Market. Hay bastantes aplicaciones para este cometido, pero voy a citar las más conocidas. - SetCPU Link al Market Descarga gratuíta en su hilo oficial de XDA Simplemente tenemos que pulsar en "scalling" y nos saldrá la lista de gobernadores disponibles que nos ofrece nuestro kernel, ya sólo queda elegir el que más nos guste. También podemos variar la frecuencia máxima y mínima a la que trabajará nuestra CPU. Cuando hayamos terminado, si queremos que las modificaciones que hemos hecho se apliquen al reiniciar el terminal debermos marcar la casilla "Set on Boot". Existen más opciones en esta aplicación pero no las citaré ya que se alejan del cometido de este manual y ya existen otros tutoriales específicos para utilizar SetCPU. - Voltage Control Link al Market (gratuíta) Para cambiar el gobernador con Voltage Control pulsamos en "CPU Governor" y elegimos el gobernador que más nos interese. También nos permite elegir la frecuencia máxima y mínima a la que trabajará nuestra CPU. Si queremos mantener nuestra configuración al reiniciar el teléfono marcamos la tecla "menú > Save as boot settings". Esta aplicación tiene la ventaja respecto a SetCPU que no se queda en memoria. Existen más opciones pero no las mencionaré al alejarse de la temática. Continuará...
TUTORIAL REALIZADO EXPRESAMENTE POR ZADOCK [/size]I/O SCHEDULERS (I/O = Imput/Output) P. “¿Para qué sirve un I/O Scheduler?” R.
P. “¿Qué metas persigue cada I/O scheduler para tratar de conseguir un equilibrio?” R.
1) Noop Gestiona todas las peticiones siguiendo el método FIFO (First In First Out), o dicho de otra forma, las primeras en llegar son las primeras en salir/ser atentidas. Lo mejor es utilizarlo con dispositivos de almacenamiento que no dependen de movimiento mecánico para acceder a los datos (si, como nuestras tarjetas flash). La ventaja aquí es que las unidades flash no requieren un reordenamiento de las múltiples peticiones I/O, a diferencia de los discos duros normales. Ventajas2) Deadline El objetivo es minimizar la latencia de I/O o la necesidad de una petición. Esto se logra medianta una política de “todos contra todos”, para ser justos entre múltiples peticiones de I/O. Se utilizan 5 colas de espera para reordenar las solicitudes entrantes. Ventajas3) CFQ Completely Fair Queuing (o dicho de manera cutre “cola completamente equitativa”) mantiene una cola de procesos estable, repartiendo el porcentaje necesitado de la CPU en partes iguales entre todas las peticiones I/O. El intervalo de tiempo asignado a cada cola depende de la prioridad del proceso primario. Ventajas4) BFQ En lugar de asignar intervalo de tiempo como CFQ, BFQ asigna como unos “presupuestos” estimativos. Garantiza el disco para el proceso activo hasta que el presupuesto expira. El presupuesto asignado a un proceso varía con el tiempo como una función de su comportamiento. (la traducción deja mucho que desear, si alguien la puede hacer mejor que me lo comente por PM). Ventajas5) SIO Es un scheduler I/O simple cuyo objetivo es mantener unos consumos mínimos y lograr un escaso restardo al atender solicitudes. Sio es una mezcla entre Noop y Deadline. No existe un reordenamiento de las peticiones. Ventajas6) V(R) A diferencia de los otros schedulers, las peticiones síncronas y asíncronas no se tratan de forma separada. La siguiente solicitud en ser atendida será la que más cercana esté a la última atendida. VentajasParámetros y ajustes Solo voy a poner éstos para Ondemand, Conservative, SmartassV2, Lulzactive e Interactive ya que son los governors más utilizados. Diferentes governors tendrán diferentes parámetros, pero es fácil entenderlos. Normalmente un governor tendrá:
Antes de seguir, personalmente, recomiendo el uso de la aplicación NSTools, gratis en la Play Store. 1. ONDEMAND Parámetros
Ejemplos de configuración Batería Para obtener un ahorro de batería, selecciona valores altos de up_threshold y sampling_rate. De esta manera los muestreos se harán con menos frecuencia, lo mismo que las subidas/bajadas de frecuencia.
Rendimiento Para obtener mayor rendimiento, selecciona valores bajos de up_threshold y sampling_rate. De esta manera, el muestreo y las subidas/bajadas se harán más a menudo.
LULZACTIVE Parámetros
Ejemplos de configuración Batería Esta modificación hace que se aumente gradualmente la frecuencia de la CPU y se disminuya rápidamente.
Esta modificación hace que se aumente la frecuencia de la CPU rápidamente y baje de forma gradual.
Esta modificación hace que se muestree más a menudo y se suban 4 escalones sobre la frecuencia actual, pero solo cuando se alcanza el 90% de carga de la CPU. La CPU baja de frecuencia de manera normal.
SMARTASSV2 Parámetros
Ejemplos de configuración Batería
CONSERVATIVE Parámetros
Batería Selecciona un valor bajo para freq_step para ahorrar batería.
Para nada es irónico el configurar un governor Conservative para obtener un mayor rendimiento.
INTERACTIVE Parámetros
Ejemplos de configuración Batería
Última edición por Boxer HM Día 25/05/13 a las 11:53:07. |
Los siguientes 164 usuarios han agradecido a sergy330 su comentario: | ||
|
#2
|
||||
|
||||
Muy buena explicación, gracias.
¿Sabes si hay algo parecido pero para los Scheluders? |
#4
|
||||
|
||||
Muy interesante tio
__________________
|
#5
|
||||
|
||||
Estaré atento pues a este post.
|
#6
|
||||
|
||||
Joe, que bueno, muchas gracias por las explicaciones, ayudan a decidirse entre uno u otro !
|
#10
|
||||
|
||||
Gran aporte, un saludo campeón
|
#11
|
||||
|
||||
Gracias a vosotros chicos
Poco a poco iré ampliando el tutorial con nuevos contenidos. P.d. características del gobernador LionHeart disponible! |
Los siguientes 4 usuarios han agradecido a sergy330 su comentario: | ||
#12
|
||||
|
||||
Buenas!
He visto muy interesante esto, que además nunca había oido hablar de ello, pero... ¿cómo se puede cambiar? ¿Es según el kernel que elijas? Un saludo! |
#13
|
||||
|
||||
Gracias por la traducción, lo había visto por ahí pero no tengo un nivel super algo en inglés
Ya que estamos en este post, ¿tu que opinas? EStoy ahí estudiando el roomtolbox para no meter el SEtcpu y según lei, estoy en smarttassv2 a 100mhz y 1400 (supongo para que baje al minimo la frecuencia y que use un poco de OC cuando se necesite no ? Saludos y de nuevo gracias . |
#14
|
||||
|
||||
Gracias por la traducción, lo había visto por ahí pero no tengo un nivel super algo en inglés
Ya que estamos en este post, ¿tu que opinas? EStoy ahí estudiando el roomtolbox para no meter el SEtcpu y según lei, estoy en smarttassv2 a 100mhz y 1400 (supongo para que baje al minimo la frecuencia y que use un poco de OC cuando se necesite no ? Saludos y de nuevo gracias . Hay gente que le va de maravilla bajar la cpu a 100Mhz para gastar algo menos de batería y otros que todo los contrario, tienen problemas con la reproducción de música y/o vídeo o comentan que notan el mismo consumo que teniendo la frecuencia mínima en 200Mhz...cada teléfono es un mundo! Por eso lo mejor es ir probando uno mismo. En cuanto al OC, depende gustos, a mi juicio el teléfono con el límite máximo de sotck (1200Mhz) vuela. Ten en cuenta que cuando más subas la frecuencia más batería consumirá cuando trabaje en ese rango. Última edición por sergy330 Día 13/12/11 a las 13:16:13. |
Gracias de parte de: | ||
#15
|
||||
|
||||
K bueno, gracias por tu trabajo comprando, un salu2.
|
#16
|
||||
|
||||
Muy muy bueno Sergy...... Buen recopilatorio y buena info!!
__________________
|
#18
|
||||
|
||||
Esa autocorrección de moda!
Me alegro que te guste Menn. Venga, mojándome un poco diría que estos dos tienen una buena relación consumo/rendimiento: - SmartassV2 - Lulzactive Yo ahora mismo estoy utilizando el gobernador "conservative" del Siyah Kernel, que está muy modificado ofreciendo un buen rendimiento y un consumo de batería contenido. |
Gracias de parte de: | ||
Estás aquí | ||||||
|