kernel Linux otimizado - Compilação e teste
Obtenção, configuração, compilação e instalação de um novo kernel Linux otimizado na distribuição Debian Wheezy, com posterior teste de desempenho comparativo entre kernel com e sem alterações. Inclusive, com overclock simples.
Parte 7: Conclusões
A primeira conclusão a que se chega, é que aquelas "otimizações" do kernel não fazem muita diferença no desempenho. Talvez o lado psicológico tenda a dizer o contrário e o "olhômetro", diga que a inicialização ficou mais rápida, as janelas abrem mais rápidas, etc.
Os testes feitos neste artigo podem ser repetidos em casa, por quem tiver interesse.
Otimizações via software, de um modo geral, não alteram significativamente o desempenho do hardware. Talvez, o que confunda os usuários, é o fato de raciocinar que se um vírus pode travar a máquina e um ataque DoS pode derrubar um servidor, e um vírus, grosso modo, é um software e um ataque DoS é feito por um software também, a conclusão aparentemente lógica seria raciocinar que o contrário também é válido, ou seja, um software pode acelerar a máquina.
Porém, este raciocínio é ilusório. Analogamente, seria como você colocar combustível de avião num fusca e querer que ele corra a 300 quilômetros por hora. É fisicamente impossível. O motor dele não é feito para correr tanto. Porém, se você colocar gasolina adulterada, ou suja, no mesmo fusca (ou até em uma Ferrari), ele irá "travar".
Ainda que alguém argumente que as mudanças no kernel não aceleram a máquina, mas somente extraem todo o potencial do processador, argumentamos de volta dizendo que, se os processadores comerciais fossem de total arquitetura RISC, aí concordaríamos, mas não é o caso. Os processadores comerciais vêm com suas instruções prontas e fechadas, ou seja, você não pode programar diretamente no processador.
Alterando o kernel com melhorias, você estará somente "otimizando" o próprio kernel, nada mais. Alguém pode alegar que otimizando o kernel estará melhorando o desempenho geral de todo o computador. Contudo, não podemos esquecer que o kernel é feito para suportar as mais variadas arquiteturas de hardware e alterando uma parte do código sem ter conhecimento, pode estar causando detrimento em outra parte.
Também foram feitos testes no kernel nativo do Debian Wheezy (3.2.0-4-amd64) sem alterações e apresentaram resultados semelhantes em desempenho.
Os testes realizados nas três máquinas apresentaram resultados semelhantes, uma hora tendendo para o Kernel 'Sem', outra hora para o Kernel 'Com', porém, sempre com diferenças não muito significativas entre eles. É claro que estes testes, apesar de feitos com seriedade, estão longe de serem conclusivos. Talvez em determinado processador, as alterações sugeridas neste artigo tenham um efeito um pouco maior.
Os programas de testes utilizados no artigo foram escolhidos tendo em vista serem confiáveis e plenamente satisfatórios ao que se propõem. A escolha do teste Complex foi uma escolha lógica, uma vez que são realizados vários teste abrangentes. A escolha do teste Kernel no Phoronix, também foi uma escolha lógica.
Para fins de aprendizado, é válido ter esse trabalho todo de alterar 15 arquivos Makefile do kernel. Para quem estuda as linguagens de programação C e Shell Script, entre outras, mexer nos arquivos do kernel é um prato cheio.
Todavia, continuamos, até prova em contrário, com a opinião de que alterações via software para otimizar fisicamente computadores são ilusórias, e não compensam todo o trabalho. Tais alterações podem dar um pequeno ganho em determinado desempenho, porém, no cômputo geral comprovamos que não faz diferença nenhuma.
Para melhor esclarecimento, se você alterar um software e este demonstrar melhor desempenho, era porque o código anterior estava aquém da sua capacidade, então, você otimizou apenas o software e não o hardware.
Não podemos esquecer que um computador é feito, basicamente, de software e hardware, bem como o ser humano é feito, basicamente, de corpo e mente.
Links para otimizações e Linus x Lennart:
Links para testes Phoronix:
Os testes feitos neste artigo podem ser repetidos em casa, por quem tiver interesse.
Otimizações via software, de um modo geral, não alteram significativamente o desempenho do hardware. Talvez, o que confunda os usuários, é o fato de raciocinar que se um vírus pode travar a máquina e um ataque DoS pode derrubar um servidor, e um vírus, grosso modo, é um software e um ataque DoS é feito por um software também, a conclusão aparentemente lógica seria raciocinar que o contrário também é válido, ou seja, um software pode acelerar a máquina.
Porém, este raciocínio é ilusório. Analogamente, seria como você colocar combustível de avião num fusca e querer que ele corra a 300 quilômetros por hora. É fisicamente impossível. O motor dele não é feito para correr tanto. Porém, se você colocar gasolina adulterada, ou suja, no mesmo fusca (ou até em uma Ferrari), ele irá "travar".
Ainda que alguém argumente que as mudanças no kernel não aceleram a máquina, mas somente extraem todo o potencial do processador, argumentamos de volta dizendo que, se os processadores comerciais fossem de total arquitetura RISC, aí concordaríamos, mas não é o caso. Os processadores comerciais vêm com suas instruções prontas e fechadas, ou seja, você não pode programar diretamente no processador.
Alterando o kernel com melhorias, você estará somente "otimizando" o próprio kernel, nada mais. Alguém pode alegar que otimizando o kernel estará melhorando o desempenho geral de todo o computador. Contudo, não podemos esquecer que o kernel é feito para suportar as mais variadas arquiteturas de hardware e alterando uma parte do código sem ter conhecimento, pode estar causando detrimento em outra parte.
Também foram feitos testes no kernel nativo do Debian Wheezy (3.2.0-4-amd64) sem alterações e apresentaram resultados semelhantes em desempenho.
Os testes realizados nas três máquinas apresentaram resultados semelhantes, uma hora tendendo para o Kernel 'Sem', outra hora para o Kernel 'Com', porém, sempre com diferenças não muito significativas entre eles. É claro que estes testes, apesar de feitos com seriedade, estão longe de serem conclusivos. Talvez em determinado processador, as alterações sugeridas neste artigo tenham um efeito um pouco maior.
Os programas de testes utilizados no artigo foram escolhidos tendo em vista serem confiáveis e plenamente satisfatórios ao que se propõem. A escolha do teste Complex foi uma escolha lógica, uma vez que são realizados vários teste abrangentes. A escolha do teste Kernel no Phoronix, também foi uma escolha lógica.
Para fins de aprendizado, é válido ter esse trabalho todo de alterar 15 arquivos Makefile do kernel. Para quem estuda as linguagens de programação C e Shell Script, entre outras, mexer nos arquivos do kernel é um prato cheio.
Todavia, continuamos, até prova em contrário, com a opinião de que alterações via software para otimizar fisicamente computadores são ilusórias, e não compensam todo o trabalho. Tais alterações podem dar um pequeno ganho em determinado desempenho, porém, no cômputo geral comprovamos que não faz diferença nenhuma.
Para melhor esclarecimento, se você alterar um software e este demonstrar melhor desempenho, era porque o código anterior estava aquém da sua capacidade, então, você otimizou apenas o software e não o hardware.
Não podemos esquecer que um computador é feito, basicamente, de software e hardware, bem como o ser humano é feito, basicamente, de corpo e mente.
Links para otimizações e Linus x Lennart:
- LKML: Markus Trippelsdorf: Re: [RFC/RFT PATCH v3] sched: automated per tty task groups
- LKML: Linus Torvalds: Re: [RFC/RFT PATCH v3] sched: automated per tty task groups
- LKML: Lennart Poettering: Re: [RFC/RFT PATCH v3] sched: automated per tty task groups
- Otimizando o Kernel de seu Desktop Linux « Code Repository Blog
- Suzano Bitencourt: Otimizando o Kernel de seu Desktop Linux
- Compilando o Kernel otimizado para o seu processador no Ubuntu!
Links para testes Phoronix:
- OpenBenchmarking.org - Latest Test Results
- Complex-over Benchmarks - OpenBenchmarking.org
- Kernel-com Benchmarks - OpenBenchmarking.org
- Kernel-sem Benchmarks - OpenBenchmarking.org
- Complex-com Benchmarks - OpenBenchmarking.org
- Testecomplex Benchmarks [1308217-SO-TESTECOMP38] - OpenBenchmarking.org
É isso mesmo?
Não sei nada de servidor, uma vez que não sou profissional de informática, apenas gosto de multimedia por diletantismo.
O artigo é interessante pela lucidez. O software não faz milagre no hardware. Pelo menos para os usuários domésticos os resultados não compensam a ginástica, exceto para quem está a procura de emoções fortes.
Vai para os favoritos.