Índice
INTRODUÇÃO
Este artigo discute o suporte do SQL Server em um ambiente de Hyper-thread.
Informações adicionais
O design básico do SQL Server é totalmente funcional em um ambiente com hiperthreads. No entanto, se você estiver usando um ambiente de Hyper-Threading, recomendamos que faça o seguinte:
-
Executar o Microsoft SQL Server 2000 Service Pack 3 (SP3) ou um Service Pack posterior.
-
Instale a atualização de segurança mais recente.
O sistema operacional Microsoft Windows faz com que as CPUs lógicas do Hyper-thread apareçam como CPUs físicas. Como o SQL Server já é altamente dimensionável, as CPUs adicionais dão ao SQL Server a capacidade de usar mais processadores. Para obter informações adicionais sobre o suporte do Microsoft Windows ao Hyper-Threading, acesse o seguinte site da Microsoft:
http://www.microsoft.com/whdc/system/sysinternals/ht-windows.mspxVocê deve estar ciente dos itens a seguir quando estiver considerando uma implantação de hiperthreads:
-
Licenciado
-
Mapeamento de processador
-
Execução
-
Utilitário de contagem de CPU da Intel
Mais informações sobre cada item a seguir.
Licenciado
Quando o Hyper-Threading está habilitado, o sistema básico de entrada (BIOS) usa uma taxa de CPU lógica para física. As implementações atuais estão usando índices do 2:1. Isso significa que há duas (2) CPUs lógicas para cada CPU física. Essas razões podem mudar no futuro; no entanto, o Microsoft SQL Server 2000 Service Pack 3 (SP3) e versões posteriores têm código de licenciamento adicional que ajusta as restrições de licenciamento para manipular a taxa. Por exemplo, se o código do produto SQL Server que você instalou permite uma licença da 4 CPU a uma proporção de 2:1, a compilação do SQL Server 2000 SP3 e versões posteriores são ajustadas e permite que você use 8 CPUs. ao instalar o SQL Server, você usará a contagem de CPU física e permitirá que o SQL Server manipule a conversão de taxa. Por outro lado, ao definir a opção de máscara de afinidade , você usará os valores lógicos de CPU porque o SQL Server está usando todas as CPUs como se fossem processadores físicos. Para saber mais sobre o licenciamento e detalhes de configuração compatíveis, acesse o seguinte site da Microsoft:
Mapeamento de processador
Por padrão, o SQL Server cria um Agendador de agendamento de modo de usuário lógico (UMS) para cada processador de acordo com o pedido ordinal do processador. Em ambientes habilitados para hiperthreads, o Microsoft Windows torna todos os processadores disponíveis para o processo do SQL Server como se fossem processadores físicos verdadeiros. Uma amostra de mapeamento lógico e físico do processador é mostrada na tabela a seguir. Tabela de mapeamento de processador 1
Operador |
Física |
---|---|
0 |
0 |
1 |
1 |
2 |
2 |
3D |
3D |
4 |
0 |
5 |
1 |
5 |
2 |
7 |
3D |
Aqui está outro exemplo de mapeamento de processador. Tabela de mapeamento de processadores 2
Operador |
Física |
---|---|
0 |
0 |
1 |
0 |
2 |
1 |
3D |
1 |
4 |
2 |
5 |
2 |
5 |
3D |
7 |
3D |
O mapeamento é aceitável para o SQL Server. No entanto, tenha cuidado para não criar uma situação em que o SQL Server está limitado inesperadamente a uma CPU física quando é esperado usar várias CPUs físicas. você pode usar a opção de máscara de afinidade do SQL Server para alterar o uso do processador físico esperado. Para fazer isso, consulte a tabela de mapeamento de processador 1. Se a máscara de afinidade for 00010001 e estiver usando o processador 0 e o processador 4, os processadores lógicos que estão sendo usados são mapeados para o processador físico de exemplo, #0. Isso resulta em um uso de processador único físico compatível com ambos os processadores lógicos, em vez de dois processadores físicos. Esta situação provavelmente vai diminuir o desempenho. Você pode usar uma combinação da opção de máscara de afinidade e o parâmetro de inicialização da máscara de afinidade de e/s para alterar o comportamento padrão. Para obter mais informações sobre a opção de máscara de afinidade ou o parâmetro de inicialização de máscara de afinidade de e/s, consulte os manuais online do SQL Server.Para obter mais informações, clique no seguinte número para exibir o artigo na Base de Dados de Conhecimento Microsoft:
298402 Noções básicas sobre como definir a opção de afinidade de e/s do SQL ServerAviso Use cuidado ao estabelecer a máscara de afinidade. Você pode configurar facilmente o mascaramento de máscara de afinidade incorretamente usando o mesmo processador físico para dar suporte a dois processadores lógicos quando você pretende usar processadores físicos separados.
Execução
O desempenho de ambientes com hiperthreads varia. Testes conservador demonstraram 10 a 20% de ganho para cargas de trabalho do SQL Server, mas os padrões do aplicativo têm um impacto significativo. Você pode descobrir que alguns aplicativos não recebem um aumento de desempenho aproveitando o Hyper-Threading. Se os processadores físicos já estiverem saturados, o uso de processadores lógicos pode realmente reduzir a carga de trabalho realizada. Por exemplo, os aplicativos que causam altos níveis de disputa podem causar desempenho reduzido em um ambiente com hiperthreads. Recomendamos que você teste seu aplicativo completamente para garantir que um ambiente com hiperthreads ofereça o ganho de desempenho que você deseja versus a compra de CPUs físicas equivalentes. O Hyper-Threading pode ser muito útil, mas o Hyper-Threading não pode substituir toda a capacidade de uma CPU física adicional.Os produtos de terceiros mencionados neste artigo são produzidos por empresas independentes da Microsoft. A Microsoft não oferece nenhuma garantia, implícita ou não, do desempenho ou da confiabilidade desses produtos.O site da Intel tem alguns bons dados e tutoriais sobre hiperthreading (microarquitetura Intel NetBurst). Para obter mais informações sobre sistemas compatíveis com o Hyper-Threading, acesse os seguintes sites da Intel:
http://software.intel.com/en-us/blogs/2009/06/02/intel-hyper-threading-technology-your-questions-answered http://developer.intel.com
Grau máximo de paralelismo (MAXDOP)
Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:
2806535 Recomendações e diretrizes para a opção de configuração do ' grau máximo de paralelismo ' no SQL Server