- APC: 가상 메모리 시스템에서 적응적 페이지 선반입 제어 기법
- ㆍ 저자명
- 안우현,양종철,오재원,Ahn. Woo-Hyun,Yang. Jong-Cheol,Oh. Jae-Won
- ㆍ 간행물명
- 정보과학회논문지. Journal of KIISE. 시스템 및 이론
- ㆍ 권/호정보
- 2010년|37권 3호|pp.172-183 (12 pages)
- ㆍ 발행정보
- 한국정보과학회
- ㆍ 파일정보
- 정기간행물| PDF텍스트
- ㆍ 주제분야
- 기타
가상 메모리 시스템(VM)에서 페이지 부재로 발생하는 디스크 I/O를 감소시키기 위해 페이지 선반입 기법을 사용한다. 이 기법은 부재 페이지와 함께 추가적인 페이지들을 한 번의 디스크 I/O로 미리 읽는다. 그런데, 4.4BSD와 같은 운영체제의 VM은 응용 프로그램의 페이지 참조 패턴을 고려하지 않고 항상 가능한 많은 페이지들을 선반입하고자 한다. 이 방법은 선반입된 페이지들 중 일부만 사용하는 참조패턴에서 디스크 참조 시간을 증가시키며, 유용한 페이지들을 메모리에서 내보내는 메모리 오염을 야기한다. 이런 문제를 해결하기 위해 본 논문은 적응적 페이지 선반입 제어 기법(APC)을 제안한다. APC는 선반입 페이지들 중에서 메모리에 존재하는 동안 참조된 페이지들의 비율을 프로세스 단위로 주기적으로 측정하고, 이 비율을 사용하여 4.4BSD VM이 선반입하고자 하는 페이지의 개수를 조절한다. 그래서 실행도중 페이지 참조 패턴이 바뀌더라도 적절한 수의 페이지를 선반입할 수 있다. 성능 검증을 위해 APC를 4.4BSD 기반의 FreeBSD 6.2에 구현하였으며, SOR, SMM, FFT 벤치마크를 통해 성능을 측정하였다. 성능 측정 결과 APC는 기존 BSD VM보다 벤치마크의 실행 시간을 최대 57% 단축하였다.
Virtual memory systems (VM) reduce disk I/Os caused by page faults using page prefetching, which reads pages together with a desired page at a page fault in a single disk I/O. Operating systems including 4.4BSD attempt to prefetch as many pages as possible at a page fault regardless of page access patterns of applications. However, such an approach increases a disk access time taken to service a page fault when a high portion of the prefetched pages is not referenced. More seriously, the approach can cause the memory pollution, a problem that prefetched pages not to be accessed evict another pages that will be referenced soon. To solve these problems, we propose an adaptive page prefetching control scheme (APC), which periodically monitors access patterns of prefetched pages in a process unit. Such a pattern is represented as the ratio of referenced pages among prefetched ones before they are evicted from memory. Then APC uses the ratio to adjust the number of pages that 4.4BSD VM intends to prefetch at a page fault. Thus APC allows 4.4BSD VM to prefetch a proper number of pages to have a better effect on reducing disk I/Os, though page access patterns of an application vary in runtime. The experiment of our technique implemented in FreeBSD 6.2 shows that APC improves the execution times of SOR, SMM, and FFT benchmarks over 4.4BSD VM by up to 57%.