O patch de ~200 linhas que multiplica o desempenho no Linux
Enviado por Pedro Arthur P. R. Duarte (JEdi) (pedroarthur·jediΘgmail·com):
“Um novo patch para o escalonador de processos do Linux vem dando muito o que falar nos últimos dias. Desenvolvido por Mike Galbraith, o patch de aproximadamente 233 linhas de código implementa um novo agrupamento para as tarefas em execução, baseadas em seus TTYs, e tem apresentado um aumento de desempenho considerável (aproximadamente 60x, segundos testes executados pelo autor).
Sobre o patch, Linus Torvalds comenta em um e-mail para a lista oficial de desenvolvedores: “Então acho que este é mesmo um daqueles patches de “melhoria real”. Bom trabalho. Escalonamento de grupos passa de “útil para alguns níveis de carga específicos” para “esta é uma killer feature“.”” [referência: phoronix.com]
• Publicado por Augusto Campos em
2010-11-17
60x??? Me dão medo essas coisas… hehehe
Linus, comita ae! ;)
Será que este patch pode aplicado no kernel do ubuntu 10.10 ou 10.04, queria ver isto funcionando.
No aguardo .. quando poderei testá-lo??? :-)))))))
olhem os vídeos na segunda página da referência
O Patch está nesse endereço:
http://marc.info/?l=linux-kernel&m=128978361700898&w=2
Ainda não baixei. Mas to instalando as fontes do kernel do Ubuntu 10.10, pra poder aplicar e ver se rola! :)
Pela matéria só deve ser incluido no kernel 2.6.38, haja visto que já foram fechados o tempo de merge para o 2.6.37.
:/ Droga! Preguiça de recompilar o kernel :P
Desculpem deve não, poderia…
Muito interessante.
Para quem esta apenas curioso, na segunda pagina existem dois vídeos demostrando o desempenho com e sem o patch.
Quem vai ser o primeiro ??
dou-lhe uma, dou-lhe duas ….. (rsrsrsrs)
Eu compilei o kernel 2.6.37-rc2 direto da árvore do linus e apliquei esse patch. Instalei aqui no ubuntu 10.10 mas não sei se fiz certo, pq não tinha essa opção /proc/sys/kernel/sched_autogroup_enabled. Além disso não consegui reinstalar o driver do Virtual Box pra esse kernel, então nem rolou pra mim. Não notei muita diferença.
Lembrando que o 38 final termina o merge!
Lembrando também que é pra uma função específica. Não vai ser toda área do sistema que vai ganhar melhora em desempenho.
@humbhenri
Pode ser que você tenha compilado como modulo.
Neste caso deve carregar o modulo antes.
No final, o Con Kolivas tinha razão.
O problema está no escalonador.
Vocês sabem me dizer se esse patch é compatível apenas com ubuntu? Pergunto, porque tentei fazer no Fedora e não é compatível, pelo menos não tem no YUM do Fedora.
Alguém sabe algum FORUM bom, que possa me ajudar a compilar o kernel com o patch? Gostaria de ajudar o desenvolvedor a fazer mais testes.
Abraços,
@Adroaldo Vidoti
Esse patch não se instalado pelo apt ou pelo yum.
Você tem que aplicar ele na árvore dos fontes do kernel.
Ele deve funcionar em qualquer linux moderno, tanto Ubuntu, Debian ou Fedora.
Abs
@Alexandre Bars – que merge?
@Gilberto Nunes Valeu!!!!
Vou ter que esperar sair oficialmente no Fedora, instalei o Fedora usando o CD1 e não achei o pacote que vem com os fontes do Kernel.
Mas não tem problema, vou esperar ser o patch HOMOLOGADO pelo Fedora, e então eu posso fazer meus testes e quem sabe ajudar o desenvolvedor.
@Adroaldo Vidoti, recomendo que, para ajudar o desenvolvedor, teste o patch antes de sair na sua distro. Isso pq não existe razão para fazer testes em algo já considerado estável :-) O período em que um software mais precisa de testes é quando está em desenvolvimento ainda ;-)
@marcosalex: se a melhora fosse na área de “sistemas para medição de fluxo de líquidos em ambientes com temperatura negativa” ninguém dava bola.
Mas é no Desktop, pimpão !!! :D
Estaria Con Kolivas roxo de raiva ???
@Alexandre de Arruda Paes
Na verdade se aplica pra qualquer área, pelo que entendi, e não apenas pro desktop…
“Estaria Con Kolivas roxo de raiva ???”
Eis a questão…
Bom, o Con Kolivas já falou sobre esse patch: http://ck-hack.blogspot.com/
Conversei com o Con Kolivas a poucos minutes na FreeNode, e acredito que ele está certo quanto a resposta no Blog Ddele….
Soonest, ele vai fazer um outro patch para provar essa suposta “teoria”.
Let’s try to see the silver line.
@Adroaldo Vidoti: concordo quando ele diz que um make -j64 junto a outras coisas não é a melhor generalização quando ao aumento da responsividade.
Mas o mínusculo patch, baseado num scheduler padrão, deve ter deixado muita gente batendo a cabeça na parede de raiva: “Por que diabos não pensei nisso ???” :)
Alguem consegue compilar o kernel???
Olha a mensagem que aparece, quando tento compilar o kernel:
kernel/sched.c: In function ‘sched_init’:
kernel/sched.c:7756: error: implicit declaration of function ‘autogroup_init’
make[1]: ** [kernel/sched.o] Erro 1
make: ** [kernel] Erro 2
Isso acontece depois que eu habilitei essa opção:
“Automatic process group scheduling”
Valeu
Mto legal o linus ter aceitado o patch e mto bom do desenvolvedor ver que o kernel poderia ser melhorado e fazer o trabalho
@Alexandre de Arruda Paes
O q o Marcos quiz dizer q eh um aumento de 60x em um processo que o kernel faz. Se este este processo influencia coisa de 1% do uso do tempo do kernel vai ser um ganho de 0.5% na performance total.
Queria saber exatamente mais oq esta mudanca implica, se tem beneficios para sistema com carga alta, baixa, etc
Felipe,
Correção Final do ano tem merge do 38!!
Será que existe um patch desse para windows? kkkkkkkkk
Missão impossível!!!!!!
Patch com menos de 200 mil linhas ou que aumente o desempenho nessa proporção.
É mais fácil o papai noel trazer o Android que eu pedi de Natal…..
Legal, como é que eu faço aplicar esse patch no windows 7?
Oba! Também quero turbinar meu Linux, manolo! =)
Bacana! Se o desempenho do Linux melhorar pelo menos 10% do que o patch promete já é um bom avanço. Além disso, é interessante a discussão que o patch vai levantar em torno do desempenho.
Olha o Patch do Con Kolivas com um Kernel enxuto já dá um resultado muito considerável.
Agora esse novo Patch parece ser mais legal ainda, pois estão falando em coloca-lo oficialmente na versão 2.6.38.