학부 컴퓨터 아키텍처·메모리 계층 수업, 캐시 설계 과제
학부 메모리 계층 수업에서 캐시 서브시스템 설계 과제를 진행하면서, 정책 선택이 성능과 정확성에 어떤 영향을 주는지 이해했습니다. 캐시 일관성(coherence) 프로토콜은 멀티코어 환경에서 각 코어의 캐시가 같은 데이터를 다르게 갖는 문제를 막는 것이라는 걸 배웠습니다. 치환 정책에서 LRU와 랜덤 정책이 히트율에 미치는 영향을 시뮬레이션으로 비교했습니다. 쓰기 정책으로 write-back은 메인 메모리 트래픽을 줄이고, write-through는 일관성 유지가 단순하다는 트레이드오프도 이해했습니다. 할당 정책(write-allocate vs no-write-allocate)은 워크로드 패턴에 따라 성능이 달라진다는 것도 알았습니다. 이후 저는 캐시 설계를 볼 때 일관성·치환·할당·쓰기 정책을 각각 확인하는 습관이 생겼습니다.
정책 하나가 시스템 전체 성능을 결정할 수 있다는 걸 그때 배웠습니다.