14 pontos por xguru 2021-01-08 | 5 comentários | Compartilhar no WhatsApp

"O single-core do M1 processa memória em paralelo em mais de 28 estágios"

  • O acesso à memória é mais custoso do que operações de cálculo

  • Em teoria, um modelo ingênuo em que, ao acessar x, valores próximos como x+1 também podem ser lidos praticamente de graça pode até parecer razoável, mas ele não permite prever o desempenho

  • Em que situações essa previsão de desempenho falha? Os núcleos de CPU tentam acessar vários lugares da memória ao mesmo tempo

  • Se houver 7 acessos à memória simultâneos, será mais lento do que acessar apenas 1, mas será 7 vezes mais lento?

  • Por meio de um programa de benchmark, foi testado quantos acessos simultâneos (lane, rotinas independentes de rastreamento de ponteiros) são possíveis

→ A partir do ponto em que o desempenho do acesso simultâneo começa a cair, faz-se uma estimativa de quantos lanes existem

  • Como o desempenho de um único núcleo do Apple M1 começa a cair quando passa de 28 lanes, foi levantada a hipótese de que esse número seja 28

→ Portanto, por causa desse alto nível de paralelismo, a previsão de custo daquele modelo ingênuo falha

5 comentários

 
ffdd270 2021-01-09

Toda vez que surge uma conversa sobre CPU

https://ridibooks.com/books/443000037

este livro tem ajudado bastante. Para quem quiser acompanhar desde o começo, acho que, se lerem este livro antes, vai ficar um pouco mais fácil de entender.

 
ffdd270 2021-01-09

Para evitar que isso pareça publicidade da Ridibooks (...), o nome do livro é: A história dos CPUs multicore que os programadores não conheciam. E por que justamente a Ridibooks? Porque o livro físico está esgotado, e no caso do e-book a Ridibooks era a única loja restante, então acabei postando por lá mesmo.

 
galadbran 2021-01-09

Então o Kim Min-jang também escreveu um livro desses... já faz 10 anos, como o tempo passa ^^;

 
godrm 2021-01-08

Essa é realmente uma parte difícil. É complicado generalizar. Mas, na situação atual, em que as arquiteturas de CPU e o processamento paralelo se tornaram mais comuns, parece que isso pode ser bastante eficaz. Dá para ver que também estão sendo feitos muitos experimentos para melhorar a estrutura de hardware.

 
xguru 2021-01-08

Como foi escrito por um professor de ciência da computação, parece que ele registrou apenas os fatos que ele próprio identificou com precisão..

Juntando os comentários desse texto com os comentários no HN, https://news.ycombinator.com/item?id=25659615

basicamente, dá para entender que o M1 mostra um desempenho excelente mesmo ao fazer acesso aleatório a vários lugares, graças a mais de 28 vias de paralelismo e ao tamanho do cache L1, entre outros fatores.