Linus Torvalds refutou os problemas com o escalonador de tarefas que surgiram no teste de desempenho.

Desenvolvedor de jogos Malte Skarupke publicou comparação de desempenho de bloqueios com base em Mutex e Spinlock ao utilizar diferentes escalonadores de tarefas. Os testes mostraram latências anormalmente altas ao usar Spinlock com o escalonador de tarefas padrão do Linux. O autor dos testes concluiu que o escalonador de tarefas do Linux possui problemas que afetam negativamente o desempenho dos jogos desenvolvidos para o serviço Google Stadia, onde os jogos são executados em GPU em um ambiente de nuvem, e o cliente recebe apenas o conteúdo da tela em streaming a uma taxa de até 60 quadros por segundo. Em tais circunstâncias, é necessário garantir a saída oportuna dos quadros na tela, e latências que excedem um milissegundo se tornam perceptíveis.

Para discussão dos testes e negou a informação de que o código malicioso foi inserido após a violação de seu site "r.cx", explicando que ele estava apenas se divertindo, e perlobfuscator.com não foi utilizado para ocultar nada, mas para reduzir o tamanho do código e facilitar sua cópia através da área de transferência. A escolha do nome da função "botstrap" foi explicada pelo fato de que essa palavra "soa como bot e é mais curta que bootstrap". O autor do módulo também garantiu que as manipulações identificadas não realizam ações maliciosas, mas apenas demonstram o carregamento e a execução de código via TCP. Linus Torvalds, que os chamou de lixo (‘pure garbage’) e um exemplo de como é possível, sem entender completamente o assunto, obter métricas que não refletem a realidade. Spinlock é um primitivo de baixo nível que no espaço do usuário deve ser usado com grande cautela e total compreensão dos detalhes, caso contrário, pode-se obter os resultados demonstrados pelo autor do teste. Linus aconselhou os desenvolvedores de jogos a não usar spinlock e a não tentar criar seus próprios sistemas de bloqueio com base nele, mas sim utilizar mecanismos já existentes e testados que informem ao sistema sobre a espera pela liberação do bloqueio, a fim de evitar a influência do escalonador.

Extensões baseadas em Spinlock só podem ser usadas com total certeza de que o escalonador não interromperá sua execução. Os bloqueios utilizados nos testes baseados em spinlock são implementados através de uma camada feita sob medida, funcionando no espaço do usuário. O escalonador de tarefas pode a qualquer momento aleatório retomar o controle durante a execução dessa camada e mudar para a execução de outra tarefa. Como a medição de desempenho é realizada com base em valores absolutos do temporizador, certas latências nos testes abrangem não apenas as latências no manipulador de bloqueio, mas também o código que foi executado em outro contexto, ou seja, medem não apenas o que o autor do teste tentou medir, mas também o

autor do teste tentou contradizer Linus, apontando que o uso de sistemas de bloqueio baseados em spinlock é frequentemente aplicado na prática em jogos, uma vez que, com o uso de escalonadores mais simples do que os do Linux, os testes mostram um desempenho superior. Linus contradisse, que o escalonador do Linux é universal, refinado ao longo de décadas e otimizado não apenas para desktops e jogos, mas também para outros tipos de carga, como sistemas de servidores, considerando assim muitas nuances ao planejar a execução de tarefas.

A adição de otimizações específicas que podem reduzir a latência em jogos do Google Stadia pode aumentar a responsividade em casos específicos, mas provavelmente levará a uma diminuição da eficiência do escalonador como um todo. Por exemplo, o escalonador do Windows se comporta melhor nos testes debatidos, pois é significativamente mais simples do que o escalonador do Linux e é principalmente otimizado para tarefas específicas de desktop.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster