Páginas

Qual a diferença entre Low Latency e Real-Time no Linux?

Qual a diferença entre Low Latency e Real-Time no Linux?

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
O comando tuned-admin


A lista de recursos do tuned
A lista de recursos do tuned

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.