Por que o 12.04 está removendo o sabor do kernel do servidor?

13

O Ubuntu está removendo o sabor -server, conforme especificado nas notas de lançamento de 12.04:

  

Assim como o Beta-1, o kernel Beta-2 não carrega mais amperagens de kernel -servidor e -geréricas amd64 separadas. Eles foram mesclados em um único sabor de kernel genérico para ajudar a reduzir a carga de manutenção durante a vida útil desta versão LTS.

As diferenças entre -genérico e -servidor parecem estar relacionadas a preempção, a interrupção do temporizador e o agendador de E / S, como declarado em: link

Estou pedindo especificações técnicas.

  1. Então, o que acontece agora?
  2. A edição do servidor executará o kernel da área de trabalho sem penalidade de desempenho?
  3. Isso é justificado de alguma forma?
  4. O que acontece com essas diferenças?
  5. Eles podem ser alterados no espaço do usuário?
  6. Não são aplicáveis a partir de 12.04?
  7. Se a resposta for sim, essa alteração envolverá penalidade de desempenho?

Todas são perguntas que podem ser respondidas. Eu estou pedindo uma mudança específica em um pacote, não qualquer outra coisa.

    
por gentakojima 16.04.2012 / 10:24

3 respostas

10

Como você notou nos anúncios de lançamento, as versões genéricas e de kernel do servidor foram mescladas para a versão 12.04 em um esforço para reduzir a carga de manutenção durante a vida útil do LTS. Os dois sabores do kernel na verdade só diferiam em relação às duas principais opções de configuração do kernel: o planejador de E / S padrão e o modelo de preempção.

Isso foi discutido em detalhes na lista de discussão do Ubuntu Kernel Team

  • link

Como observado nesse encadeamento, o agendador de E / S padrão foi alterado de "prazo final" para "cfq". No entanto, qualquer pessoa que deseje permanecer com o agendador de E / S de Prazo Final poderá fazê-lo no momento da inicialização definindo elevator=deadline .

O modelo de preempção foi alterado de CONFIG_PREEMPT_NONE para CONFIG_PREEMPT_VOLUNTARY. Neste momento, infelizmente não tenho nenhum benchmark de desempenho disponível para o apontar. Espero que isso ajude alguns. Obrigado.

    
por Leann Ogasawara 05.06.2012 / 20:41
7

Sua pergunta "por que" é respondida dentro da citação que você estava fornecendo - porque é mais fácil manter isso. A funcionalidade do kernel é parametrizada muito bem, você pode alterar coisas como o planejador em tempo de execução, então não há necessidade urgente de diferentes padrões serem compilados.

Para as razões exatas e a discussão dos detalhes, você deve perguntar na lista de discussão do Ubuntu KernelTeam - veja a página informativa KernelTeam Wiki para informações de contato.

    
por syneticon-dj 16.04.2012 / 10:33
2

O que acontece agora é que existe apenas um kernel para servidor e desktop. O escalonador de E / S pode ser alterado em tempo de execução, se você quiser, mas CFQ é o mais completo planejador completo e mantido ativamente, portanto, é um bom padrão. Qual deles você usa faz pouca diferença na maioria das cargas de trabalho. O kernel do servidor é usado para desabilitar a preempção voluntária do kernel porque, teoricamente, ele poderia fornecer um pouco melhor de throughput, mas eu não estou ciente de nenhuma medição de desempenho que realmente mostre algum benefício lá, então na prática, servidores não serão afetado pela mudança para o modelo de premissa de desktop. O kernel também é tickless (CONFIG_NO_HZ), o que significa que ele agenda interrupções de timer somente quando necessário com base nos timers de aplicativo atualmente em execução e não em um intervalo fixo, e acredito que esse tenha sido o caso de várias versões agora, apesar do que o guia do servidor diz .

TL; DR: Não houve benefício em manter outro kernel para servidores, então a prática parou.

    
por psusi 05.06.2012 / 20:18