반응형 Out Of Order1 [04주차] 메모리 일관성 - CPU 주의점 : 저번 시간 상호 배제에 이어 메모리 일관성 문제도 고려해야 함 : 지금까지 프로그램은 공유 메모리에 대한 접근(읽기/쓰기)을 atomic하다고 가정함 → 컴파일러가 제대로 기계어로 번역했다면 → atomic : 메모리의 접근이 순간적으로 행해지며, 서로 겹치지 않고 실행 결과 순서가 정해지면, 모든 쓰레드에서 같은 순서로 보임 → 그러나 PC에서의 메모리 접근은 atomic이 아님 (메모리에 쓴 순서대로 메모리의 내용이 관측되지 않음) : 0번 쓰레드도 false를 읽고 1번도 false를 읽음 : 저번 시간에 했던 피터슨 알고리즘에서 std::atomic_thread_fence(std::memory_order_seq_cst)를 제외한 경우 아래의 결과처럼.. 2024. 4. 18. 이전 1 다음 728x90 반응형