Key points are not available for this paper at this time.
Para projetar multiprocessadores em larga escala eficazes, os projetistas precisam entender as características das aplicações que utilizarão as máquinas. As características das aplicações de particular interesse incluem a quantidade de comunicação em relação à computação, a estrutura da comunicação e os requisitos de cache local e memória, bem como como essas características escalam com problemas e máquinas maiores. Uma classe importante de aplicações é baseada em métodos N-corpos hierárquicos, que são usados para resolver uma ampla gama de problemas científicos e de engenharia de forma eficiente. Características importantes desses métodos incluem a natureza não uniforme e dinamicamente mutável dos domínios aos quais são aplicados e seu uso de comunicação de longo alcance e irregular. Este artigo examina as principais implicações arquitetônicas de aplicações representativas que usam os dois métodos N-corpos hierárquicos dominantes: o Método Barnes-Hut e o Método de Multipolos Rápidos. Primeiro, mostramos que explorar a localidade temporal nos acessos a dados comunicados é crítico para obter um bom desempenho nessas aplicações e, em seguida, argumentamos que caches coerentes em máquinas de espaço de endereço compartilhado exploram essa localidade de forma automática e muito eficaz. Em seguida, examinamos as implicações de escalar as aplicações para rodar em máquinas maiores. Usamos métodos de escalonamento que refletem as preocupações do cientista da aplicação e descobrimos que isso leva a conclusões diferentes sobre como o tráfego de comunicação e o uso de cache local e memória escalam em comparação ao escalonamento baseado apenas no tamanho do conjunto de dados. Em particular, mostramos que, sob a forma mais realista de escalonamento, tanto a razão de comunicação para computação quanto o tamanho do conjunto de trabalho (e, portanto, o tamanho ideal do cache por processador) crescem lentamente à medida que problemas maiores são executados em máquinas maiores. Por fim, examinamos os efeitos do uso das duas abstrações dominantes para comunicação interprocessador: um espaço de endereço compartilhado e passagem de mensagem explícita entre espaços de endereço privados. Mostramos que a falta de um espaço de endereço compartilhado eficientemente suportado aumentará substancialmente a complexidade de programação e os custos de desempenho para essas aplicações.
Singh et al. (Mon,) estudaram essa questão.