Abstract
In virtual memory system, when a process attempts to access a page that is not resident in memory, the system generates and handles a page fault that causes unpredictable delay. So virtual memory system is not appropriate for the real-time system, because it can increase the deadline miss ratio of real-time task. In multimedia system, virtual memory system may degrade the QoS(quality of service) of multimedia application. Furthermore, in general-purpose operating system, whenever a new task is dynamically loaded, virtual memory system suffers from extensive page fault that cause transient overloading state. In this paper, we present efficient overloading control mechanism called RBPFH (Rate-Based Page Fault Handling). A significant feature of the RBPFH algorithm is page fault dispersion that keeps page fault ratio from exceeding available bound by monitoring current system resources. Furthermore, whenever the amount of available system resource is changed, the RBPFH algorithm dynamically adjusts the page fault handling rate. The RBPFH algorithm is implemented in the Linux operating system and its performance measured. The results demonstrate RBPFH\`s superior performance in supporting multimedia applications. Experiment result shows that RBPFH could achieve 10%∼20% reduction in deadline miss ratio and 50%∼60% reduction in average delay.
가상 메모리 시스템에서 프로세스가 현재 물리 메모리에 없는 페이지에 접근하게 되면 페이지 폴트가 발생하고, 이를 처리하기 위하여 예측할 수 없는 지연을 초래하는 페이지 폴트 핸들러가 동작하게 된다. 따라서 가상 메모리 시스템은 실시간 태스크의 제한 시간 실패율을 높여주는 요인이 될 수 있으므로 실시간 시스템에서 사용하기 어렵다. 뿐만 아니라, 새로운 태스크가 동적으로 유입되는 범용 운영체제 환경에서 가상 메모리 시스템은 태스크의 집중적인 페이지 폴트로 인하여 일시적인 과부하 상태에 빠질 수 있다. 본 논문에서는 집중적으로 발생하는 페이지 폴트에 의한 일시적인 과부하를 효율적으로 처리할 수 있는 RBPFH(Rate-Based Page Fault Handling) 알고리즘을 제시하고 있다 알고리즘의 특징은 현재 시스템의 자원을 모니터링하면서 페이지 폴트가 제한된 범위를 초과하지 않도록 분산시키는 방법을 사용하고 있으며, 페이지 폴트 처리 비율을 조정해줌으로써 동적으로 시스템의 부하가 변하는 상황을 고려하고 있다. RBPFH 알고리즘은 리눅스 운영체제에서 구현하였으며, 실험을 통하여 멀티미디어와 같은 연성 실시간 태스크를 지원하는데 있어서 유용하게 사용될 수 있음을 확인하였다. 실험 결과 RBPFH는 태스크의 제한 시간 실패율을 10%∼20% 감소시키고, 평균 지연 시간을 50%∼60% 감소시켜주었다.