Em um computador em miniatura como o Biostar Racing P1, cada megahertz conta. Isso é ditado pela compactação e pelo baixo consumo de energia. O
processador Intel Atom x5-Z8350 está instalado aqui. E você não precisa esperar registros de desempenho especiais dele. Especialmente, dada a falha no desempenho de gravação do cache no nível L1.
No entanto, esse consumidor "não fica mais, mas também não é um laptop" ainda encontrará seu consumidor. A garantia é de quatro núcleos de uma CPU aparentemente simples. Eles deveriam ter alguma esperança?
Em um
artigo anterior, analisamos os resultados dos testes de cache realizados em um único encadeamento, o que dá uma idéia do desempenho "isolado" de um único kernel. Qual será a avaliação integrada de um processador multi-core? Portanto, defina a caixa de seleção
Usar operações paralelas no utilitário NCRB e execute uma série semelhante de medidas.
Fig 1 .
Seleção de cenário de teste de plataforma multithread usando o utilitário NCRBTeste de cache L1 multithread
No processador Intel Atom x5-Z8350, o cache de primeiro nível é um recurso privado de cada um dos quatro núcleos. Isso significa que, ao processar um bloco de dados cujo tamanho é menor que o tamanho L1 (no nosso exemplo, é de 24 kilobytes), cada núcleo usa sua própria memória cache, praticamente não há concorrência no acesso, o que significa que podemos esperar um aumento múltiplo no desempenho de acordo com o número núcleos. A frase comum "você não luta" caracteriza com bastante precisão esse cenário de medição.
Fig 2 .
Um gráfico da velocidade de leitura de um bloco de dados versus seu tamanho para 4 núcleos de processador operando simultaneamente; bairro X = tamanho L1Os contra-argumentos podem incluir fatores como reduzir o limite superior do overclock dinâmico ao implementar um determinado cenário de consumo de energia e modo térmico, além de limitar o tempo do processador alocado pelo sistema operacional para o aplicativo em um ambiente multitarefa.
Lembre-se de que o desempenho máximo em um teste de thread único (consulte "
Biostar Racing P1: Escape a frio ") foi um pouco acima de 30 GBPS. Usando 4 núcleos, obtemos um resultado de cerca de 107 GBPS, que é bem próximo do valor teórico de 120 GBPS.
Fig 3 .
Um gráfico da dependência da velocidade de gravação de um bloco de dados em seu tamanho para trabalhar simultaneamente com 4 núcleos de processador; bairro X = tamanho L1Ao examinar L1, a parte esquerda do gráfico correspondente a um bloco de até 24 KB é importante. Aqui vemos duas frações de desempenho: a seção rápida em transações pequenas (mais de 105 GBPS) e a seção lenta para dados maiores que 6,4 KB, mas que ainda “se encaixam” no olho da agulha do cache L1. Tudo fica claro com o primeiro: ele, como no caso do teste de leitura, está próximo do valor quádruplo de um núcleo de 120 GBPS. Por que gravar dados em L1 novamente é uma falha? Só se pode adivinhar sobre isso.
Provavelmente, os engenheiros da Intel, projetando uma versão econômica do processador, mudaram o foco do cache de dados de L1 para L2. O cache de instruções de nível 1 ainda é eficiente, e o Atom x5-Z8350 é adequado para isso. Nas condições de falta de recursos, o processador gasta de forma imprudente a memória estática para atender aos fluxos de dados, confiando mais nos recursos do segundo nível de cache.
É aqui que a abordagem geralmente aceita para criar um perfil de carga para processar
transações em tempo real vem à mente. O padrão geralmente aceito é a proporção de leitura para escrita na proporção de 70% a 30%. Aproximadamente, isso se correlaciona com o volume alocado para gravação "rápida" para o espaço restante no cache L1. É possível assumir, com base nisso, que a Intel está direcionando os processadores Atom, em particular, para processar informações de streaming, por exemplo, conteúdo de mídia?
Obviamente, a restrição do processador em gravar o cache é benéfica se não houver acesso às informações recém-gravadas: o cache de dados "desnecessários" obstrui a memória, forçando os dados "necessários". À primeira vista, gravar na memória executada ao desembalar o conteúdo da mídia é uma operação que não é lucrativa para armazenar em cache. Se você se recusar a armazenar em cache, o acesso a dados gravados anteriormente, pelo contrário, perderá.
Teste de cache L2 multithread
O cache do segundo nível, com capacidade total de 2 megabytes, é dividido em duas partes iguais de 1 MB, cada uma das quais serve a um grupo de dois núcleos. Isso significa que, em um teste multithread, cada núcleo possui 512 kilobytes de cache L2, em oposição a 1 megabyte em um single threaded. Portanto, no gráfico da dependência da velocidade de processamento do bloco em seu tamanho, o ponto de inflexão deve ser esperado nas proximidades de X = 512 KB, e não X = 1024 KB, como foi o caso no teste de rosca única (consulte "
Biostar Racing P1: escape a frio "). Os recursos topológicos considerados do cache L2 também afetam a escala da velocidade de acesso a ele.
Fig 4 .
Um gráfico da velocidade de leitura de um bloco de dados versus seu tamanho para 4 núcleos de processador operando simultaneamente; bairro X = tamanho L2O desempenho L2 caracteriza uma parte da plotagem que satisfaz a dupla desigualdade de 24 KB <X <512 KB, que corresponde a um bloco de dados que não cabe mais em L1, mas ainda cabe em L2.
Fig 5 .
Um gráfico da dependência da velocidade de gravação de um bloco de dados em seu tamanho para trabalhar simultaneamente com 4 núcleos de processador; bairro X = tamanho L2Lembre-se de que a velocidade de leitura de L2 em um teste de thread único é de cerca de 11,5 GBPS. O resultado da escala é de cerca de 39 GBPS. Muito bom! A velocidade de gravação L2 de thread único é de cerca de 12 GBPS. O resultado da escala é de aproximadamente 31 GBPS.
Em vez de um currículo
Podemos afirmar um bom nível de desempenho multithread da plataforma em estudo. Esperava-se que a arquitetura do processador Intel Atom x5-Z8350, que define o cache privado L1 e o L2 parcialmente compartilhado, afetasse os resultados do benchmark.
Fig 6 .
Monitorando a utilização da CPU usando o Windows 10: o momento em que a carga do kernel aumenta para 100% corresponde ao tempo em que o teste foi executadoQuando você executa um teste multithread, a carga de cada um dos quatro núcleos do processador aumenta para 100%. O que acontece com temperaturas e consumo de energia?
Fig 7 .
Monitorando a temperatura e o consumo de energia usando o utilitário AIDA64O resultado foi obtido usando o popular utilitário de diagnóstico e informações AIDA64 aproximadamente 20 minutos após o início do teste NCRB multithread.
Cuidado Importante
Tentando repetir as experiências acima em seu computador, é necessário fazer backup dos dados, garantir a eficiência do sistema de resfriamento do processador, a confiabilidade da fonte de alimentação e o controlador de pulso Vcore. Um teste de estresse pode danificar um sistema com overclock ou instável.
E é melhor experimentar equipamentos estatais.