캐시 일관성 (Cache Coherency)
Jan 25, 2026
핵심 개념
섹션 제목: “핵심 개념”캐시 일관성(Cache Coherency)은 멀티프로세서 환경에서 한 캐시의 값이 업데이트될 때 해당 값이 존재하는 다른 모든 캐시에 즉시 반영되도록 보장하는 것이다.
멀티프로세서 시스템에서 각 CPU가 로컬 캐시를 가지므로, 동일한 데이터의 복사본이 여러 캐시에 동시에 존재할 수 있다.
왜 필요한가
섹션 제목: “왜 필요한가”멀티프로세서 환경에서:
- 각 CPU가 내부 레지스터 외에도 로컬 캐시를 포함
- 값 A의 복사본이 여러 캐시에 동시에 존재할 수 있음
- 다양한 CPU들이 모두 병렬로 실행될 수 있음
문제: 한 캐시에서 A 값이 업데이트될 때, A가 존재하는 다른 모든 캐시에도 반영되어야 함
환경별 캐시 일관성 문제
섹션 제목: “환경별 캐시 일관성 문제”| 환경 | 특징 | 복잡도 |
|---|---|---|
| 단일 프로세스 | 한 번에 하나의 프로세스만 실행, 항상 계층구조 최상위 복사본에 접근 | 낮음 |
| 멀티태스킹 | CPU가 다양한 프로세스 간 전환, 최신 값 접근 보장 필요 | 중간 |
| 분산 환경 | 같은 파일의 여러 복제본(replicas)이 다른 컴퓨터에 존재 | 높음 |
해결 방식
섹션 제목: “해결 방식”캐시 일관성 문제는 보통 하드웨어 문제로 취급된다:
- 운영체제 레벨 아래에서 처리
- 하드웨어가 캐시 간 데이터 일관성을 유지하도록 관리
- MESI 프로토콜 등의 캐시 일관성 프로토콜 사용
분산 환경에서의 일관성
섹션 제목: “분산 환경에서의 일관성”분산 시스템에서는 상황이 더욱 복잡해진다:
- 같은 파일의 여러 복제본이 다른 컴퓨터에 보관될 수 있음
- 다양한 복제본이 동시에 접근 및 업데이트될 수 있음
- 일부 분산 시스템은 한 곳에서 복제본이 업데이트되면 다른 모든 복제본이 가능한 빨리 최신화되도록 보장
관련 개념
섹션 제목: “관련 개념”- 캐시 (Cache) - 캐시 일관성 문제가 발생하는 대상인 고속 임시 저장 메커니즘
- Memory-Mapped I/O - 장치 레지스터 매핑 시 캐시 비활성화가 필요한 I/O 방식
- 저장장치 계층구조 - 캐시가 위치하는 계층과 데이터 이동 경로
- DMA (Direct Memory Access) - DMA 전송 시 캐시와 메모리 간 일관성 문제가 발생할 수 있음
- Operating System Concepts, 10th Edition, Chapter 1, p.32