O que é multiprocessamento simétrico?
O multiprocessamento simétrico (SMP) é um tipo de arquitetura de computador na qual duas ou mais unidades de processamento central (CPUs) compartilham um link comum para a mesma memória. Foi originalmente desenvolvido na década de 1960 e tem sido utilizado em várias configurações desde então. Qualquer processador em um sistema SMP pode acessar e executar o software a partir de qualquer parte da memória compartilhada. A popularidade dessa configuração flutuou ao longo do ano, à medida que a tecnologia evoluiu e os mercados mudaram, mas ainda está entre a forma mais comum de tecnologia de multiprocessador.
O SMP surgiu no início dos anos 60 como uma maneira de conectar vários processadores por uma conexão de alta velocidade e permitir que eles tivessem acesso ao mesmo conjunto de módulos de memória. Como a memória é compartilhada entre os processadores, o hardware SMP pode ser mais barato que outras tecnologias que podem dedicar memória a cada processador. Muitas variações dessa configuração foram usadas, algumas usando uma barra simples para conectar dois processadores, enquanto outras empregavam interconexões mais sofisticadas entre 32 processadores. Qualquer sistema de multiprocessamento simétrico pode ser retido pela velocidade e capacidade dessa interconexão; um sistema com 32 processadores não será necessariamente 32 vezes mais rápido porque o vínculo comum entre esses processadores e a memória do sistema pode ficar congestionado.
Uma das principais vantagens do multiprocessamento simétrico em relação a outras técnicas é que um sistema SMP trata mais ou menos todos os seus processadores igualmente, dando a cada um a mesma qualidade de acesso a outro hardware de computador. Isso significa que qualquer processador no sistema pode ler e executar instruções de programas de software, independentemente de onde esses programas residam na memória do computador. Muitos programas de software agora são divididos em pequenos pedaços conhecidos como threads; quando esses programas são executados em um sistema SMP, cada processador pode executar um encadeamento do programa, aumentando ainda mais o desempenho geral. O software no nível do usuário não precisa ser modificado para ser executado em um sistema que suporte multiprocessamento simétrico, mas o sistema operacional subjacente deve suportar a tecnologia.
A popularidade do multiprocessamento simétrico diminuiu e aumentou ao longo dos anos, à medida que outras técnicas foram desenvolvidas e novas arquiteturas foram exploradas. A publicidade sobre o possível impacto da tecnologia na computação surgiu no início dos anos 90; várias empresas, principalmente a Sequent Computer Systems, começaram a se especializar na construção de sistemas SMP de ponta. O Sequent, que foi adquirido pela IBM em 1999, foi elogiado por seus projetos, mas nunca foi capaz de competir efetivamente com os gigantes da indústria de computadores. Técnicas mais recentes de multiprocessamento, como o acesso não uniforme à memória (NUMA), suplantaram parcialmente o SMP em sistemas high-end.
Os fabricantes de computadores experimentaram o multiprocessamento simétrico em hardware no nível do consumidor ao longo dos anos; fora do hardware entusiasta caro, no entanto, a maioria dos computadores pessoais não possui a tecnologia. Novas técnicas para tornar os sistemas de CPU única mais eficientes, como multithreading simultâneo ou "hyperthreading", juntamente com o aumento da tecnologia multicore aumentaram o desempenho dos computadores sem o custo adicional do SMP. No entanto, é possível combinar essas tecnologias, e os computadores desktop mais poderosos podem incluir vários processadores multicore conectados por SMP, criando assim um sistema com grandes quantidades de energia computacional.