O que é alocação de memória paralela?

2

Estou tentando entender o que é a alocação de memória paralela.

Acho que entendo o que é 'alocação de memória', mas não entendo o termo 'paralelo'. Algo a ver com vários processadores, talvez?

Também tenho que implementar a alocação de memória paralela em C. Alguma recomendação em um bom site / página para olhar?

    
por J L 13.04.2012 / 05:46

1 resposta

2

Alocação de memória paralela lida com os problemas de alocação de memória em um aplicativo multi-thread executado em uma arquitetura multi-CPU. Em contraste com as arquiteturas de CPU única, é preciso considerar os conflitos de compartilhamento de memória (bloqueios, invalidações de cache e outros). Por exemplo, dois threads em execução em CPUs diferentes acessando a mesma linha de cache novamente podem sofrer uma dramática degradação de desempenho, porque a CPU não pode se beneficiar de sua memória cache local, já que é sempre invalidada por outra CPU.

Antes de aprofundar muito escrevendo rotinas próprias, eu recomendaria o uso de bibliotecas drop-in como o tesouro (veja link ) é uma tarefa bastante sofisticada testar essas rotinas quanto à robustez, devido às muitas condições de corrida que podem ocorrer.

EDITAR:

Você pode conferir o seguinte documento: link - É também sobre o tesouro implementação, mas também é digno de leitura, já que explica em profundidade muitas questões relacionadas.

    
por 13.04.2012 / 09:55

Tags