Respostas:
Opterons e Nelahem (55xx e posteriores) Xeons têm uma arquitetura NUMA - cada soquete possui seu próprio barramento de memória e há um link entre os soquetes. Esse link é chamado Hypertransport nos sistemas Opteron e Quickpath on Xeons. O G5 é anterior a Nelahem e ainda usa o Front Side Bus mais antigo, que não é uma arquitetura NUMA.
Opterons e 35xx / 55xx ou posterior Xeons podem usar um modo de endereçamento NUMA puro, onde a memória de cada soquete reside em uma seção contígua do espaço de endereço físico. Se você deseja executar um aplicativo que reconhece NUMA (por exemplo, suporte à afinidade do processador), pode configurar o sistema para executar neste modo.
Os sistemas desse tipo também têm um modo legado, onde páginas individuais de 4K alternam entre soquetes, para que o acesso à memória seja finamente misturado entre os soquetes. Isso tem uma leve sobrecarga de desempenho, pois metade de todos os acessos à memória precisa atravessar o barramento Hypertransport para o outro soquete (Quickpath no caso do Xeons). No entanto, a maioria dos acessos será armazenada em cache, portanto a sobrecarga de desempenho é relativamente pequena.
Esse modo permite que os sistemas executem aplicativos não compatíveis com NUMA com eficiência e geralmente é o modo padrão em que o sistema é inicializado. Normalmente, você pode configurá-lo no BIOS.
Seu G5 não será executado no modo NUMA porque possui uma arquitetura de barramento frontal. O FSB é um barramento único compartilhado pela memória e por todos os soquetes do processador, portanto, possui características uniformes de acesso à memória, ou seja, não NUMA. Não conheço nenhum aplicativo de wintel ou lintel que dependa de uma arquitetura NUMA; as chances são de que o aplicativo não precise do NUMA, mas o suportará se presente. Provavelmente, você ainda pode executar o aplicativo no seu sistema G5 mais antigo. Se isso é relevante depende do aplicativo e do que você deseja alcançar.
Suporte NUMA em aplicativos
Alguns aplicativos (SQL Server é um exemplo) podem obter benefícios significativos de desempenho, otimizando a memória, a utilização de E / S e a programação, de modo a minimizar as penalidades por acesso não local. A implementação do suporte NUMA em um aplicativo requer que os recursos de suporte estejam disponíveis no sistema operacional, como:
Afinidade do agendador: um encadeamento pode ser colocado em um pool com preferência para agendar em um ou um grupo de processadores. Observe que o NUMA pode ter mais de um processador em um único barramento de memória - no caso de um Opteron ou Xeon com vários núcleos, os núcleos em um único molde compartilham o mesmo barramento. Isso permite que o encadeamento solicite memória local ou use conjuntos de memória local no conjunto da CPU. Além disso, quando um encadeamento é mantido em uma CPU local, ele minimiza a interrupção do cache conforme o agendamento do encadeamento - o conjunto de trabalho é apenas o conjunto de encadeamentos que utilizam esse núcleo específico.
Afinidade de memória: um encadeamento pode solicitar memória e especificar que deve ou deve estar disponível da memória local para um soquete. Manter o uso da memória e da CPU no mesmo barramento minimiza a sobrecarga do acesso à memória não local. A sobrecarga não é tão grande nos sistemas NUMA modernos, mas o acesso não local foi muito mais lento nos sistemas mais antigos, como equipamentos Sequent antigos.
Afinidade de E / S: Os barramentos periféricos podem ser vinculados a uma CPU local, portanto, o manuseio de E / S pode ser agendado em processadores próximos à E / S. A maioria dos sistemas NUMA possui vários barramentos de E / S; portanto, agendar manipuladores de interrupção e DMA na memória local oferece alguma vantagem no desempenho de E / S.