Transient Overloads Control Mechanism for Virtual Memory System

가상 메모리 시스템의 일시적인 과부하 완화 기법

  • 고영웅 (고려대학교 대학원 컴퓨터학과) ;
  • 이재용 (고려대학교 대학원 컴퓨터학과) ;
  • 홍철호 (고려대학교 대학원 컴퓨터학과) ;
  • 유혁 (고려대학교 이과대학 컴퓨터학과)
  • Published : 2001.12.01

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% 감소시켜주었다.

Keywords

References

  1. C.W. Mercer, S. Savage, H. Tokuda, 'Processor Capacity reserves : Operating System Support for Multimedia Applications,' Proceedings of the IEEE international Conference on Multimedia Computing and System, Boston, MA, pp.90-99, May, 1994 https://doi.org/10.1109/MMCS.1994.292439
  2. Raj Yavatkar, K. Lakshman, 'A CPU Scheduling Algorithm for Continuous Media Application,' In 6th International NOSSDAV Workshop
  3. P. Goyal, X. Guo, H.M. Vin, 'A Hierarchical CPU Scheduler for Multimedia Operating Systems,' Proceedings of the Second Symposium on Operating Systems Design and Implementation, Seattle, WA, pp.107-122, Oct. 1996
  4. J. Nich and Monica S. Lam, 'The Design, implementation and Evaluation of SMART : A Scheduler for Multimedia Applications,' Proceedings of 16th ACM Symposium on Operating Systems Principles, St Malo, France, October, 1997
  5. Michael Beck, et al. 'Linux Kernel Internals second Edition,' Addison-Wesley, 1998
  6. Silberschatz Galvin, 'Operating System Concepts,' Addison-Wesley, 1994
  7. Ralf Steinmetz and Klara Nahrstedt, Multimedia. Computing 'Communications and Applications,' Prentice-Hall, Englewood Cliffs, NJ, 1995
  8. I. Stoica, H. Abdel-Wahab, K. Jeffey, S. Baruah, J. Gehrke, and G. Plaxton, 'A Proportional Share Resource Allocation Algorithm for Real-Time, Time-shared Systems,' Proc. of Real-Time Systems Symposium, pp.288-299, Dec. 1996 https://doi.org/10.1109/REAL.1996.563725
  9. M.B. Jones, D. Rosu, and M-C. Rosu, 'CPU Reservation and Time Constraints : Efficient, Predicatable Scheduling of Independent Activities,' Proc. of the 16th ACM Symposium on Operating System Principles, pp.198-211, Oct. 1997 https://doi.org/10.1145/268998.266689
  10. K. Jeffey, F.D. Smith, A. Moorthy, and J. Anderson, 'Proportional Share Scheduling of Operating System Services for Real-Time Application,' Proc. of Real-Time Systems Symposium, pp.480-491, Dec. 1998 https://doi.org/10.1109/REAL.1998.739781
  11. Michael Barabanov, 'A Linux-based Real-Time Operating System,' Master thesis, New Mexico Institute of Mining and Technology, June, 1997
  12. J. Stankovic and K. Ramamritham, 'The SPRING Kernel : A New Paradigm for Real-Time Systems,' IEEE Software, Vol. 8, No. 3, pp. 62-72, May, 1991 https://doi.org/10.1109/52.88945
  13. Rey Ford, 'Concurrent Algorithms for Real-Time Memory Management,' IEEE Software, Vol.5, Issue 5, pp.10-23, 1988 https://doi.org/10.1109/52.7940
  14. Kelvin D. Nilsen and Hong Gao, 'The Real-Time Behavior of Dynamic Memory Management in C++,' Proc. of Real-Time Technology and Application Symposium, pp. 142-153, 1995 https://doi.org/10.1109/RTTAS.1995.516211
  15. Charles B. Weinstock, 'Dynamic Storage Allocation Techniques,' Ph. D. thesis, Carnegie Mellon University, Pittsburgh, Pennsylvanja, 1976
  16. C.L. Liu and J.W. Layland, 'Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment,' Journal of the ACM, Vol.20, No.1, pp.40-61, 1973 https://doi.org/10.1145/321738.321743