스터디 정리

0
post-custom-banner

캐시 메모리 사상(mapping) 방식

  • 캐시와 주기억장치 사이에서 정보를 옮기는 것을 사상(mapping)이라고 함.

사상 방식의 종류

  1. 직접 사상 Direct Mapping
  2. 완전 연관 사상 Fully Associate Mapping
  3. 집합 연관 사상 Set Associate Mapping

직접 사상 Direct Mapping

  • 각 메모리 위치가 캐시내에서 정확히 한곳에만 매핑되는 구조.
  • 장점 : 구현이 단순하고, 접근 속도가 빠름.
  • 단점 : 매번 교체를 하기 때문에 동일 캐시 블록에 매핑되는 다른 메모리가 번갈아 실행되면 매우 낮은 적중률을 보여준다.

완전 연관 사상 Fully Associate Mapping

  • 직접매핑에서는 인덱스가 필요했지만, 완전 연관 사상에서는 빈자리 찾아가면 끝. 캐시 블록 번호는 메모리 블록 번호와 무관하고, 메모리 블록의 어떤 정보도 포함하지 않는다.
  • 장점: 직접 연관 사상보다 적중률이 높음.
  • 단점: 속도 느림, 고가의 메모리 필요

집합 연관 사상 Set Associate Mapping

  • 직접과 연관을 절충한 방식.
  • 직접 사상처럼 메모리 블록은 정해진 인덱스만 들어갈 수 있지만, 블록이 여러개의 집합으로이루어져서, 그 집합 내에 아무 자리만 들어가면 되는 방식.
  • 완전보다 적중률은 떨어지고, 직접보다 적중률은 높음. 저렴하고 속도 높음

캐싱 전략

캐시 Write를 어디다 하는냐에 대한 관점

  • Write-through
    데이터를 추가하거나 업데이트를 할때 캐시에 동시에 업데이트를 하는 전략
    장점 ) 둘다 업데이트하여 일관성 유지, 안정적
    단점 ) 속도가 느린 장치를 쓰면 성능이 느림
    - 데이터로스가 발생하면 안되는 상황에서 사용

  • Write-back
    데이터를 캐시에 먼저 저장해놓고 일정 기간 혹은 일정한 크기가 됐을때, 캐시에 모여있는 데이터를 DB에 저장한 후 캐시에 있던 데이터를 삭제하는 방식
    장점)속도빠름
    단점) 캐시에는 업데이트를 하고 메모리에는 바로 업데이트를 하지않아 서로 다른 값이 발생 할 수 있음
    - 빠른 서비스를 요하는 상황에서 사용

캐시 write를 어떻게 하느냐에 대한 관점

  • Write-Allocate = 쓰기를 했을때 해당 데이터들을 바로 Cache상에 덮어쓰기, 다시 쓰지 않는 것도 덮어쓰기 때문에 캐시 성능 저하.
  • Write-no-Allocate = 쓰기를 했을때 바로 메모리에 전달, 적중률 높음.
post-custom-banner

0개의 댓글