¿Cuál es el mejor programador de E / S para usar en un Android?

Programadores de E / S

Anticipado
Basado en dos hechos:

Las búsquedas de disco son realmente lentas.
Las operaciones de escritura pueden ocurrir siempre, pero siempre hay algún proceso esperando la operación de lectura.

De modo anticipatorio, priorice las operaciones de lectura sobre las de escritura. Anticipa las operaciones de lectura síncrona.

Ventajas
Las solicitudes de lectura de los procesos nunca pasan hambre.
Tan bueno como noop para el rendimiento de lectura en unidades flash.

Desventajas
‘Supongo que funciona’ podría no ser siempre confiable.
Rendimiento de escritura reducido en discos de alto rendimiento.

BFQ

En lugar de la asignación de segmentos de tiempo por CFQ, BFQ asigna presupuestos. El disco se otorga a un proceso activo hasta que caduque su presupuesto (número de sectores). BFQ asigna altos presupuestos a tareas no leídas. El presupuesto asignado a un proceso varía con el tiempo en función de su comportamiento.

Ventajas
Se cree que es muy bueno para la tasa de transferencia de datos usb.
Se cree que es el mejor programador para grabación de video HD y transmisión de video. (debido a menos jitter en comparación con CFQ y otros)
Considerado un planificador de E / S preciso.
Alcanza aproximadamente un 30% más de rendimiento que CFQ en la mayoría de las cargas de trabajo.

Desventajas
No es el mejor planificador para la evaluación comparativa.
Un mayor presupuesto asignado a un proceso puede afectar la interactividad y una mayor latencia.

CFQ

El planificador de Fair Queuing completamente mantiene una cola de E / S escalable por proceso e intenta distribuir el ancho de banda de E / S disponible por igual entre todas las solicitudes de E / S. Cada cola por proceso contiene solicitudes sincrónicas de procesos. El intervalo de tiempo asignado para cada cola depende de la prioridad del proceso ‘principal’. V2 de CFQ tiene algunas soluciones que resuelven el hambre de E / S del proceso y algunas pequeñas búsquedas hacia atrás con la esperanza de mejorar la capacidad de respuesta.

Ventajas
Considerado para ofrecer un rendimiento equilibrado de E / S.
Más fácil de sintonizar.
Destaca en sistemas multiprocesador.
Mejor rendimiento del sistema de base de datos después de la fecha límite.

Desventajas
Algunos usuarios informan que el escaneo de medios tarda más en completarse utilizando CFQ. * Esto podría deberse a la propiedad de que, dado que el ancho de banda se distribuye por igual a todas las operaciones de E / S durante el arranque, el escaneo de medios no tiene ninguna prioridad especial.
La fluctuación de fase (peor de los casos) exhibida a veces puede ser alta, debido a la cantidad de tareas que compiten por el disco.

Fecha tope

El objetivo es minimizar la latencia de E / S o el hambre de una solicitud. Lo mismo se logra mediante la política de round robin para ser justo entre las múltiples solicitudes de E / S. Cinco colas se utilizan agresivamente para reordenar las solicitudes entrantes.

Ventajas
Casi un planificador en tiempo real.
Se destaca por reducir la latencia de cualquier E / S individual.
El mejor planificador para el acceso a la base de datos y consultas.
Requisito de ancho de banda de un proceso: qué porcentaje de CPU necesita se calcula fácilmente.
Como noop, un buen programador para unidades de estado sólido / flash.

Desventajas
Cuando el sistema está sobrecargado, el conjunto de procesos que pueden perder la fecha límite es en gran medida impredecible.

Noop

Inserta todas las solicitudes de E / S entrantes en una cola Primero en entrar, primero en salir e implementa la fusión de solicitudes. Se utiliza mejor con dispositivos de almacenamiento que no dependen del movimiento mecánico para acceder a los datos (sí, como nuestras unidades flash). La ventaja aquí es que las unidades flash no requieren la reordenación de múltiples solicitudes de E / S a diferencia de los discos duros normales.

Ventajas
Atiende solicitudes de E / S con el menor número de ciclos de CPU. (¿Batería amigable?)
Lo mejor para unidades flash ya que no hay penalización por búsqueda.
Buen rendimiento en sistemas db.

Desventajas
La reducción en el número de ciclos de CPU utilizados es proporcional a la caída en el rendimiento.

SIO

El programador de E / S simple tiene como objetivo mantener una sobrecarga mínima para lograr una baja latencia para atender las solicitudes de E / S. No hay conceptos de colas prioritarias, sino solo fusión básica. Sio es una mezcla entre noop y fecha límite. Sin reordenamiento ni clasificación de solicitudes.

Ventajas
Simple, muy confiable.
Minimización del hambre de solicitudes.

Desventajas
Velocidades lentas de lectura aleatoria en unidades flash, en comparación con otros planificadores.
Las velocidades de lectura secuencial en unidades flash tampoco son tan buenas.

V (R)

A diferencia de otros planificadores, las solicitudes sincrónicas y asincrónicas no se tratan por separado, sino que se impone una fecha límite para ser justos. La siguiente solicitud que se atenderá se basa en su distancia desde la última solicitud.

Ventajas
Puede ser mejor para la evaluación comparativa porque en la cima de su ‘forma’, la realidad virtual funciona mejor.

Desventajas
La fluctuación del rendimiento ocasiona un rendimiento por debajo del promedio en ocasiones.
Menos confiable / más inestable.

Al final de ti tienes preguntas, no dudes en contactarme. Estaré más que feliz de ayudarte.

fuente: Android Overclocking, gobernadores y IO Schedulers ??

La programación de entrada / salida (E / S) es un término utilizado para representar la técnica. Los marcos de trabajo de PC eligen la solicitud de que las operaciones de E / S de pieza se envíen a volúmenes de capacidad. La programación de E / S se llama de vez en cuando ‘planificación circular’.

Los planificadores de E / S pueden tener muchos propósitos dependiendo del objetivo del planificador de E / S, algunos objetivos compartidos son:

Para limitar el tiempo desperdiciado por el círculo duro busca.

Para organizar un procedimiento específico ‘I / O pide.

Dar una parte de la capacidad de transmisión de la placa a cada procedimiento de ejecución.

Para garantizar que se emitirán solicitudes específicas antes de una fecha de vencimiento específica.

¿Qué planificadores son accesibles?

Fecha de vencimiento

Noop

SIO (simple)

empujar

ZEN

SIOplus

Tripndroid

Prueba

Arce

FIFO

VR

BFQ

FIOPS

CFQ

Leer más Google Android O Update y aspectos de programación de E / S.

Cuando pides lo mejor, supongo que tienes en cuenta tanto el rendimiento como el ahorro de energía. La mejor combinación que he encontrado para eso es Lionheart y SIO. Te explicaré por qué. Su teléfono cuando ejecuta tareas mientras está en espera, como sincronizar correos electrónicos, la recuperación de notificaciones se encuentra en una situación de “carrera a inactividad”. Cuanto más rápido termine una tarea, antes se duerme profundamente. Cuando se usa activamente, querrás tener una experiencia sin retrasos, pero eso no significa que bloquees la CPU con la frecuencia máxima de reloj. Lionheart es un gobernador de base conservador con una escala de CPU agresiva que ofrece el rendimiento y se asegura de que su CPU esté a la velocidad de reloj más baja cuando no se usa activamente. SIO es el mejor porque no diferencia un hilo de E / S de otro, lo que le brinda un rendimiento uniforme en múltiples aplicaciones en ejecución.
TL; DR, Usa Lionheart y SIO.

Fecha tope