OpenMP 프로그래밍에서 공유 변수에 대한 데이터 쓰기는 데이터 경합 조건을 방지하기 위해 특정 의식이 필요하다는 것을 알고 있습니다. 그러나 가변적 인 시나리오에서 완전히 읽음으로써 일어날 수있는 경주 조건이 있습니까?데이터 읽기 양식 읽기 openMP 공유 메모리
1
A
답변
0
메모리 위치를 동시에 읽는 것이 안전하지만 일반적으로 데이터 구조에서 동시 읽기는 일부 내부 상태를 읽으면 경주로 이어질 수 있습니다. 두 가지 예는 스플레이 트리 (읽기에 대해 자체 조정)와 읽기에 대한 내부 통계를 유지하는 데이터 구조입니다.
0
순전히 읽기 시나리오에서는 경쟁 조건이 불가능합니다. 레이스 조건은 읽기가 결정될 때 (읽은 이전 값이거나 새로 작성한 값일 수 있기 때문에) 쓰기가있을 때만 읽기에서 발생합니다.
관련 문제
- 1. iframe에서 양식 데이터 읽기
- 2. ActionFilterAttribute에서 양식 데이터 읽기
- 3. 공유 메모리 C++ 읽기 및 쓰기 동기화
- 4. OpenMP 공유 데이터
- 5. QThread 및 읽기 메모리
- 6. 파이썬에서 메모리 읽기/쓰기
- 7. WCF 서비스에서 데이터 읽기 읽기
- 8. 읽기 공유 지점
- 9. 공유 읽기 잠금 적용
- 10. C++ 공유 메모리에서 읽기
- 11. C 동적 메모리 할당 - 파일에서 데이터 읽기
- 12. 읽기 데이터
- 13. 읽기 데이터
- 14. C++ CGI 스크립트, 양식 데이터 읽기
- 15. Android에서 양식 데이터 읽기 및 표시
- 16. GIF에서 데이터 읽기
- 17. CSV 읽기 - 메모리 문제
- 18. 개체의 메모리 주소 읽기
- 19. 배열로 메모리 블록 읽기?
- 20. 메모리 스트림 읽기
- 21. 메모리 스트림에서 문자열 읽기
- 22. 읽기 전용 QT 양식
- 23. 임의의 메모리 위치 읽기? 가능한?
- 24. 배열 데이터 맵 읽기
- 25. 델파이 그리드에서 데이터 읽기
- 26. 공유 읽기 전용 메모리가있는 C++ 스레드 풀
- 27. 승인되지 않은 공유 메모리 읽기 감지 및 제어
- 28. iOS에서 Windows 공유 폴더 읽기
- 29. 공유 읽기 전용 lazyloaded 있습니까?
- 30. 읽기 전용 메모리 및 힙 메모리
감사합니다. 그래서 만약 당신이 쓰레드간에 엄청난 C++ 벡터 컨테이너 (몇 GIG)를 공유한다면, 그것들을 읽는 것이 안전해야한다는 것을 의미합니까? 프로그램의 효율성은 어떻습니까? – Sourena
여기서 병목 현상은 RAM에서 CPU 캐시로의 메모리 전송 또는 하드 드라이브에서 RAM으로의 CPU 캐시로의 메모리 전송입니다. 데이터로 무엇을하려하고 있습니까? 그냥 읽으십니까? –
이것은 뇌 MRI 이미지의 분석을 포함하며 RAM> 12Gig가 필수임을 압니다. 예 파이프 라인의 일부는 std : vector 주위의 래퍼 인 컨테이너를 읽는 것을 포함합니다. 또한 파이프 라인에서 다른 벡터를 조작해야하지만 (R/W acess) 다른 컨테이너입니다. 이것을위한 캐시 친화적 인 접근 방식은 무엇입니까? – Sourena