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

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

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

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

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

Responder1

A alocação de memória paralela trata dos problemas de alocação de memória em um aplicativo multithread executado em uma arquitetura multi-CPU. Em contraste com arquiteturas de CPU única, é preciso considerar 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 repetidamente podem sofrer uma degradação drástica de desempenho porque a CPU não pode se beneficiar de sua memória cache local, pois ela é sempre invalidada por outra CPU.

Antes de ir muito fundo escrevendo rotinas próprias, eu recomendo usar bibliotecas drop-in como hoard (vejahttp://www.hoard.org/), uma vez que é uma tarefa bastante sofisticada testar a robustez de tais rotinas devido às muitas condições de corrida que podem ocorrer.

EDITAR:

Você pode verificar o seguinte documento:http://people.cs.umass.edu/~emery/pubs/berger-asplos2000.pdf- É também sobre a implementação do tesouro, mas também é digno de leitura, pois explica em profundidade muitas questões relacionadas.

informação relacionada