Por que o 12.04 está removendo o sabor do kernel -server?

13

O Ubuntu está removendo o sabor -server, conforme especificado nas notas de versão 12.04:

Assim como no Beta-1, o kernel Beta-2 não possui mais os sabores amd64-server e -generic separados. Eles foram mesclados em um sabor de núcleo genérico para ajudar a reduzir a carga de manutenção ao longo da vida desta versão do LTS.

As diferenças entre -generic e -server parecem estar relacionadas à preempção, à interrupção do timer e ao planejador de E / S, conforme indicado em: https://help.ubuntu.com/10.10/serverguide/C/preparing-to-install .html # intro-kernel-diffs

Eu 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 nenhuma 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 é aplicável a partir de 12.04?
  7. Se a resposta for sim, essa alteração envolverá penalidade de desempenho?

Todos eles são perguntas que podem ser respondidas. Estou pedindo uma alteração específica em um pacote, e não mais nada.

gentakojima
fonte

Respostas:

10

Como você notou nos anúncios de versão, os sabores genérico e do kernel do servidor foram mesclados para a versão 12.04, em um esforço para reduzir a carga de manutenção ao longo da vida útil do LTS. Na verdade, os dois tipos de kernel diferiram apenas 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 da Equipe do Kernel do Ubuntu

Conforme observado nesse encadeamento, o planejador de E / S padrão mudou de "deadline" para "cfq". No entanto, qualquer pessoa que queira permanecer com o planejador de E / S de prazo final pode fazê-lo no momento da inicialização, configurando elevator=deadline.

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

Leann Ogasawara
fonte
7

Sua pergunta "por que" é respondida dentro da cotação que você estava fornecendo - porque é mais fácil manter dessa maneira. A funcionalidade do kernel é parametrizada muito bem, você pode alterar coisas como o agendador em tempo de execução, para que não haja necessidade urgente de compilar diferentes padrões.

Pelas razões exatas e a discussão dos detalhes, você teria que perguntar na lista de discussão do Ubuntu KernelTeam - consulte a página informativa do Wiki do KernelTeam para obter informações de contato.

syneticon-dj
fonte
2

O que acontece agora é que existe apenas um kernel para servidor e desktop. O planejador de E / S pode ser alterado em tempo de execução, se você desejar, mas o CFQ é o planejador mais completo e com manutenção ativa, por isso é um bom padrão. Qual deles você faz pouca diferença na maioria das cargas de trabalho. O kernel do servidor costumava desabilitar até mesmo a preempção voluntária do kernel porque, teoricamente, poderia fornecer um poucomelhor rendimento, mas não estou ciente de nenhuma medida de desempenho que realmente mostre algum benefício lá; portanto, na prática, os servidores não serão afetados com a mudança para o modelo de premissa de desktop. O kernel também não possui marcadores (CONFIG_NO_HZ), o que significa que ele agenda interrupções de timer apenas quando necessário, com base nos timers de aplicativos em execução no momento, 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 havia nenhum benefício em manter outro kernel para servidores; portanto, a prática foi interrompida.

psusi
fonte
O agendador I / O que de fato fazer uma diferença especialmente para virtualização de cargas de trabalho. Dê uma olhada aqui: publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/topic/liaat/… , conclui "no geral, a figura mostra que o planejador de E / S de prazo final supera o planejador de E / S do CFQ, especialmente em cenários multiencadeados " .
syneticon-dj