병렬 메모리 할당이란 무엇입니까?

병렬 메모리 할당이란 무엇입니까?

병렬 메모리 할당이 무엇인지 알고 싶습니다.

"메모리 할당"이 무엇인지는 이해하지만 "병렬성"이라는 용어는 이해하지 못합니다. 아마도 다중 프로세서와 관련이 있을까요?

또한 C에서 병렬 메모리 할당을 구현해야 합니다. 추천하는 좋은 웹사이트/페이지가 있나요?

답변1

병렬 메모리 할당은 다중 CPU 아키텍처에서 실행되는 다중 스레드 애플리케이션의 메모리 할당 문제를 다룹니다. 단일 CPU 아키텍처와 비교하여 메모리 공유 충돌(잠금, 캐시 무효화 등)을 고려해야 합니다. 예를 들어, 동일한 캐시 라인에 계속해서 액세스하는 서로 다른 CPU에서 실행되는 두 스레드는 로컬 캐시 메모리가 항상 다른 CPU에 의해 무효화되기 때문에 CPU가 로컬 캐시 메모리의 이점을 누릴 수 없기 때문에 심각한 성능 저하를 경험할 수 있습니다.

자신만의 루틴을 작성하기 전에 hoard와 같은 내장 라이브러리를 사용하는 것이 좋습니다.http://www.hoard.org/), 이러한 루틴의 견고성을 테스트하는 것은 발생할 수 있는 많은 경쟁 조건으로 인해 다소 복잡한 작업이기 때문입니다.

편집하다:

다음 문서를 볼 수 있습니다.http://people.cs.umass.edu/~emery/pubs/berger-asplos2000.pdf- 이것도 호드 구현에 관한 내용이지만, 관련된 많은 문제를 심도 있게 설명하고 있기 때문에 읽어 볼 가치가 있습니다.

관련 정보