O ionice funciona com o planejador de prazos?

12

Meus sistemas Debian Wheezy usam o deadline scheduler. Estou acostumado a usar ionice para reprogramar a prioridade de E / S de tarefas com uso intensivo de disco em horários de pico, e isso parece ajudar (mas não tenho nenhuma evidência concreta).

A ionice manpage , documentação do kernel e este documento do OpenSUSE sugere que apenas o cfq scheduler leva em conta ionice intervention. Eles não afirmam explicitamente que outros agendadores o ignoram, mas o único que eles mencionam é cfq .

Os outros agendadores, em particular deadline , trabalham com ionice ?

    
por Flup 09.06.2014 / 16:51

1 resposta

10

Não. ionice é um mecanismo para especificar prioridades. Mas deadline ignora as prioridades e, em vez disso, simplesmente impõe um tempo de expiração em cada operação de E / S e, em seguida, garante que a operação seja bem-sucedida antes que o tempo de expiração seja atingido.

Mais informações aqui: o agendador de E / S de prazos

The main goal of the Deadline scheduler is to guarantee a start service time for a request. It does so by imposing a deadline on all I/O operations to prevent starvation of requests. It also maintains two deadline queues, in addition to the sorted queues (both read and write). Deadline queues are basically sorted by their deadline (the expiration time), while the sorted queues are sorted by the sector number.

Before serving the next request, the deadline scheduler decides which queue to use. Read queues are given a higher priority, because processes usually block on read operations. Next, the deadline scheduler checks if the first request in the deadline queue has expired. Otherwise, the scheduler serves a batch of requests from the sorted queue. In both cases, the scheduler also serves a batch of requests following the chosen request in the sorted queue.

By default, read requests have an expiration time of 500 ms, write requests expire in 5 seconds.

    
por 08.10.2014 / 19:23