Download - ProcessamentoParalelo.doc (29 kB)
Universidade Federal da Paraíba
Centro de Informática
Programa Pós-Graduação em Informática
Disciplina: Organização e Arquitetura de Computadores.
Resenha: Unidade 5.
Aluna: Priscilla Kelly M. Vieira.
Processamento Paralelo Tipo NUMA
Processamento paralelo é caracterizado pela utilização de múltiplas unidades de processamento com o intuito de aumentar o desempenho da execução e decodificação de instruções. Focando neste objetivo, muitos são as arquiteturas propostas e implementadas. Todas elas possuem suas vantagens e desvantagens, que vão desde eficiência até consistência dos dados.
Dentre as arquiteturas que propõem o processamento paralelo encontra-se a NUMA (Acesso Não Uniforme à Memória). Em síntese, vários processadores acessam suas memórias individuais (de forma direta), tal como outras memórias (de forma indireta), por meio dos controladores de memória, como definido em Memory System Performance in a NUMA Multicore Multiprocessor, por Majo e Gross (SYSTOR’11). Ainda dentro da classificação NUMA, existe o NC-NUMA, sem a existência de memória cache, portanto sem inconsistência de dados, e o CC-NUMA, com a utilização da memória cache, como indicado em Operating System Support for Improving Data Locality on CC-NUMA Compute Server, por Verghese entre outros autores (ASPLOS’96).
Um dos maiores desafios no uso da arquitetura NUMA é o gerenciamento da memória compartilhada. Isto exige que os programadores detenham o conhecimento profundo de como suas aplicações se comportam. Pensando nisto, Tao Mu, entre outros autores, propuseram em Interactive Locality Optimization on NUMA Architectures (ACM’03) uma infra-estrutura para o monitoramento de desempenho, tal como um conjunto de ferramentas que auxiliam o entendimento do funcionamento de aplicações paralelas quanto a tarefa de acesso à memória. O principal objetivo deste conjunto de ferramentas é atenuar o número de acessos remotos à memória. Experimentos realizados mostraram um aumento de 90% no desempenho das aplicações.
Em Memory Management in NUMA Multicore Systems: Trapped between Cache Contention and Interconnect Overhead, por Majo e Gross (ISMM’10), também é avaliado o gerenciamento de memória na arquitetura NUMA. Neste trabalho é discutida a importância do estudo de localidade dos dados. Nele concluiu-se que nem sempre é possível obter o melhor desempenho apenas com a otimização da localização dos dados, pois a contenção de recursos pode degradar o desempenho. Estes estudos foram baseados no processador com arquitetura Nehalem da Intel.
É evidente que o processamento paralelo pode aumenta a eficiência na execução de programas, no entanto deve-se observar se estes programas podem ser executados de forma paralela e se a maior complexidade inserida no código, para garantir o paralelismo, é compensada pelo crescimento da velocidade de execução.