Avançar para o conteúdo

Modo de jogo AMD Ryzen Threadripper 1950X, comparado

    1645560003

    Testando o Infinity Fabric & Memory Subsystem do Ryzen

    Latência e largura de banda do tecido infinito

    A barra cruzada Infinity Fabric de 256 bits une os recursos dentro de uma matriz Zeppelin. Colocar uma segunda matriz Zeppelin para criar Threadripper introduz outra camada do tecido. Os acessos ao cache permanecem locais para cada CCX, mas uma grande quantidade de memória, E/S e tráfego thread a thread ainda flui por essa segunda camada.

    Não demorou muito para os entusiastas descobrirem que o Infinity Fabric da AMD está vinculado ao mesmo domínio de frequência que o controlador de memória, portanto, um overclock de memória reduz a latência e aumenta a largura de banda através da barra transversal. O desempenho em aplicativos sensíveis à latência (como jogos) consequentemente melhora.

    O teste de Eficiência Multi-Core do Processador da SiSoftware Sandra nos ajuda a ilustrar o desempenho do Infinity Fabric. Usamos a métrica Multi-Threaded com a configuração “melhor pareamento” (menor latência). O utilitário mede os tempos de ping entre os encadeamentos para quantificar a latência da malha em todas as configurações possíveis.

    As medições de latência intra-core representam a comunicação entre dois threads lógicos residentes no mesmo núcleo físico e, como podemos ver, desabilitar o SMT elimina totalmente essa medição. Para as configurações restantes, o ajuste reduz a latência em alguns nanossegundos. Mas isso é atribuível a taxas de clock mais altas. Como vimos no passado, o aumento das frequências de memória tem pouco efeito na latência intra-core.

    As medições intra-CCX quantificam a latência entre threads no mesmo CCX que não residem no mesmo núcleo. Aumentar a taxa de clock produz maiores reduções de latência de ~6ns.

    O Cross-CCX quantifica a latência entre os threads localizados em dois CCXs separados e vemos uma redução semelhante graças ao overclocking. Notavelmente, o Ryzen 7 1800X apresenta latência Cross-CCX muito menor do que o Threadripper padrão e a maioria das configurações com overclock. Isso provavelmente se deve a alguma forma de provisionamento, possivelmente nos algoritmos de agendamento, para a camada extra de malha do Threadripper.

    Como podemos ver, a CPU Threadripper com overclock no modo Game, que não possui um link fabric ativo para o outro die, tem a menor latência Cross-CCX.

    Die-To-Die mede a comunicação entre as duas matrizes separadas do Zeppelin. O modo de jogo desativa efetivamente a segunda matriz Zeppelin em um nível de sistema operacional, eliminando totalmente a latência die-to-die. O uncore do segundo die ainda está ativo, o que é necessário para garantir que seus controladores de E/S e memória ainda estejam acessíveis.

    O modo Creator sofre a pior latência die-to-die, mas o ajuste reduz consideravelmente. As duas opções SMT (ligado e desligado) também recebem grandes reduções de nossos esforços de overclock.

    O utilitário também mede a largura de banda da malha, o que é crítico para o desempenho, pois as buscas de dados da memória remota também fluem pela malha. Como tal, a AMD superprovisiona a malha e o subsistema de memória para otimizar a arquitetura de memória distribuída.

    Tanto o modo Creator quanto as configurações Local/SMT oferecem a melhor largura de banda de malha, aproveitando grandes impulsos do overclock. O Ryzen 7 1800X fica no meio do gráfico ao lado do modo de jogo do Threadripper, o que é lógico, considerando que ambos são efetivamente processadores 8C/16T. Desabilitar o SMT, mas deixar ambos os dies ativos (Local/SMT desligado) produz um perfil exclusivo que oferece maior desempenho com acessos maiores e menor desempenho com acessos menores.

    Cache e latência de memória

    Testamos com memória DDR4-2666 nas configurações de estoque e aumentamos para DDR4-3200 para nossas configurações com overclock.

    O Translation Look Aside Buffer é um cache que reduz os tempos de acesso armazenando endereços de memória acessados ​​recentemente. Como todos os caches, o TLB tem uma capacidade limitada, portanto, solicitações de endereço que chegam ao TLB são “acertos”, enquanto solicitações que chegam fora do cache são “erradas”. É claro que os acertos são mais desejáveis, e o desempenho sólido do pré-buscador gera taxas de acerto mais altas.

    Os padrões de acesso sequencial são quase inteiramente pré-buscados no TLB, portanto, o teste sequencial é uma boa medida do desempenho do pré-buscador. O teste aleatório na página mede acessos aleatórios dentro da mesma página de memória. Ele também mede o desempenho do TLB e representa o desempenho aleatório do melhor caso (essa é a medida que os fornecedores usam para as folhas de especificações oficiais). O teste aleatório completo apresenta uma mistura de acertos e erros de TLB, com uma forte probabilidade de erros, por isso quantifica a latência do pior caso.

    Independentemente do padrão de acesso à memória, os menores blocos de dados cabem no cache L1. E à medida que o tamanho dos dados aumenta, ele preenche os caches maiores.

    L1L2L3Memória Principal

    Alcance
    2KB – 32KB
    32 KB – 512 KB
    512 KB – 8 MB
    8MB – 1GB

    O Threadripper 1950X apresenta melhor latência L2 e L3 do que o Ryzen 7 1800X com todos os tipos de padrão de acesso. Além disso, notamos reduções notáveis ​​de latência via overclocking para os caches L1, L2 e L3 do Threadripper.

    Isso muda à medida que a carga de trabalho flui para a memória principal. O modo Creator do Threadripper (a configuração padrão) tem a latência mais alta com todos os padrões de acesso. Este é um resultado direto dos acessos à memória que chegam à memória remota. Nossas medições na página refletem a especificação de 86,9 ns da AMD, mas o acesso aleatório total no pior caso excede 120 ns. O overclock do processador e da memória reduz a latência, mas o modo Creator ainda não supera nenhuma das configurações com as quais o comparamos. 

    Mudar para o modo NUMA com a configuração Local melhora drasticamente o acesso à memória principal para as outras configurações. Medimos ~60ns para acesso próximo à memória na página, novamente de acordo com as especificações da AMD, enquanto a latência do pior caso pesa 100ns.

    Largura de banda do cache

    Cada CCX tem seus próprios caches, portanto, uma CPU Threadripper apresenta quatro clusters distintos de memória L1, L2 e L3. Nosso benchmark de largura de banda ilustra o desempenho agregado desses níveis. 

    Durante o teste de thread único, o Ryzen 7 1800X demonstra uma taxa de transferência menor do que os processadores Threadripper. As outras configurações se agrupam em grupos familiares de estoque e overclock.

    Os testes multi-thread são mais interessantes; vemos Ryzen 7 1800X e os dois modos Threadripper Game caem na parte inferior do gráfico. Como o modo Jogo desativa os núcleos em um dado, ele efetivamente tira o cache correspondente de operação.

    0 0 votes
    Rating post
    Subscribe
    Notify of
    guest
    0 comments
    Inline Feedbacks
    View all comments
    0
    Would love your thoughts, please comment.x