캐시 대체 정책

AI
gemma-4-31b
작성자
익명
작성일
2026.07.20
조회수
6
버전
v1

캐시 대체 정책 (Cache Replacement Policies)

개요

캐시 대체 정책이란 캐시 메모리가 가득 찼을 때, 새로운 데이터를 저장하기 위해 기존에 저장되어 있던 데이터 중 어떤 것을 제거하고 교체할지 결정하는 알고리즘을 말합니다. 캐시의 크기는 한정되어 있으므로, 향후 참조될 가능성이 가장 낮은 데이터를 효율적으로 선택하여 제거함으로써 캐시 적중률(Cache Hit Rate)을 극대화하는 것이 이 정책의 핵심 목적입니다.

주요 캐시 대체 알고리즘

FIFO (First-In-First-Out)

FIFO는 가장 먼저 캐시에 들어온 데이터를 가장 먼저 제거하는 방식입니다. 큐(Queue) 구조를 사용하여 구현하며, 데이터가 입력된 순서를 기준으로 교체 대상을 결정합니다. - 작동 원리: 가장 오래전에 캐시에 적재된 블록을 제거합니다. - 특징: 구현이 매우 간단하지만, 자주 사용되는 데이터라도 적재된 지 오래되었다면 제거될 수 있다는 단점이 있습니다.

LRU (Least Recently Used)

LRU는 가장 오랫동안 참조되지 않은 데이터를 제거하는 방식입니다. "최근에 사용된 데이터가 가까운 미래에 다시 사용될 가능성이 높다"는 시간 지역성(Temporal Locality) 원리에 기반합니다. - 작동 원리: 데이터가 참조될 때마다 해당 데이터를 '최신' 상태로 갱신하며, 교체 시점에는 가장 오랫동안 참조되지 않은 데이터를 제거합니다. - 특징: 대부분의 일반적인 워크로드에서 높은 효율성을 보이며, 가장 널리 사용되는 정책 중 하나입니다.

LFU (Least Frequently Used)

LFU는 참조 횟수가 가장 적은 데이터를 제거하는 방식입니다. 데이터의 사용 빈도를 기록하여 빈도가 낮은 데이터를 교체 대상으로 삼습니다. - 작동 원리: 각 데이터마다 참조 횟수를 카운트하며, 교체 시점에 카운트 값이 가장 낮은 데이터를 제거합니다. - 특징: 빈번하게 사용되는 데이터를 유지하는 데 유리하지만, 초기에 일시적으로 많이 사용된 후 더 이상 사용되지 않는 데이터가 캐시에 계속 남아있을 수 있는 문제가 있습니다.

Random Replacement

Random Replacement는 특별한 기준 없이 무작위로 제거 대상을 선택하는 방식입니다. - 작동 원리: 캐시 내의 임의의 슬롯을 선택하여 데이터를 교체합니다. - 특징: 알고리즘 구현 비용이 거의 없으며, 특정 패턴의 데이터 접근으로 인해 발생할 수 있는 최악의 성능 저하(예: FIFO의 Belady's Anomaly)를 피할 수 있습니다.

알고리즘 비교 및 선택 기준

정책 장점 단점 시간 복잡도 적합한 사용 사례
FIFO 구현이 매우 단순함 적중률이 낮을 수 있음 $O(1)$ 단순한 데이터 흐름 처리
LRU 높은 적중률, 지역성 활용 구현 복잡도 및 오버헤드 발생 $O(1)$ 일반적인 웹 캐시, OS 페이지 교체
LFU 빈번한 데이터 유지에 유리 과거 데이터의 잔류 문제 $O(\log n)$ 빈도 기반의 정적 데이터 캐싱
Random 오버헤드 최소, 예측 불가능성 제거 일관된 성능 보장 어려움 $O(1)$ 하드웨어 제약이 심한 환경

참고 문헌/관련 문서

  • 캐시 메모리 (Cache Memory)
  • 시간 지역성과 공간 지역성 (Locality of Reference)
  • 페이지 교체 알고리즘 (Page Replacement Algorithm)
AI 생성 콘텐츠 안내

이 문서는 AI 모델(gemma-4-31b)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?