Qual a diferença entre kernel Low Latency e kernel Real-Time no kernel Linux? |
Com o lançamento do Ubuntu vindo com kernel real-time, surgiu em minha ultima live a duvida na diferença entre kernel Low Latency e kernel Real-Time no Linux. E se trata de uma pergunta muito interessante já que ambos proporcionam performance. Então, o que diferencia um do outro? Aqui vamos nós tentar explicar. Primeiro, o que temos que entender é que ambos são real-time. Como já dito, ambos foram desenvolvidos para proporcionar melhor performance, porém, com características e propostas diferentes. Vamos então entender primeiro o que é o real-time.
Kernel real-time
O kernel real-time visa garantir o máximo de resposta dentro do menor tempo possível. De acordo com a documentação do RHEL8, "em muitas cargas de trabalho, o ajuste completo do sistema melhora a consistência dos resultados em cerca de 90%." ... "Ajustar o kernel padrão produzirá 90% dos possíveis ganhos de latência. O kernel Real Time fornece os últimos 10% de redução de latência exigida pelas cargas de trabalho mais exigentes."
Mas há um problema com o real-time. O kernel real-time pode acabar sacrificando o rendimento e a eficiência energética. Na mesma documentação da Red Hat descreve que "Há alguma sobrecarga adicional do kernel associada ao kernel real-time. Isto se deve principalmente ao tratamento de interrupções de hardware em threads agendados separadamente. O aumento da sobrecarga em algumas cargas de trabalho resulta em certa degradação no rendimento geral. A quantidade exata depende muito da carga de trabalho, variando de 0% a 30%".
Kernel Low Latency
Já o kernel low latency tem como propósito priorizar as tarefas mais sensíveis e minimizar o tempo que os processos são executados (essa é a ideia de low latency – reduzir o tempo de resposta). De certa forma, low letancy acaba tendo o desempenho um pouco menor, porém, tendo melhor garantia. O kernel low latency é ideal para quem quer trabalhar com aplicações multimédia, jogos, entre outras, mesmo consumindo mais energia que o kernel genérico. Para se ter uma ideia do ganho de performance com o kernel low latency e da garantia de eficiência de energia, é que ele é utilizado até mesmo em embarcados.
Conclusão
O kernel low latency também é real-time assim também como o kernel real-time também é low latency (ambos focam em performance) e isso pode inicialmente confundir a cabeça das pessoas. Porém, apesar do proposito de ambos ser o mesmo, cada um foi projetado com propostas diferentes, o que acabou por definir a distinção. Se você precisa de performance sem sacrificar eficiência energética, o kernel low latency é a melhor opção enquanto o kernel real-time serve mais para ambientes críticos onde o tempo faz toda a diferença. Já eficiência energética e calor gerado por isso acabam não sendo o problema sendo que esses ambientes são refrigerados.
Quero aproveitar e indicar o projeto tuned que permite otimizar seu computador para obter melhor desempenho através de seus recursos como latency-performancy ou network-latency, permite otimizar seu desktop, para uso de streaming e muito mais.
O comando tuned-admin |
A lista de recursos do tuned |
Algumas opções do comando tuned-admin |
kernel real-time no Red Hat Enterprise Linux 8
https://tuned-project.org/docs/tuned_devconf_2019.pdf
Mais sobre real-time no blog
Nenhum comentário:
Postar um comentário
Viu algum erro e quer compartilhar seu conhecimento? então comente aí.
Observação: somente um membro deste blog pode postar um comentário.