LusoRobótica - Robótica em Português

Discussão Geral => Off-topic => Tópico iniciado por: blabla em 15 de Julho de 2021, 12:17

Título: A new Golden Age for Computer Architecture - David Patterson
Enviado por: blabla em 15 de Julho de 2021, 12:17
Bom dia a todos,

Gostaria de partilhar uma palestra do Prof. David Patterson que recebeu o prémio Turing pela sua incrível carreira de contribuições para a ciência da computação. Nesta palestra ele faz uma viagem pela história do inicio da computação até aos dias de hoje, do ponto de vista das arquiteturas. Depois fala do presente, dos desafios atuais, do estado da lei de Moore, do estado em termos de performance de desenvolvimento de programas com linguagens de alto nível muito em voga como Python, de como estamos a transitar para novos paradigmas e para DSA, Domain Specific Architecture and Languages. É uma viagem e tanto. O professor termina com um olhar muito otimista pois as coisas estão a mexer verticalmente com muita vida em todas as frentes e disso só poderá vir muita e interessante inovação com impacto na humanidade.


David Patterson - A New Golden Age for Computer Architecture: History, Challenges and Opportunities

https://www.youtube.com/watch?v=kFT54hO1X8M (https://www.youtube.com/watch?v=kFT54hO1X8M)


Gostaria só de também chamar a atenção para um slide que mostra que em CPU’s normais em que a lei de Moore já não se aplica e em que segundo o professor a performance está a duplicar num período de 20 anos e não de 2 em 2 anos. Existe uma forma muito simples de aumentar a performance, passando os desenvolvimentos ou os hotspots de linguagens pouco eficientes como Python  para linguagens muito mais eficientes como C, C++ ou Rust. Onde para além da sua maior performance directa para o mesmo código, se consegue tirar partido de outras técnicas mais avançadas de otimização. Com isso ganhar um impressionante boost na performance exemplo: Multiplicação de matrizes num processador com 18 cores: 63.000x vezes de boost na performance. Este boost de performance foi conseguido com a passagem de Python para C 50x, com processamento paralelo 7X, com otimização da hierarquia da memoria (ter em atenção a localidade e os tamanhos das caches) 20x e por fim com uso de instruções SIMD (Single Instruction Multiple Data vetoriais) de 512 Bits mais 9x, tudo multiplicado o boost deu 63.000x. Ora isto é num CPU x86 com 18 cores atualmente já existem CPU’s x86 com 64 cores, por isso o speed up ainda pode ser maior.

Slide da palestra em anexo

Este é só um dos muitos exemplos. Já claro sem falar da importância de ter em atenção e o cuidado de desenhar um bom algoritmo serial escalável independente da linguagem que é onde muitas vezes se consegue ainda o maior speed up de performance e onde deve estar o nosso esforço inicial antes de aproveitar as otimizações do slide citado em cima.

Obrigado,

Cumprimentos,
João