Alguém pode me dar o tempo aproximado (em nanossegundos) para acessar os caches L1, L2 e L3, bem como a memória principal nos processadores Intel i7?
Embora isso não seja especificamente uma questão de programação, conhecer esses tipos de detalhes de velocidade é necessário para alguns desafios de programação de baixa latência.
memory
latency
cpu-cache
low-latency
Ted Graham
fonte
fonte
Respostas:
Aqui está um Guia de Análise de Desempenho para os processadores i7 e Xeon. Devo enfatizar, isso tem o que você precisa e muito mais (por exemplo, consulte a página 22 para alguns horários e ciclos, por exemplo).
Além disso, esta página possui alguns detalhes sobre ciclos de relógio etc. O segundo link exibia os seguintes números:
EDIT2
:O mais importante é o aviso abaixo da tabela citada, dizendo:
EDIT: Devo destacar que, além das informações de tempo / ciclo, o documento intel acima aborda detalhes muito mais (extremamente) úteis dos processadores i7 e Xeon (do ponto de vista do desempenho).
fonte
Números que todos deveriam saber
De: Originalmente por Peter Norvig:
- http://norvig.com/21-days.html#answers
- http://surana.wordpress.com/2009/01/01/numbers-everyone-should-know/ ,
- http://sites.google.com/site/io/building-scalable-web-applications-with-google-app-engine
fonte
Custo para acessar várias memórias em uma página bonita
Resumo
Valores que diminuíram, mas estão estabilizados desde 2005
Ainda algumas melhorias, previsão para 2020
Veja também outras fontes
Antigo, mas ainda uma excelente explicação profunda sobre a interação de hardware e software de memória.
Veja também
Para um entendimento mais aprofundado, recomendo a excelente apresentação das arquiteturas de cache modernas (junho de 2014) de Gerhard Wellein , Hannes Hofmann e Dietmar Fey na Universidade Erlangen-Nürnberg .
As pessoas que falam francês podem apreciar um artigo da SpaceFox comparando um processador com um desenvolvedor, aguardando as informações necessárias para continuar funcionando.
fonte
[A]
post abaixo.Apenas para uma revisão de 2020 das previsões para 2025:
Nos últimos 44 anos da tecnologia de circuitos integrados, os processadores clássicos (não quânticos) evoluíram literal e fisicamente "Per Aspera ad Astra" . A última década evidenciou que o processo clássico chegou perto de alguns obstáculos, que não têm um caminho físico viável à frente.
Number of logical cores
pode e pode crescer, mas não mais do que dificilmente, se não impossível, contornar o teto baseado na física já atingido pode e pode crescer, ainda menos do que (potência, ruído, "relógio") pode crescer, ainda que problemas com a distribuição de energia e a dissipação de calor o aumento pode crescer, tendo benefícios diretos com grandes pegadas de cache e benefícios de E / S de memória mais rápidos e amplos e benefícios indiretos da troca de contexto forçada pelo sistema com menos frequência, pois podemos ter mais núcleos para dividir outros threads / processos entreO(n^2~3)
Frequency [MHz]
Transistor Count
O(n^2~3)
Power [W]
Single Thread Perf
(Os créditos vão para Leonardo Suriano e Karl Rupp)
Apenas para uma revisão de 2015 das previsões para 2020:
Apenas para comparar o cenário de latência de CPU e GPU:
Não é uma tarefa fácil comparar até mesmo as mais simples linhas de CPU / cache / DRAM (mesmo em um modelo uniforme de acesso à memória), em que a velocidade da DRAM é um fator na determinação da latência e da latência carregada (sistema saturado), onde o último governa e é algo que os aplicativos corporativos experimentarão mais do que um sistema ocioso e totalmente descarregado.
Os mecanismos de GPU receberam muito marketing técnico, enquanto profundas dependências internas são fundamentais para entender os pontos fortes reais e também os pontos fracos reais que essas arquiteturas experimentam na prática (geralmente muito diferentes das expectativas assobiadas pelo marketing agressivo).
Portanto, entender as internalidades é muito mais importante do que em outros campos, onde as arquiteturas são publicadas e vários benchmarks disponíveis gratuitamente. Muito obrigado aos microtestadores de GPU, que gastaram seu tempo e criatividade para revelar a verdade dos verdadeiros esquemas de trabalho dentro da abordagem de caixa preta dos dispositivos de GPU testados.
Peço desculpas por uma "imagem maior", mas o excesso de latência também tem limites cardinais impostos pelas capacidades smREG / L1 / L2 e taxas de acerto / erro do chip.
A linha inferior?
Qualquer projeto motivado por baixa latência precisa fazer engenharia reversa da "hidráulica de E / S" (como 0 1-XFERs são incompressíveis por natureza) e as latências resultantes governam o envelope de desempenho para qualquer solução de GPGPU, seja intensivamente computacional ( leia-se : onde os custos de processamento estão perdoando um pouco mais os XFERs de baixa latência ...) ou não ( leia-se : (onde pode ser a surpresa de alguém) Os CPU-s são mais rápidos no processamento de ponta a ponta do que os tecidos GPU [citações disponíveis] )
fonte
Veja este gráfico de "escadaria", ilustrando perfeitamente diferentes tempos de acesso (em termos de tiques do relógio). Observe que a CPU vermelha possui uma "etapa" adicional, provavelmente porque possui L4 (enquanto outras não).
Retirado deste artigo da Extremetech.
Na ciência da computação, isso é chamado de "complexidade de E / S".
fonte