캐시 메모리의 효율성은 단순한 지표를 넘어 시스템 전체의 응답 속도를 결정짓는 핵심적인 요소다.
캐시 히트율이 성능에 미치는 영향을 수식과 시나리오를 통해 분석한다.
성능의 임계점: 히트 vs 미스
- 캐시 히트 (Cache Hit): 필요한 데이터가 캐시에 존재하여 즉시 처리됨.
- 캐시 미스 (Cache Miss): 느린 메인 메모리까지 접근해야 함.
이때 발생하는 시간 손실을 미스 패널티라고 한다.
평균 메모리 접근 시간 (AMAT) 공식
AMAT = Hit Time + (Miss Rate × Miss Penalty)
[성능 분석 시나리오]
- 캐시 접근: 1ns, 메모리 접근: 100ns 가정
- 히트율 99%:
1 + (0.01 × 100) = 2ns - 히트율 90%:
1 + (0.10 × 100) = 11ns
단 9%p의 히트율 차이가 시스템의 실제 속도를 5.5배나 느리게 만드는 병목 현상을 유발한다.
히트율 극대화 설계
- 참조 지역성 활용: 데이터를 순차적으로 배치하여 공간 지역성을 극대화한다.
- 데이터 구조 최적화: 캐시 라인 크기를 고려하여 데이터를 정렬한다.
P.S
캐시 히트율은 하드웨어와 소프트웨어의 궁합을 보여주는 지표다.
하드웨어의 계층 구조를 깊이 이해하고 이를 활용하는 코드를 작성하는 것이 성능 최적화의 관건인 것 같다.