Qual é o intervalo mínimo de planejamento de round robin suportado pelo Linux?

2

Por algum motivo, quero que 10 processos compartilhem o mesmo núcleo de CPU por afinidade.

Como você sabe, para conseguir o compartilhamento de CPU entre processos, podemos explorar a política de escalonamento do Linux round robin (RR).

Para o kernel Linux 3.9 e posterior, o intervalo de agendamento RR pode ser definido alterando o arquivo /proc/sys/kernle/sched_rr_timeslice_ms . O intervalo de agendamento RR padrão é de 100 ms.

Minhas perguntas são:

  1. Eu quero que o intervalo de agendamento de RR seja 100µs, ou seja, um processo é executado por um período de 100µs, então outro processo é executado. Mas eu não consegui definir o /proc/sys/kernle/sched_rr_timeslice_ms com um valor inferior a 1 ms. Gostaria de saber se o intervalo mínimo de agendamento RR suportado pelo kernel atual do Linux é de 1 ms.

  2. Alguém sabe qual intervalo mínimo de agendamento RR é suportado pelo Windriver Linux? Como o Windriver Linux é amplamente utilizado para sistemas embarcados, o que requer um bom desempenho em tempo real do SO.

  3. Gostaria de saber se posso ter todos os 10 processos a serem executados pelo menos uma vez dentro de 1 ms usando o mutex. Ou seja, um processo é executado por 100µs e, em seguida, desbloqueia o mutex para que outro processo possa ser bloqueado e executado. Esse mecanismo funciona?

  4. Se o método mencionado acima não funcionar, e se os 10 processos forem alterados para 10 segmentos. Existe algum mecanismo de chave de alta eficiência disponível?

por cheng 12.08.2014 / 09:00

0 respostas