Cache Strategy vs. Cache Policy
캐시 전략(Cache Strategy)과 캐시 정책(Cache Policy)은 컴퓨터 아키텍처에서 캐시 메모리의 효율적 운영을 위한 핵심 개념이다.
이 둘은 상호보완적이지만 명확한 차이가 있다.
캐시 전략(Cache Strategy)
캐시 전략은 시스템 전체의 캐시 사용 방식을 결정하는 상위 레벨의 설계 접근법을 의미한다.
주로 다음과 같은 요소를 포함한다:
- 계층적 구조: L1, L2, L3 캐시로 이어지는 메모리 계층 구조 설계
- 분산 캐시: 여러 서버에 캐시를 분산하여 처리 능력 확장
- 데이터 프리페칭: 프로세서가 필요로 할 데이터를 미리 예측하여 캐시에 로드
- 클라이언트 측 캐싱: 사용자 브라우저에 데이터 저장으로 서버 부하 감소
예시: 멀티코어 프로세서에서 L3 캐시를 공유하여 코어 간 데이터 일관성 유지
캐시 정책(Cache Policy)
캐시 정책은 캐시의 구체적 운영 규칙을 정의하는 세부 실행 방침이다.
주요 유형:
교체 정책(Replacement Policy)
- LRU(Least Recently Used): 가장 오래전에 사용된 데이터 제거
- FIFO(First-In First-Out): 먼저 들어온 데이터부터 제거
- LFU(Least Frequently Used): 사용 빈도가 가장 낮은 데이터 제거
쓰기 정책(Write Policy)
- Write-through: 캐시와 주기억장치에 동시 기록(데이터 무손실 보장)
- Write-back: 캐시에만 먼저 기록, 이후 주기억장치에 배치 방식
배치 정책(Placement Policy)
- 직접 매핑(Direct-mapped): 메모리 블록이 특정 캐시 라인에만 배치
- 완전 연관(Fully associative): 어떤 캐시 라인이든 자유 배치
- 세트 연관(Set-associative): 특정 세트 내에서 자유 배치
비교 분석표
구분 | 캐시 전략 (Cache Strategy) | 캐시 정책 (Cache Policy) |
---|---|---|
목적 | 시스템 전체의 캐시 활용 최적화 | 캐시 운영의 구체적 규칙 정의 |
적용 수준 | 아키텍처 설계 차원 | 캐시 메모리 운영 차원 |
주요 기법 | 계층화, 분산 캐시, 프리페칭 | LRU, Write-through, 직접 매핑 |
변경 주기 | 장기적/구조적 변경 필요 | 소프트웨어 설정으로 비교적 신속 변경 가능 |
성능 영향 요소 | 캐시 용량, 물리적 배치, 네트워크 토폴로지 | 히트율, 지연 시간, 데이터 일관성 |
예시 | L3 공유 캐시 사용, 분산 캐시 클러스터 | LRU 교체, Write-back 쓰기 |
상호작용 관계
캐시 전략은 정책의 실행 환경을 결정한다.
예를 들어 분산 캐시 전략을 채택하면, 각 노드에서 LRU 정책과 Write-back 정책을 조합해 사용할 수 있다.
반면 직접 매핑 배치 정책을 사용하는 시스템에서는 단순한 FIFO 교체 정책이 더 효율적일 수 있다.