A manchete acima seria impensável há poucos anos. Porém, esta é a mais pura realidade e a Microsoft implementa a ajuda no desenvolvimento de drivers da AMD para Linux. Normalmente, não é o que se espera da empresa. Sendo assim, os engenheiros da Microsoft enviaram patches para revisão habilitando o suporte a hot-plugging de GPU AMD com o driver de kernel Linux Radeon “AMDGPU”. Os pesquisadores da Microsoft estão trabalhando na “tecnologia de desagregação de GPU” e isso os levou a trabalhar no suporte de hot-plug AMDGPU para Linux.
Shuotao Xu, da Microsoft, comentou:
Acreditamos que o suporte de dispositivos hot-plug de GPU pode abrir portas para muitos aplicativos avançados em data center nos próximos anos, e gostaríamos de ter alguns revisores sobre este PR para que possamos continuar com mais detalhes técnicos. discussões sobre esse recurso.
Microsoft ajuda no desenvolvimento de drivers da AMD para Linux
No escopo do data center, essa funcionalidade pode ser importante para a Microsoft com o Azure para adicionar/remover aceleradores AMD em máquinas virtuais convidadas. Separadamente, nos últimos tempos, a AMD trabalhou para melhorar a desconexão do dispositivo hot GPU AMD com seu driver gráfico com o caso de uso existente para GPUs externas.
Eles postaram seu patch hot-plug de GPU na lista de discussão e no GitHub para revisão e upstreaming.
Patch da AMD troca MWAIT pelo HALT com melhoria de ~ 21% no desempenho
A AMD enviou um patch para que o kernel Linux usasse a instrução MWAIT em vez de HALT para quando o sistema está não está usando o driver ocioso da CPU para estados C sendo desabilitados pelo BIOS ou o driver não faz parte da compilação do kernel. Por sua vez, isso pode levar a uma melhoria de cerca de 21% na latência de saída nos sistemas afetados.
A instrução Monitor Wait “MWAIT” pode ser usada para fins de gerenciamento de energia para indicar que o processador pode entrar em um estado C de destino especificado enquanto aguarda a conclusão de um evento ou de uma operação de armazenamento monitorada. O uso do MWAIT deve ser mais eficiente do que a instrução HALT.
Intel Core 2 e posteriores já preferiram a instrução MWAIT sobre HALT para entrar no estado C1 e esse tem sido o comportamento no kernel do Linux. As CPUs da AMD continuam usando HALT neste caminho de código para casos como não usar o driver ocioso da CPU (por estar desabilitado ou não fazer parte da compilação do kernel) ou quando os C-states são desabilitados pelo BIOS do sistema, portanto, reconhecidamente um nicho.
O patch proposto esta semana pela AMD agora passa a usar o MWAIT para todos os processadores AMD Zen para Zen 1 e mais recente, além de Hygon Dhyana. No AMD Zen 3 (e resultados semelhantes para o Zen mais antigo também), a latência de saída foi cerca de 21% menor usando MWAIT em vez de HALT.
A maioria dos usuários usará o driver ocioso da CPU e, portanto, não será afetado por este patch, mas para aqueles que não estão, essa mudança pode ser benéfica. A alta latência com HALT aparentemente surgiu no teste/uso do mundo real ao explorar a perda de pacotes em um programa de rede não especificado como parte das “observações de desempenho do cliente”.
Esta mudança AMD está atualmente sob revisão na lista de discussão do kernel.