캐시 메모리 (Cache Memory)
쉽게 풀면
캐시 메모리는 프로세서 바로 옆에 있는 아주 빠르지만 작은 저장 공간이다. 매번 멀리 있는 큰 메모리(RAM)에서 데이터를 가져오면 시간이 오래 걸리므로, 자주 쓰는 데이터를 가까운 캐시에 미리 복사해 두고 빠르게 꺼내 쓰는 방식이다. 책상 위에 자주 쓰는 책을 올려두고 서재까지 왕복하는 시간을 아끼는 것과 비슷하다. 프로그램이나 알고리즘이 캐시를 얼마나 잘 활용하느냐(캐시 적중률)가 실제 실행 속도에 큰 영향을 준다.
왜 중요한가
프로세서의 연산 속도는 계속 빨라졌지만 주 메모리(RAM)의 접근 속도는 상대적으로 더디게 개선되어 왔고, 이 격차를 메우는 핵심 장치가 캐시 메모리이다. 그래서 컴퓨터 구조·운영체제 논문에서는 캐시를 얼마나 잘 활용하느냐가 곧 시스템 성능을 좌우하는 핵심 변수로 다뤄진다. 최근에는 딥러닝 가속기, 분산 시스템, 데이터베이스 등 자원이 큰 데이터를 반복적으로 접근하는 거의 모든 영역에서 캐시 활용 전략이 성능 최적화의 출발점으로 언급된다.
논문에서는 이렇게 쓰입니다
알고리즘을 개선해 자주 쓰는 데이터가 캐시에 더 잘 남아 있도록 만들었고, 그 결과 캐시에서 바로 찾는 비율이 높아졌다는 의미이다.
딥러닝 가속기 설계 분야의 예문으로, 모델의 가중치처럼 자주 재사용되는 데이터를 캐시에 미리 올려두어 메모리 접근 지연을 줄이는 접근 방식을 설명한 것이다.
분산 시스템·데이터베이스 분야의 예문으로, 자주 조회되는 데이터를 로컬 캐시에 저장해 두면 네트워크를 통한 원격 조회 자체가 줄어든다는 점을 보여준다.
조금 더 깊게 보면
실제 논문에서는 캐시 성능을 이야기할 때 단순히 "캐시가 있다/없다"가 아니라 적중률(hit rate), 미스율(miss rate), 접근 지연(latency) 같은 지표로 정량화한다. 또한 캐시는 보통 L1·L2·L3처럼 여러 계층으로 나뉘며, 계층이 프로세서에서 멀어질수록 용량은 커지고 속도는 느려지는 트레이드오프를 가진다. 어떤 데이터를 캐시에 남기고 어떤 데이터를 밀어낼지는 LRU(least recently used) 등의 교체 정책(replacement policy)에 따라 결정되며, 이 정책의 설계가 곧 캐시 효율을 좌우하는 연구 주제가 된다.
주의할 점
캐시는 CPU뿐 아니라 GPU, 디스크, 웹 서버 등 다양한 계층에 존재하며, 문맥에 따라 가리키는 대상이 다르다는 점에 유의해야 한다.