VTF: A Timer Hypercall to Support Real-time of Guest Operating Systems

VIT: 게스트 운영체제의 실시간성 지원을 위한 타이머 하이퍼콜

  • 박미리 (고려대학교 컴퓨터전파통신공학과) ;
  • 홍철호 (고려대학교 컴퓨터전파통신공학과) ;
  • 유시환 (고려대학교 컴퓨터전파통신공학과) ;
  • 유혁 (고려대학교 컴퓨터전파통신공학과)
  • Published : 2010.02.15

Abstract

Guest operating systems running over the virtual machines share a variety of resources. Since CPU is allocated in a time division manner it consequently leads them to having the unknown physical time. It is not regarded as a serious problem in the server virtualization fields. However, it becomes critical in embedded systems because it prevents guest OS from executing real time tasks when it does not occupy CPU. In this paper we propose a hypercall to register a timer service to notify the timer request related real time. It enables hypervisor to schedule a virtual machine which has real time tasks to execute, and allows guest OS to take CPU on time to support real time. The following experiment shows its implementation on Xen-Arm and para-virtualized Linux. We also analyze the real time performance with response time of test application and frames per second of Mplayer.

가상화 환경에서는 여러 개의 게스트 운영체제가 자원을 공유하고 있는데 특히 CPU는 시간 분할 방식에 의해 분배 된다. 따라서 각 가상 머신은 모든 물리 시간을 점유하지 못하고, 이는 CPU를 점유하지 못한 시간에 동작해야 하는 태스크 실행이 보장되지 못하는 결과를 야기시킨다. 이와 같은 응답성의 저하는 기존의 서버 가상화에서 치명적인 문제가 되지 않으나 임베디드 시스템에서 동작하는 실시간 태스크 측면에서는 중요하게 다루어 져야 하는 요구사항이 된다. 본 논문에서 우리는 실시간성과 관련된 타이머를 가상 머신 모니터에 등록할 수 있는 하이퍼콜을 제안한다. 이 하이퍼콜을 통하여 등록된 타이머는 만료된 시점에 해당 가상 머신이 실행되게 한다. 따라서 실시간성을 요하는 태스크들이 의도된 시간에 실행 가능하게 하며 다른 가상 머신의 기아 현상을 완화시켜 준다. 이어지는 실험에서는 Xen-Arm에 이를 구현하여 게스트 운영체제인 리눅스에서의 실시간성을 평가한다. 특히 테스트 응용과 Mplayer의 응답성 및 초당 프레임 수를 측정하여 한 개의 게스트 운영체제만이 동작하는 환경에서와 비슷한 실시간성이 지원될 수 있음을 보인다.

Keywords

References

  1. D. R. Ferstay. Fast secure virtualization for the arm platform. Master's thesis, University of British Columbia, 2006.
  2. Trango: secured virtualization on ARM. Trango. http://www.trango-vp.com.
  3. VirtualLogix Real-Time Virtualization and VLX. VirtualLogix. http://www.osware.com.
  4. R. Kaiser. Alternatives for Scheduling Virtual Machines in Real-Time Embedded Systems. 1st Workshop on Isolation and Integration in Embedded Systems, 2008.
  5. Yuki Kinebuchi, Midori Sugaya, Shuichi Oikawa, Tatsuo Nakajima. Task Grain Scheduling for Hypervisor-Based Embedded System. HPCC, pp.190-197, 2008.
  6. C. L. Liu and J. W. Layland. Scheduling algorithms for multiprogramming in a hard-real-time environment, J. ACM, vol.20, no.1, pp.46-61, 1973. https://doi.org/10.1145/321738.321743
  7. Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew arfield. Xen and the art of virtualization. Proceedings of the nineteenth ACM symposium on Operating systems principles, 2003.
  8. J.-Y. Hwang, S.-B. Suh, S.-K. Heo, C.-J. Park, J.-M. Ryu, S.-Y. Park, and C.-R. Kim. Xen on arm: System virtualization using xen hypervisor for arm-based secure mobile phones. Consumer Communications and Networking Conference, 2008.
  9. Luca Abeni, Ashvin Goel, Charles Krasic, Jim Snow, Jonathan Walpole. A Measurement-Based Analysis of the Real-Time Performance of Linux. Proceedings of the 8th IEEE Real-Time and Embedded Technology and Applications Symposium, 2002.
  10. Kenneth J. Duda, David R. Cheriton. Borrowedvirtual- time (BVT) scheduling: supporting latencysensitive threads in a general-purpose scheduler. Proceedings of the seventeenth ACM symposium on Operating systems principles, pp.261-276, 1999.
  11. L. Cherkasova, D. Gupta, and A. Vahdat. Comparison of the three CPU schedulers in Xen. SIGMETRICS Perform. Eval. Rev., 35(2):42-51, 2007. https://doi.org/10.1145/1330555.1330556
  12. S. Govindan, A. R. Nath, A. Das, B. Urgaonkar, and A. Sivasubramaniam. Xen and co.: communication- aware CPU scheduling for consolidated Xen-based hosting platforms. Proc. VEE, 2007.
  13. D. Ongaro, A. L. Cox, and S. Rixner. Scheduling I/O in virtual machine monitors. Proc. VEE, 2008.
  14. H. Kim, H. Lim, J. Jeong, H. Jo, and J. Lee. Task-aware virtual machine scheduling for i/o performance. VEE '09: Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, 2009.