Usando o Gerenciador de Tarefas com mais de 64 processadores lógicos
Ryan Haveson, gerente de programas de grupo na equipe de experiência do usuário, quis atualizar as pessoas quanto a alguns progressos no Gerenciador de Tarefas desde o Windows Developer Preview. Nesta postagem, você lerá sobre as ferramentas atualizadas do Gerenciador de Tarefas para gerenciar sistemas com um grande número de processadores lógicos. Essa escalabilidade vai muito além dos PCs desktop e foi criada para servidor e data center. Um grande aspecto do desenvolvimento do Windows é que ele poderá ser usado em uma ampla variedade de fatores forma e arquiteturas de CPU.
Observação sobre os comentários: por favor, mantenham o nível dos comentários segundo as normas da comunidade. Lembrem-se de que não há moderação além da proteção automática contra spams. –Steven Sinofsky
Falamos sobre o novo Gerenciador de Tarefas em uma das postagens anteriores e muitos de vocês instalaram o Developer Preview e puderam observar por conta própria. Esse tópico despertou algum interesse e decidimos reservar um tempinho para compartilhar rapidamente com vocês um recurso que surgiu nas nossas compilações diárias e que vocês poderão ver no futuro, na versão Beta.
As imagens abaixo são relacionadas a um recurso sobre o qual administradores de servidor e pessoas com acesso a grandes configurações de PCs e uma enorme quantidade de processadores lógicos sempre nos perguntam. Algo importante a ser observado agora é que estamos falando aqui sobre processadores lógicos, portanto, se tiver um sistema com capacidade de hyper-threading, você verá vários processadores lógicos para cada processador físico.
Aqueles que têm acesso a um desses sistemas com vários processadores sabem que os gráficos de CPU do gerenciador de tarefas do Windows 7 têm algumas limitações:
- Não há comparações em tempo real: Quando se olha vários processadores lógicos no gráfico de uma CPU, o que é interessante são as irregularidades. Em escala, é bastante difícil comparar os gráficos de linhas em movimento referentes a um período de 60 segundos de utilização da CPU para entender o que está acontecendo.
- Gráficos muito pequenos: Quando há mais de 64 processadores lógicos, os gráficos se tornam muito pequenos. Se você estiver tentando descobrir quais processadores estão sendo muito usados, é necessário forçar os olhos para enxergar. Com mais de 256 processadores lógicos, se torna quase impossível enxergar os gráficos.
- Localizando a ID do processador: se você identificar um gráfico irregular, não há uma maneira fácil de se obter a ID do processador correspondente.
Veja abaixo a guia de desempenho da CPU no Gerenciador de Tarefas do Windows 7 em um sistema com 160 processadores lógicos.
Figura 1: Antigo Gerenciador de Tarefas mostrando 160 processadores lógicos
Como você pode ver, é realmente difícil comparar as células na tabela Histórico do Uso de CPU entre si. É difícil ler os gráficos e quase impossível comparar a utilização instantânea da CPU porque cada célula mostra um gráfico em movimento em um período de 60 segundos. Além disso, todos os gráficos na tabela Histórico do Uso de CPU parecem idênticos, portanto, não é possível encontrar a ID do processador de um gráfico específico. Na nossa postagem anterior sobre o Gerenciador de Tarefas, discutimos os benefícios do uso de um mapa de calor como visualização para informar e comparar grandes volumes de dados numéricos. Quando procurávamos criar gráficos para a "exibição de vários núcleos" do novo painel de desempenho, achamos que um mapa de calor cairia como uma luva.
Nas capturas de tela abaixo, tiradas de uma versão atual do Windows 8, é fácil ver todos os processadores lógicos rapidamente e ver quais estão com nível mais alto e mais baixo de uso da capacidade.
(Observação: as capturas de tela abaixo mostram o Gerenciador de Tarefas em um sistema com 160 processadores lógicos e uma carga de trabalho simulada.
Figura 2: Novo Gerenciador de Tarefas mostrando 160 processadores lógicos
No gráfico da nova CPU, você também pode saber qual é a ID do processador lógico que mapeia cada entrada por meio de uma dica de ferramenta, que é exibida ao se passar o mouse sobre a entrada.
Figura 3: Dica de ferramenta mostrando a ID do processador lógico
Uma enorme vantagem de um mapa de calor é que ele funciona muito bem com grandes conjuntos de dados. O novo Gerenciador de Tarefas mostrará o número de processadores lógicos a que o sistema operacional dá suporte (até 640!). Para que você sempre veja as informações com um tamanho adequado, quando o conjunto de dados aumentar muito em relação à janela, o mapa de calor será ajustado e uma barra de rolagem será exibida conforme necessário.
Figura 4: Com 160 processadores lógicos, o gráfico da CPU é expandido com o uso de uma barra de rolagem
Para aqueles que realmente gostam de gerenciar cada pequeno detalhe do sistema, é possível até mesmo definir qual(is) processador(es) lógico(s) cada um dos seus processos pode usar. Para fazer isso, primeiro é preciso saber qual é a ID do núcleo lógico. Para tanto, basta passar o mouse sobre as células do mapa de calor, ir para a guia Detalhes, clicar com o botão direito do mouse no processo que você deseja e clicar em "Definir Afinidade".
Figura 5: Definição da afinidade do processo na guia Detalhes
Figura 6: Seleção dos processadores lógicos para o processo
É claro que o recurso de definição de afinidade de processador se destina somente aos usuários técnicos muito avançados que precisam ou desejam ter esse nível de controle. Você pode afetar seriamente o desempenho e o gerenciamento de energia do seu sistema se não souber o que estiver fazendo, portanto, desejamos garantir que o sistema operacional realizasse um ótimo trabalho, cuidando disso para você. É difícil fazer melhor do que os sofisticados algoritmos que o Windows usa para gerenciar automaticamente quais processos devem ser alocados para cada processador lógico com base na topologia e capacidade do hardware.
--Ryan Haveson