skip to main content
10.1145/1254810.1254818acmconferencesArticle/Chapter ViewAbstractPublication PagesveeConference Proceedingsconference-collections
Article

FoxyTechnique: tricking operating system policies with a virtual machine monitor

Published:13 June 2007Publication History

ABSTRACT

Integrating new resource management policies into operating systems (OSes) is an ongoing process. Despite innovative policy proposals being developed, it is quite difficult to deploy a new one widely because it is difficult, costly and often impractical endeavor to modify existing OSes to integrate a new policy. To address this problem, we explore the possibility of using virtual machine technology to incorporate a new policy into an existing OS without the need to make any changes to it. This paper describes FoxyTechnique, which virtualizes physical devices differently from real ones and tricks a guest OS into producing a behavior similar to a desired policy. FoxyTechnique offers several advantages. First, it allows us to implement a new policy without the need to make any changes to OS kernels. Second, Foxy-based policies are expected to be portable across different operating systems because they are isolated from guest OSes by stable virtual hardware interfaces. Finally, Foxy-based policies sometimes outperform guest OS policies because they can measure performance indicators more accurately than guest OSes. To demonstrate the usefulness of FoxyTechnique, we conducted two case studies, FoxyVegas and FoxyIdle, on the Xen virtual machine monitor. FoxyVegas and FoxyIdle tricked the original Linux and successfully mimicked TCP Vegas and Idletime scheduling, respectively.

