O suporte a Agendador de Cluster foi enfileirado para aterrissar no kernel Linux 5.16 para sistemas AArch64 e x86_64 para melhorar o comportamento do agendador de CPU para sistemas que têm clusters de núcleos de CPU.

O suporte ao agendador de cluster neste contexto é sobre como melhorar o agendador do kernel Linux para sistemas onde conjuntos de núcleos de CPU compartilham um cache L2 ou outros caches/recursos de nível médio.

Este trabalho de agendador de cluster deriva do trabalho da HiSilicon e Huawei com o objetivo de melhorar o desempenho do Linux para o chip de servidor Kunpeng 920. Esse HiSilicon SoC tem seis ou oito clusters por nó NUMA com quatro núcleos de CPU por cluster e um cache L3 compartilhado. Com os patches do agendador de cluster, eles foram capazes de aprimorar o desempenho geral do sistema e também melhorar a eficiência.

Embora iniciado como um trabalho ARM/AArch64, o código do agendador de cluster também já foi adaptado para sistemas x86_64. Em particular, a Intel adicionou o nível de agendador de cluster para hardware como sua família Jacobsville, onde o cache L2 é compartilhado entre um cluster de núcleos. Os próprios testes da Intel com Jacobsville mostraram uma melhoria de 25% com a carga sendo mais bem balanceada entre os clusters L2. A Intel estava testando com o teste MCF da SPECrate, embora reconhecesse que nem todas as cargas de trabalho se beneficiarão desse trabalho do agendador de cluster.

No lado do ARM, houve melhorias no benchmark de memória Stream de até 19%, o desempenho do PBZIP2 em até 8%, o desempenho do PIXZ em alguns por cento e também uma série de vitórias no SPECrate.

O trabalho do agendador de cluster foi escolhido hoje via sched/core com o alterações de topologia , agendador de cluster para ARM64 e o nível do agendador de cluster x86 .

Agora que o trabalho foi retomado em sched/core, ele deve estrear na linha principal assim que a janela de mesclagem do Linux 5.16 abrir em novembro. O suporte está localizado atrás de um novo switch SCHED_CLUSTER Kconfig em x86/x86_64 e ARM64.

Categories: IT Info