Os dispositivos Flash devem ser melhor manipulados por um agendador de E / S sem operação. Embora isso não seja uma resposta definitiva. Continue lendo.
Um dispositivo mecânico (como o HDD) gasta muito tempo na busca de operações, encontrando a posição correta em uma placa de disco para realizar leitura ou gravação. Isso é feito movendo uma cabeça mecânica com velocidade limitada. Embora essa velocidade pareça bastante alta, os dispositivos flash não exigem isso e, portanto, são mais rápidos por design.
A tarefa de um agendador de E / S é principalmente agrupar, reordenar e, quando possível, mesclar operações de E / S. Uma das principais intenções é diminuir a penalidade de busca diminuindo a quantidade de operações de busca necessárias.
É por isso que um agendador NOOP é superior à maioria dos agendadores de dispositivos flash. Tendo em mente que não há penalidade de busca incorrida em qualquer operação de E / S, o planejador não precisa fazer muito. Quanto menos, melhor. Com muito poucos ciclos de CPU necessários para cada operação de E / S, também é muito amigável para a bateria.
Por outro lado, DEADLINE pode ser uma boa opção se você estiver preocupado com a falta de E / S, enquanto seu sistema raramente ficará sobrecarregado. O escalonador impõe um prazo para cada operação de E / S, o que impacta positivamente na latência. Ele usa várias filas para armazenar operações e classifica-as de acordo com seu prazo. Ao se comprometer com esses prazos, ele pode garantir que não haja falta de E / S durante as cargas normais da CPU.
Para concluir, não há nenhum tamanho único . Cada agendador tem seus prós e contras. A melhor coisa que você pode fazer IMHO é ler sobre Noop, Prazo e SIO, e descobrir qual deles se encaixa melhor para o seu cenário. Você também pode testá-los por um período e ver como eles reagem ao seu uso diário.
Por fim, encontrei uma boa postagem no fórum que parece preciso e abrange as principais vantagens / desvantagens de cada programador de E / S.