Por que os agendadores BFQ e BFS não estão incluídos no kernel oficial do Ubuntu?

24

Ontem li um artigo sobre como acelerar o Ubuntu. Uma sugestão no artigo foi substituir o planejador de E / S padrão pelo BFQ , que de acordo com o artigo é otimizado para desempenho interativo.

Um artigo semelhante destaca as vantagens no desempenho da área de trabalho ao usar o agendador de processos BFS .

Ambos os agendadores estão incluídos em vários conjuntos de patches e kernels alternativos conhecidos por aumentar a interatividade e o desempenho da área de trabalho (por exemplo, linux-pf , liquorix-kernel e linux-ck ).

Portanto, minha pergunta é : Dada a forma como o Ubuntu está se esforçando para obter uma excelente experiência em desktops, como as compilações que não são de servidores do sistema operacional não vêm com esses agendadores quando eles provaram ser melhores em termos de desempenho interativo?


Mais informações sobre os dois agendadores podem ser encontradas aqui:

Musto
fonte
1
O acrônimo é BFS, não BFQ, certo? Ou é intensional aqui?
Jobin
@Jobin Whoops, você está certo. O BFS é um agendador de processos e está incluído no patchset linux-ck, assim como o BFQ. Vou editar a pergunta para refletir isso.
Glutanimate
Existem benchmarks com notáveis ​​ganhos de desempenho em BFS em relação ao prazo final do agendador padrão do Ubuntu? Os benchmarks vinculados são comparados apenas com o CFQ
NGRhodes 02/10
1
@NGRhodes Sim, nesta comparação, você pode ver que os autores alcançaram uma taxa de transferência igual entre o BFQ e o prazo, enquanto conseguiam reduzir o tempo de inicialização dos aplicativos sob carga de disco sequencial em uma ordem de magnitude (com o BFQ). Você encontrará comparações semelhantes no primeiro artigo vinculado acima.
Glutanimate
3
Por que você não tenta propor no ubuntu-devel-discuss ?
Andrea Corbellini

Respostas:

14

Resposta rápida :

  1. Ambos os agendadores não funcionam de todo ou funcionam bem para todas as plataformas suportadas do Linux (frequência, arquitetura, consumo de recursos, ...)
  2. Parece que o Torvalds simplesmente não deseja suportar mais de um agendador

Explicações:

Como os agendadores são iniciativas isoladas (também conhecidas como não suportadas pelo kernel), o simples fato de incluí-lo significaria focar as pessoas nesses agendadores (patch de segurança, patch de manutenção, acelerar a adaptação a novas versões do kernel, ...). Significa investimento financeiro para um projeto que ainda não tem certeza sobre sua existência no futuro.

Eles ainda são bem jovens. O melhor exemplo é o que é explicado nas Perguntas frequentes do BFS em "Qual é a escala?".

Por trás das linhas desta parte, diz-nos que o BFS apresenta problemas de desempenho quando você possui muita CPU lógica. Esse ponto único é válido para servidores e PCs de última geração (o número de 16 é fornecido, portanto, significa que um servidor simples de 1000 USD teria problemas de desempenho com isso). Portanto, você exclui o Ubuntu Server desse patch, também exclui as configurações físicas da CPU bi que agora alcançam facilmente esse número.

O Ubuntu não pode atingir massas se eles usarem outro agendador. A escalabilidade vence o desempenho.

Como sempre, com muitos "se" ...:

  • Se todo usuário do Ubuntu for um usuário de desktop
  • Se todas as máquinas de cada usuário do Ubuntu são o PC correto para os agendadores

De fato, a melhor abordagem é a atual: deixe o usuário aplicar os agendadores que eles desejam se tiverem o hardware e estiverem interessados ​​nele.

A aplicação pode funcionar melhor para alguns durante algum tempo (porque, como eu disse, a escalabilidade é um grande problema e o futuro aumentará o número de processadores). Mas vai dar sérios problemas para os outros.

Fontes extras:

O link pode não ficar para sempre. Aqui está um artigo que eu encontrei sobre o BFS no h-online . É o mais oficial que eu encontrei. No entanto, se você pesquisar no Google, poderá encontrar a afirmação real. Eu acho que pode estar no kerneltrap.

Veja o terceiro parágrafo do título da fênix do artigo. Vou citar aqui caso o link morra:

Atualmente, a integração do BFS no ramo principal de desenvolvimento do Linux parece muito improvável, pois Linus Torvalds já deixou claro que ele não deseja manter vários agendadores. Além disso, os distribuidores Linux tendem a preferir uma única imagem do kernel que obtém desempenho ideal em uma ampla variedade de sistemas sem exigir configuração especial. Pode ser que os desenvolvedores do CFS melhorem seu agendador nas áreas cobertas pelo BFS - um bônus para a comunidade de usuários.

Linus Torvalds Tópico sobre isso.

Antoine Rodriguez
fonte