References

  1. Mike Accetta, Rovert Baron,William Bolosky, David Golub, Richard Rashid, Avadis Tevanian, and Michael Young. Mach: A new kernel foundation for UNIX Development. In Proceedings of Summer USENIX Conference, pages 93--112, June 1986.Google ScholarGoogle Scholar
  2. Andrea C. Arpaci-Dusseau and Remzi H. Arpaci-Dusseau. Information and Control in Gray-Box Systems. In Proceedings of ACM Symposium on Operating Systems Principles (SOSP '01), pages 43--56, October 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Nathan C. Burnett, Timothy E. Denehy, Thomas J. Engle, Haryadi S. Gunawi, James Nugent, and Florentina I. Popovici. Transforming Policies into Mechanisms with Infokernel. In Proceedings of the 19th ACM Symposium on Operating Systems Principles (SOSP '03), October 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, and Andrew Warfield. Xen and Art of Virtualization. In Proceedings of ACM Symposium on Operating Systems Principles (SOSP '03), pages 164--177, October 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Braian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski, David Becker, Craig Chambers, and Susan Eggers. Extensibility, Safety and Performance in the SPIN Operating System. In Proceedings of the 15th ACM Symposium on Operating Systems Principles (SOSP '95), pages 267--283, December 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Daniel P. Bovet and Marco Cesati. Understanding the LINUX KERNEL (3rd Edition). O'Reilly Media,Inc., 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Lawrence S. Brakmo, Sean W. O'Malley, and Larry L. Peterson. TCP Vegas: New Techniques for Congestion Detection and Avoidance. In Proceedings of ACM SIGCOMM '94, pages 24--35, August 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Edouard Bugnion, Scott Devine, and Mendel Rosenblum. Disco: Running Commodity Operating Systems on Scalable Multiprocessors. In Proceedings of the 16th ACM Symposium on Operating Systems Principles (SOSP '97), pages 143--156, December 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Bryan Cantrill, Michael W. Shapiro, and Adam H. Leventhal. Dynamic Instrumentation of Production Systems. In Proceedings of the USENIX 2004 Annual Technical Conference (USENIX '04), pages 15--28, June 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Peter M. Chen and Brian D. Noble. When Virtual is Better than Real. In Proceedings of Workshop on Hot Topics in Operating Systems (HotOS '01), pages 133--138, June 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Lars Eggert and Joseph D. Touch. Idletime Scheduling with Preemption Intervals. In Proceedings of ACM Symposium on Operating Systems Principles (SOSP '05), pages 249--262, October 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Dawson R. Engler, M. Frans Kaashoek, and James O'Toole. Exokernel: An Operating System Architecture for Application-Level Resource Management. In Proceedings of the 15th ACM Symposium on Operating Systems Principles (SOSP'95), pages 251--266, December 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Rovert P. Goldberg. Survey of virtual machine research. IEEE Computer Magazine, 7(6):34--45, 1974.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Hermann HÝartig, Michael Hohmuth, Jochen Liedtke, Sebastian SchÝonberg, and Jean Wolter. The Performance of ¼-Kernel-Based Systems. In Proceedings of the 16th Symposium on Operating Systems Principles (SOSP '97), pages 66--77, October 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Stephen T. Jones, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. Antfarm: Tracking processes in a virtual machine environment. In Proceedings of USENIX Annual Technical Conference (USENIX '06), June 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Stephen T. Jones, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. Geiger: Monitoring the buffer cache in a virtual machine environment. In Proceedings of Architectural Support for Programming Languages and Operating Systems (ASPLOS '06), October 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Ashlesha Joshi, Samuel T. King, George W. Dunlap, and Peter M. Chen. Detecting past and present intrusions through vulnerability specific predicates. In Proceedings of the 20th ACM Symposium on Operating Systems Principles (SOSP '05), pages 91--104, October 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Travis Newhouse and Joseph Pasquale. ALPS: An Application-Level Proportional-Share Scheduler. In Proceedings of IEEE International Symposium on High Performance Distributed Computing (HPDC '06), pages 279--290, June 2006.Google ScholarGoogle Scholar
  19. Richard F. Rashid and George G. Robertson. Accent: A communication oriented network operating system kernel. In Proceedings of the 8th ACM Symposium on Operating Systems Principles (SOSP '81), pages 64--75, December 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Yaoping Ruan and Vivek Pai. Making the "Box" Transparent: System Call Performance as a First--class Result. In Proceedings of the USENIX 2004 Annual Technical Conference (USENIX '04), pages 1--14, June 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Margo I. Seltzer, Yasuhiro Endo, Christopher Small, and Keith A. Smith. Dealing With Disaster: Surviving Misbehaved Kernel Extensions. In Proceedings of the 2nd Symposium on Operating Systems Design and Implementation (OSDI '96), pages 213--227, October 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. S. Shenker and J. Wroclawski. RFC2216: Network Element Service Specification Template, 1997. http://rfc.net/rfc2216.html. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Jeremy Sugerman, Ganesh Venkitachalam, and Beng-Hong Lim. Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor. In Proceedings of the USENIX 2001 Annual Technical Conference (USENIX '01), pages 1--14, June 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Volkmar Uhlig, Joshua LeVasseur, Espen Skoglund, and Uwe Dannowski. Towards Scalable Multiprocessor Virtual Machines. In Proceedings of Virtual Machine Research and Technology Symposium (VM '04), pages 43--56, May 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Michael Vrable, Justin Ma, Jay Chen, David Moore, Erik Vandekieft, Alex Snoeren, Geoffrey Voelker, and Stefan Savage. Scalability, Fidelity, and Containment in the Potemkin Virtual Honeyfarm. In Proceedings of the 20th ACM Symposium on Operating Systems Principles (SOSP '05), pages 148--162, December 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Carl A. Waldspurger. Memory Resource Management in VMware ESX Server. In Proceedings of Symposium on Operating System Design and Implementation (OSDI '02), pages 181--194, December 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Andrew Whitaker, Marianne Shaw, and Steven D. Gribble. Scale and Performance in the Denali Isolation Kernel. In Proceedings of Symposium on Operating System Design and Implementation (OSDI '02), pages 195--209, December 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. FoxyTechnique: tricking operating system policies with a virtual machine monitor

      Recommendations

      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 '07: Proceedings of the 3rd international conference on Virtual execution environments
        June 2007
        210 pages
        ISBN:9781595936301
        DOI:10.1145/1254810

        Copyright © 2007 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: 13 June 2007

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Acceptance Rates

        Overall Acceptance Rate80of235submissions,34%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader