리눅스 페이지 캐시 정책
·
[ Laboratory ]/Advanced Operating System
운영체제에서 페이지 캐시는 스토리지 접근을 줄여 애플리케이션 성능을 최적화하는 것에 핵심적인 기여를 한다. 그동안 리눅스 운영체제는 페이지 캐시에 one size fits all 방식이라는 고정된 싱글 정책을 사용했다. 기존 리눅스 커널의 기본 evict 정책은 active list와 inactive list라는 FIFO로 동작하는 두 개의 리스트를 사용하는 LRU 방식이었다. 각각의 리스트는 control group인 리눅스의 cgroup마다 분할되어 관리된다. 프로세스 그룹마다 리소스 사용을 isolation하여 cgroup마다 자체적인 page cache list set을 가지게 된다. 스토리지에서 folio 페이지가 처음 로드되면 inactive list의 tail로 admission된다. ..