Cache Replacement & Write Policy

Heejin·2023년 5월 29일
0

Cache Replacement(캐시 교체 정책)은 캐시 메모리에 새로운 데이터를 적재할 때, 만일 캐시가 가득 차 있는 경우 어떤 데이터를 제거하고 새로운 데이터를 적재할지를 결정하는 정책을 의미한다. 캐시는 보통 크기가 제한되어 있기 때문에 새로운 데이터가 들어오면 기존의 데이터 중 일부를 삭제해야 한다. Cache Replacement Policy는 이러한 선택을 어떻게 하는지를 결정하는 알고리즘이다.

  • 가장 간단한 교체 정책은 "Least Recently Used (LRU)"이다. 이 정책은 가장 오랫동안 사용되지 않은 데이터를 교체하는 방식이다. 캐시에 접근할 때마다 해당 데이터의 사용 시간을 업데이트하여 가장 오래 전에 사용된 데이터를 찾아서 교체한다.

  • 다른 교체 정책으로는 "Least Frequently Used (LFU)"와 "Random" 등이 있다. LFU는 가장 적게 사용된 데이터를 교체하는 방식으로 동일한 사용 빈도를 가진 데이터가 여러 개인 경우에 유용하다. Random은 교체할 데이터를 무작위로 선택하는 방식으로, 구현이 간단하고 예측이 어렵기 때문에 사용될 수 있다.


Write Policy(쓰기 정책)은 메모리 쓰기 연산이 캐시에 발생했을 때 어떻게 처리할지를 결정하는 정책을 말한다. 주로 "Write-Through"와 "Write-Back" 두 가지 정책이 사용된다.

  • Write-Through(쓰기 전달) 정책은 메모리 쓰기 연산이 발생하면 캐시와 메인 메모리 모두에 데이터를 쓰는 방식이다. 따라서 메모리와 캐시의 데이터 일관성을 유지할 수 있지만, 쓰기 연산의 속도는 느릴 수 있다.

  • Write-Back(지연 쓰기) 정책은 메모리 쓰기 연산이 발생하면 해당 데이터를 캐시에만 쓰고, 메인 메모리에는 쓰기를 지연하는 방식이다. 이 경우, 캐시와 메모리 간의 데이터 일관성을 유지하기 위해 특정 조건에서만 캐시의 데이터를 메모리로 업데이트해야 한다. Write-Back 정책은 쓰기 연산의 속도를 향상시키는 장점이 있지만, 메모리와 캐시의 데이터 일관성 유지에 대한 관리가 필요하다.

0개의 댓글