콘텐츠로 이동

캐시 일관성 (Cache Coherency)

Jan 25, 2026

캐시 일관성(Cache Coherency)은 멀티프로세서 환경에서 한 캐시의 값이 업데이트될 때 해당 값이 존재하는 다른 모든 캐시에 즉시 반영되도록 보장하는 것이다.

멀티프로세서 시스템에서 각 CPU가 로컬 캐시를 가지므로, 동일한 데이터의 복사본이 여러 캐시에 동시에 존재할 수 있다.

멀티프로세서 환경에서:

  • 각 CPU가 내부 레지스터 외에도 로컬 캐시를 포함
  • 값 A의 복사본이 여러 캐시에 동시에 존재할 수 있음
  • 다양한 CPU들이 모두 병렬로 실행될 수 있음

문제: 한 캐시에서 A 값이 업데이트될 때, A가 존재하는 다른 모든 캐시에도 반영되어야 함

환경특징복잡도
단일 프로세스한 번에 하나의 프로세스만 실행, 항상 계층구조 최상위 복사본에 접근낮음
멀티태스킹CPU가 다양한 프로세스 간 전환, 최신 값 접근 보장 필요중간
분산 환경같은 파일의 여러 복제본(replicas)이 다른 컴퓨터에 존재높음

캐시 일관성 문제는 보통 하드웨어 문제로 취급된다:

  • 운영체제 레벨 아래에서 처리
  • 하드웨어가 캐시 간 데이터 일관성을 유지하도록 관리
  • MESI 프로토콜 등의 캐시 일관성 프로토콜 사용

분산 시스템에서는 상황이 더욱 복잡해진다:

  • 같은 파일의 여러 복제본이 다른 컴퓨터에 보관될 수 있음
  • 다양한 복제본이 동시에 접근 및 업데이트될 수 있음
  • 일부 분산 시스템은 한 곳에서 복제본이 업데이트되면 다른 모든 복제본이 가능한 빨리 최신화되도록 보장
  • Operating System Concepts, 10th Edition, Chapter 1, p.32