FERRAMENTAS LINUX: A Intel avança no design de "IPC Classes " do Linux para melhorar o balanceamento de carga para as CPUs híbridas

terça-feira, 29 de novembro de 2022

A Intel avança no design de "IPC Classes " do Linux para melhorar o balanceamento de carga para as CPUs híbridas

 


Em setembro, havia um grande conjunto de patches trabalhando em classes de tarefas para as CPUs híbridas e implementando de maneira mais adequada o Intel Thread Director para Linux. Este trabalho para melhorar o desempenho/eficiência das modernas CPUs Intel Core com uma mistura de núcleos P e E já passou do estágio de "solicitação de comentários" com uma nova série de patches enviada na segunda-feira.

O engenheiro da Intel, Ricardo Neri, enviou o novo conjunto de 22 patches ontem. Dado que esta proposta anterior sobre a introdução de classes IPC para balanceamento de carga não recebeu nenhuma objeção forte, ele abandonou a tag request for comments (RFC) com a esperança de que este trabalho finalmente funcione no kernel da linha principal.

Os processadores Intel Alder Lake e Raptor Lake podem se beneficiar desses últimos patches de kernel do Linux.

Como um lembrete do que se trata este trabalho, dos patches RFC anteriores:

Em processadores híbridos, as propriedades de microarquitetura dos diferentes tipos de CPUs fazem com que tenham diferentes capacidades de instrução por ciclo (IPC). O IPC pode ser maior em algumas CPUs para obter instruções avançadas.

...

O balanceador de carga pode descobrir o uso de instruções avançadas e preferir CPUs com IPC mais alto para tarefas que executam essas instruções.

O hardware é livre para particionar seu conjunto de instruções em um número arbitrário de classes. Ele deve fornecer um mecanismo que identifique a classe da tarefa atualmente em execução e informe ao kernel sobre o desempenho de cada classe de tarefa em cada tipo de CPU.

Este patchset introduz o conceito de classes de tarefas, propõe as interfaces que o hardware precisa implementar e propõe alterações no balanceador de carga para aproveitar essas informações extras em combinação com o empacotamento assimétrico.

Este patchset inclui uma implementação completa para processadores híbridos Intel usando a tecnologia Intel Thread Director.

Desde que os patches originais foram postados, várias melhorias de código foram feitas decorrentes da revisão e teste de código. A opção CONFIG_SCHED_TASK_CLASSES foi renomeada para CONFIG_IPC_CLASSES como um item que vale a pena mencionar. Esta série de patches também elimina o botão CONFIG_INTEL_THREAD_DIRECTOR. Mas o restante das alterações são principalmente alterações de baixo nível para colocar esse código em forma.


Os interessados ​​nessas aulas de IPC para balanceamento de carga com processadores híbridos podem ver os patches v2 já disponíveis para teste. Como são mais de 600 linhas de código novo e ainda em revisão, provavelmente não será resolvido a tempo para a abertura da janela de mesclagem do kernel v6.2 em duas semanas. Mas esperamos que este código e a implementação completa do Thread Director estejam prontos para um lançamento do kernel Linux no primeiro semestre de 2023.










Até a  próxima !


Nenhum comentário:

Postar um comentário