skip to main content
10.1145/1952682.1952696acmconferencesArticle/Chapter ViewAbstractPublication PagesveeConference Proceedingsconference-collections
research-article

Fast and correct performance recovery of operating systems using a virtual machine monitor

Published:09 March 2011Publication History

ABSTRACT

Rebooting an operating system is a final but effective recovery technique. However, the system performance largely degrades just after the reboot due to the page cache being lost in the main memory. For fast performance recovery, we propose a new reboot mechanism called the warm-cache reboot. The warm-cache reboot preserves the page cache during the reboot and enables an operating system to restore it after the reboot, with the help of a virtual machine monitor (VMM). To perform correct recovery, the VMM guarantees that the reused page cache is consistent with the corresponding files on disks. We have implemented the warm-cache reboot mechanism in the Xen VMM and the Linux operating system. Our experimental results showed that the warm-cache reboot decreased performance degradation just after the reboot. In addition, we confirmed that the file cache corrupted by faults was not reused. The overheads for maintaining cache consistency were not usually large.

References

  1. Apache Software Foundation. Apache HTTP Server Project. http://httpd.apache.org/.Google ScholarGoogle Scholar
  2. M. Baker and M. Sullivan. The Recovery Box: Using Fast Recovery to Provide High Availability in the UNIX Environment. In Proceedings of the Summer USENIX Conference, pages 31--44, 1992.Google ScholarGoogle Scholar
  3. P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield. Xen and the Art of Virtualization. In Proceedings of the 19th Symposium on Operating Systems Principles, pages 164--177, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. G. Candea, S. Kawamoto, Y. Fujiki, G. Friedman, and A. Fox. Microreboot -- A Technique for Cheap Recovery. In Proceedings of the 6th Symposium on Operating Systems Design and Implementation, pages 31--44, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. P. Chen, W. Ng, S. Chandra, C. Aycock, G. Rajamani, and D. Lowell. The Rio File Cache: Surviving Operating System Crashes. In Proceedings of the 7th International Conference on Architectural Support for Programming Languages and Operating Systems, pages 74--83, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. A. Depoutovitch and M. Stumm. Otherworld - Giving Applications a Chance to Survive OS Kernel Crashes. In Proceedings of the 5th European Conference on Computer Systems, pages 181--194, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. Garg, A. Puliafito, M. Telek, and K. Trivedi. Analysis of Preventive Maintenance in Transactions Based Software Systems. IEEE Transactions on Computers, 47 (1): 96--107, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. Grottke and K. Trivedi. Fighting Bugs: Remove, Retry, Replicate, and Rejuvenate. IEEE Computer, 40 (2): 107--109, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J. Halderman, S. Schoen, N. Heninger, W. Clarkson, W. Paul, J. Calandrino, A. Feldman, J. Appelbaum, and E. Felten. Lest We Remember: Cold Boot Attacks on Encryption Keys. In Proceedings of the USENIX Security Symposium, pages 45--60, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Y. Huang, C. Kintala, N. Kolettis, and N. Fulton. Software Rejuvenation: Analysis, module and Applications. In Proceedings of the 25th International Symposium on Fault-Tolerant Computing, pages 381--391, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. S. Jones,, A. Arpaci-Dusseau, and R. Arpaci-Dusseau. Geiger: Monitoring the Buffer Cache in a Virtual Machine Environment. In Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems, pages 14--24, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. H. Kaminaga. Improving Linux Startup Time Using Software Resume (and Other Techniques). In Proceedings of the Linux Symposium, pages 25--34, 2006.Google ScholarGoogle Scholar
  13. A. Kivity, Y. Kamay, and D. Laor. KVM: The Linux Virtual Machine Monitor. In Proceedings of the Linux Symposium, pages 225--230, 2007.Google ScholarGoogle Scholar
  14. K. Kourai and S. Chiba. A Fast Rejuvenation Technique for Server Consolidation with Virtual Machines. In Proceedings of the 37th International Conference on Dependable Systems and Networks, pages 245--254, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. K. Kourai and S. Chiba. Fast Software Rejuvenation of Virtual Machine Monitors. IEEE Transactions on Dependable and Secure Computing, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. P. Lu and K. Shen. Virtual Machine Memory Access Tracing with Hypervisor Exclusive Cache. In Proceedings of the USENIX Annual Technical Conference, pages 1--15, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. D. Mosberger and T. Jin. httperf: A Tool for Measuring Web Server Performance. Performance Evaluation Review, 26 (3): 31--37, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. W. Ng and P. Chen. The Design and Verification of the Rio File Cache. IEEE Transactions on Computers, 50 (4): 322--337, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. W. Norcott and D. Capps. IOzone Filesystem Benchmark.Google ScholarGoogle Scholar
  20. A. Pfiffer. Reducing System Reboot Time with kexec. http://www.osdl.org/.Google ScholarGoogle Scholar
  21. M. Swift, B. Bershad, and H. Levy. Improving the Reliability of Commodity Operating Systems. In Proceedings of the 19th Symposium on Operating Systems Principles, pages 207--222, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Transaction Processing Performance Council. TPC Benchmark H Standard Specification Revision 2.9.0. http://www.tpc.org/, 2009.Google ScholarGoogle Scholar
  23. C. Waldspurger. Memory Resource Management in VMware ESX Server. In Proceedings of the 5th Symposium on Operating Systems Design and Implementation, pages 181--194, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. J. Zhang and M. Wong. Database Test Suite. http://osdldbt.sourceforge.net/.Google ScholarGoogle Scholar

Index Terms

  1. Fast and correct performance recovery of operating systems using a virtual machine monitor

        Recommendations

        Reviews

        Elliot Jaffe

        Modern operating systems use much of their available memory as a page cache, keeping binaries, data, and libraries in memory in order to avoid accesses to slow disks. At the same time, rebooting a machine is one of the best ways to start with a clean slate, by resetting memory leaks, configuration mismatches, and stale performance. Traditionally, a reboot also clears the page cache, which takes many minutes to repopulate. Kourai addresses this challenge by retaining the page cache across reboots. He uses the virtual machine monitor (VMM) to watch for clean and dirty page cache entries. Upon reboot, clean page cache entries are retained while dirty pages are thrown away. This results in much faster recovery after a reboot, which can be critical for many Web servers or database systems. Read this if you are interested in virtual machines. The author's use of the VMM as a page cache monitor is innovative, and addresses the mismatch between disk speeds and main memory. Online Computing Reviews Service

        Access critical reviews of Computing literature here

        Become a reviewer for Computing Reviews.

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          VEE '11: Proceedings of the 7th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
          March 2011
          250 pages
          ISBN:9781450306874
          DOI:10.1145/1952682
          • cover image ACM SIGPLAN Notices
            ACM SIGPLAN Notices  Volume 46, Issue 7
            VEE '11
            July 2011
            231 pages
            ISSN:0362-1340
            EISSN:1558-1160
            DOI:10.1145/2007477
            Issue’s Table of Contents

          Copyright © 2011 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 9 March 2011

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate80of235submissions,34%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader