skip to main content
research-article

The nom Profit-Maximizing Operating System

Published:25 March 2016Publication History
Skip Abstract Section

Abstract

In the near future, cloud providers will sell their users virtual machines with CPU, memory, network, and storage resources whose prices constantly change according to market-driven supply and demand conditions. Running traditional operating systems in these virtual machines is a poor fit: traditional operating systems are not aware of changing resource prices and their sole aim is to maximize performance with no consideration of costs. Consequently, they yield low profits.

We present nom, a profit-maximizing operating system designed for cloud computing platforms with dynamic resource prices. Applications running on nom aim to maximize profits by optimizing simultaneously for performance and resource costs. The nom kernel provides them with direct access to the underlying hardware and full control over their private software stacks. Since nom applications know there is no single ``best'' software stack, they adapt their stacks' behavior on the fly according to the current price of available resources and their private utility from them, which differs between applications. We show that in addition to achieving up to 3.9x better throughput and up to 9.1x better latency, nom applications yield up to 11.1x higher profits when compared with the same applications running on Linux and OSv.

References

  1. Cloudyn Use Cases (Online). burlhttps://www.cloudyn.com/use-cases/.Google ScholarGoogle Scholar
  2. GoGrid Service Level Agreement (Online).burlhttp://www.gogrid.com/legal/service-level-agreement-sla.Google ScholarGoogle Scholar
  3. Intel Xeon processor E5 v3 family.burlhttp://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf.Google ScholarGoogle Scholar
  4. NTT Service Level Agreement (Online).burlhttp://www.us.ntt.net/support/sla/network.cfm.Google ScholarGoogle Scholar
  5. Verizon Service Level Agreement (Online).burlhttp://www.verizonenterprise.com/about/network/latency/.Google ScholarGoogle Scholar
  6. t al.(2011)Agmon Ben-Yehuda, Ben-Yehuda, Schuster, and Tsafrir]agmonben-yehuda11O. Agmon Ben-Yehuda, M. Ben-Yehuda, A. Schuster, and D. Tsafrir. Deconstructing Amazon EC2 spot instance pricing. In IEEE International Conference on Cloud Computing Technology and Science (CloudCom), 2011.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. t al.(2012)Agmon Ben-Yehuda, Ben-Yehuda, Schuster, and Tsafrir]agmon-benyehuda12-raasO. Agmon Ben-Yehuda, M. Ben-Yehuda, A. Schuster, and D. Tsafrir. The Resource-as-a-Service (RaaS) cloud. In USENIX Conference on Hot Topics in Cloud Computing (HotCloud), 2012.Google ScholarGoogle Scholar
  8. O. Agmon Ben-Yehuda, A. Schuster, A. Sharov, M. Silberstein, and A. Iosup. Expert: Pareto-efficient task replication on grids and clouds. In IEEE International Parallel & Distributed Processing Symposium (IPDPS), 2012.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. O. Agmon Ben-Yehuda, M. Ben-Yehuda, A. Schuster, and D. Tsafrir. The rise of RaaS: The Resource-as-a-Service cloud. Communications of the ACM (CACM), 57 (7): 76--84, July 2014. ISSN 0001-0782. 10.1145/2627422. URL http://doi.acm.org/10.1145/2627422.Google ScholarGoogle Scholar
  10. t al.(2014)Agmon Ben-Yehuda, Posener, Ben-Yehuda, Schuster, and Mu'alem]agmon-benyehuda14-ginsengO. Agmon Ben-Yehuda, E. Posener, M. Ben-Yehuda, A. Schuster, and A. Mu'alem. Ginseng: Market-driven memory allocation. In Proceedings of the 10th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, VEE '14, 2014.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. L. Amar, A. Barak, Z. Drezner, and M. Okun. Randomized gossip algorithms for maintaining a distributed bulletin board with guaranteed age properties. Concurrency and Computation: Practice and Experience, 21 (15): 1907--1927, 2009. ISSN 1532-0634. 10.1002/cpe.1418. URL http://dx.doi.org/10.1002/cpe.1418.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. N. Amit, M. Ben-Yehuda, D. Tsafrir, and A. Schuster. vIOMMU: efficient IOMMU emulation. In USENIX Annual Technical Conference (ATC), 2011.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. G. Ammons, D. D. Silva, O. Krieger, D. Grove, B. Rosenburg, R. W. Wisniewski, M. Butrico, K. Kawachiya, and E. V. Hensbergen. Libra: A library operating system for a JVM in a virtualized execution environment. In ACM/USENIX International Conference on Virtual Execution Environments (VEE), 2007.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. A. Barak, S. Guday, and R. G. Wheeler. The MOSIX Distributed Operating System: Load Balancing for UNIX. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 1993. ISBN 0387566635.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ACM Symposium on Operating Systems Principles (SOSP), 2003.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. A. Baumann, P. Barham, P.-E. Dagand, T. Harris, R. Isaacs, S. Peter, T. Roscoe, A. Schüpbach, and A. Singhania. The multikernel: a new OS architecture for scalable multicore systems. In ACM Symposium on Operating Systems Principles (SOSP), 2009. http://dx.doi.org/10.1145/1629575.1629579.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. A. Belay, A. Bittau, A. Mashtizadeh, D. Terei, D. Mazieres, and C. Kozyrakis. Dune: Safe user-level access to privileged cpu features. In Symposium on Operating Systems Design & Implementation (OSDI), 2012.Google ScholarGoogle Scholar
  18. A. Belay, G. Prekas, A. Klimovic, S. Grossman, C. Kozyrakis, and E. Bugnion. Ix: A protected dataplane operating system for high throughput and low latency. In Symposium on Operating Systems Design & Implementation (OSDI), 2014.Google ScholarGoogle Scholar
  19. A. M. Caulfield, T. I. Mollov, L. A. Eisner, A. De, J. Coburn, and S. Swanson. Providing safe, user space access to fast, solid state disks. In ACM Architectural Support for Programming Languages & Operating Systems (ASPLOS), 2012.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Y. Chen, A. Bilas, S. N. Damianakis, C. Dubnicki, and K. Li. UTLB: a mechanism for address translation on network interfaces. SIGPLAN Not., 33: 193--204, October 1998. ISSN 0362--1340. 10.1145/291006.291046. URL http://dx.doi.org/10.1145/291006.291046.Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Y. Ding, M. Kandemir, P. Raghavan, and M. J. Irwin. A helper thread based EDP reduction scheme for adapting application execution in cmps. In IEEE International Parallel & Distributed Processing Symposium (IPDPS), 2008.Google ScholarGoogle ScholarCross RefCross Ref
  22. C. Dovrolis, B. Thayer, and P. Ramanathan. HIP: hybrid interrupt-polling for the network interface. ACM SIGOPS Operating Systems Review (OSR), 35: 50--60, 2001. ISSN 0163--5980. http://doi.acm.org/10.1145/506084.506089. URL http://doi.acm.org/10.1145/506084.506089.Google ScholarGoogle Scholar
  23. A. Dunkels. Design and implementation of the lwIP TCP/IP stack. In Swedish Institute of Computer Science, volume 2, page 77, 2001.Google ScholarGoogle Scholar
  24. D. R. Engler and M. F. Kaashoek. Exterminate all operating system abstractions. In USENIX Workshop on Hot Topics in Operating Systems (HOTOS), pages 78--83. IEEE Computer Society, 1995.Google ScholarGoogle ScholarCross RefCross Ref
  25. engler95-sospD. R. Engler, M. F. Kaashoek, and J. O'Toole Jr. Exokernel: an operating system architecture for application-level resource management. In ACM Symposium on Operating Systems Principles (SOSP), 1995.Google ScholarGoogle Scholar
  26. B. Fitzpatrick. Distributed caching with memcached. Linux J., 2004 (124): 5--, Aug. 2004. ISSN 1075--3583. URL http://dl.acm.org/citation.cfm?id=1012889.1012894.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. G. R. Ganger, D. R. Engler, M. F. Kaashoek, H. M. Briceno, R. Hunt, and T. Pinckney. Fast and flexible application-level networking on exokernel systems. ACM Transactions on Computer Systems (TOCS), 20 (1): 49--83, February 2002.Google ScholarGoogle Scholar
  28. A. Gordon, M. Hines, D. Da Silva, M. Ben-Yehuda, M. Silva, and G. Lizarraga. Ginkgo: Automated, application-driven memory overcommitment for cloud computing. In Runtime Environments/Systems, Layering, & Virtualized Environments workshop (ASPLOS RESOLVE), 2011.Google ScholarGoogle Scholar
  29. Gordon, Amit, Har'El, Ben-Yehuda, Landau, Tsafrir, and Schuster]gordon12A. Gordon, N. Amit, N. Har'El, M. Ben-Yehuda, A. Landau, D. Tsafrir, and A. Schuster. ELI: Bare-metal performance for I/O virtualization. In ACM Architectural Support for Programming Languages & Operating Systems (ASPLOS), 2012.Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Gordon, Har'El, Landau, Ben-Yehuda, and Traeger]gordon12-elvisA. Gordon, N. Har'El, A. Landau, M. Ben-Yehuda, and A. Traeger. Towards exitless and efficient paravirtual I/O. In The 5th Annual International Systems and Storage Conference (SYSTOR), 2012.Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. S. Han, S. Marshall, B.-G. Chun, and S. Ratnasamy. Megapipe: A new programming interface for scalable network i/o. In Symposium on Operating Systems Design & Implementation (OSDI), pages 135--148, Hollywood, CA, 2012. USENIX. ISBN 978-1-931971-96-6. URL https://www.usenix.org/conference/osdi12/technical-sessions/presentation/han.Google ScholarGoogle Scholar
  32. S. M. Hand. Self-paging in the Nemesis operating system. In Symposium on Operating Systems Design & Implementation (OSDI), pages 73--86, Berkeley, CA, USA, 1999. USENIX Association. ISBN 1--880446--39--1. URL http://portal.acm.org/citation.cfm?id=296812.Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. N. Har'El, A. Gordon, A. Landau, M. Ben-Yehuda, A. Traeger, and R. Ladelsky. Efficient and scalable paravirtual I/O system. In USENIX Annual Technical Conference (ATC), 2013.Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. G. Heiser, K. Elphinstone, J. Vochteloo, S. Russell, and J. Liedtke. The mungi single-address-space operating system. Software: Practice and Experience, 28 (9): 901--928, 1998. ISSN 1097-024X. 10.1002/(SICI)1097-024X(19980725)28:9<901::AID-SPE181>3.0.CO;2-7. URL http://dx.doi.org/10.1002/(SICI)1097-024X(19980725)28:9<901::AID-SPE181>3.0.CO;2-7.Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. M. Hines, A. Gordon, M. Silva, D. D. Silva, K. D. Ryu, and M. Ben-Yehuda. Applications know best: Performance-driven memory overcommit with ginkgo. In IEEE International Conference on Cloud Computing Technology and Science (CloudCom), 2011.Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Intel. Intel virtualization technology for directed I/O, architecture specification. ftp://download.intel.com/technology/computing/vptech/Intel(r)\_VT\_for\_Direct\_IO.pdf, Feb 2011. Revision 1.3. Intel Corporation. (Accessed Apr 2011).Google ScholarGoogle Scholar
  37. A. Itzkovitz and A. Schuster. MultiView and MilliPage--fine-grain sharing in page-based DSMs. In Symposium on Operating Systems Design & Implementation (OSDI), 1999.Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. E. Jeong, S. Wood, M. Jamshed, H. Jeong, S. Ihm, D. Han, and K. Park. mtcp: a highly scalable user-level tcp stack for multicore systems. pages 489--502, Seattle, WA, Apr. 2014. USENIX Association. ISBN 978--1--931971-09--6. URL https://www.usenix.org/conference/nsdi14/technical-sessions/presentation/jeong.Google ScholarGoogle Scholar
  39. E. Keller, J. Szefer, J. Rexford, and R. B. Lee. Nohype: virtualized cloud infrastructure without the virtualization. In ACM/IEEE International Symposium on Computer Architecture (ISCA), New York, NY, USA, 2010. ACM. ISBN 978--1--4503-0053--7. http://doi.acm.org/10.1145/1815961.1816010.Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. F. Kelly. Charging and rate control for elastic traffic. European Transactions on Telecommunications, 8, 1997.Google ScholarGoogle Scholar
  41. R. E. Kessler and M. D. Hill. Page placement algorithms for large real-indexed caches. ACM Transactions on Computer Systems (TOCS), 10 (4): 338--359, Nov. 1992. ISSN 0734--2071. 10.1145/138873.138876. URL http://doi.acm.org/10.1145/138873.138876.Google ScholarGoogle Scholar
  42. A. Kivity, Y. Kamay, D. Laor, U. Lublin, and A. Liguori. KVM: the Linux virtual machine monitor. In Ottawa Linux Symposium (OLS), 2007. http://www.kernel.org/doc/ols/2007/ols2007v1-pages-225-230.pdf. (Accessed Apr, 2011).Google ScholarGoogle Scholar
  43. , Marti, and Zolotarov]kivity14A. Kivity, D. Laor, G. Costa, P. Enberg, N. Har\textquoterightEl, D. Marti, and V. Zolotarov. Osv\textemdashoptimizing the operating system for virtual machines. In USENIX Annual Technical Conference (ATC), 2014.Google ScholarGoogle Scholar
  44. G. Klein, K. Elphinstone, G. Heiser, J. Andronick, D. Cock, P. Derrin, D. Elkaduwe, K. Engelhardt, R. Kolanski, M. Norrish, T. Sewell, H. Tuch, and S. Winwood. seL4: formal verification of an os kernel. In ACM Symposium on Operating Systems Principles (SOSP), 2009.Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. O. Krieger, M. Auslander, B. Rosenburg, R. W. Wisniewski, J. Xenidis, D. Da Silva, M. Ostrowski, J. Appavoo, M. Butrico, M. Mergen, A. Waterland, and V. Uhlig. K42: building a complete operating system. In ACM SIGOPS European Conference on Computer Systems (EuroSys), 2006.Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. A. Landau, M. Ben-Yehuda, and A. Gordon. SplitX: Split guest/hypervisor execution on multi-core. In USENIX Workshop on I/O Virtualization (WIOV), 2011.Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. C. B. Lee and A. E. Snavely. Precise and realistic utility functions for user-centric performance analysis of schedulers. In International Symposium on High Performance Distributed Computer (HPDC), 2007.Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. I. Leslie, D. McAuley, R. Black, T. Roscoe, P. Barham, D. Evers, R. Fairbairns, and E. Hyden. The design and implementation of an operating system to support distributed multimedia applications. Selected Areas in Communications, IEEE Journal on, 14 (7): 1280--1297, Sep 1996. ISSN 0733--8716. 10.1109/49.536480.Google ScholarGoogle Scholar
  49. J. LeVasseur, V. Uhlig, J. Stoess, and S. Götz. Unmodified device driver reuse and improved system dependability via virtual machines. In Symposium on Operating Systems Design & Implementation (OSDI), 2004.Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. J. Liu, W. Huang, B. Abali, and D. K. Panda. High performance VMM-bypass I/O in virtual machines. In USENIX Annual Technical Conference (ATC), pages 29--42, 2006.Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. D. Lo, L. Cheng, R. Govindaraju, L. A. Barroso, and C. Kozyrakis. Towards energy proportionality for large-scale latency-critical workloads. In Proceeding of the 41st Annual International Symposium on Computer Architecuture, ACM/IEEE International Symposium on Computer Architecture (ISCA), pages 301--312, Piscataway, NJ, USA, 2014. IEEE Press. ISBN 978-1-4799-4394-4. URL http://dl.acm.org/citation.cfm?id=2665671.2665718.Google ScholarGoogle ScholarCross RefCross Ref
  52. A. Madhavapeddy, R. Mortier, R. Sohan, T. Gazagnaire, S. Hand, T. Deegan, D. McAuley, and J. Crowcroft. Turning down the lamp: software specialisation for the cloud. In USENIX Conference on Hot Topics in Cloud Computing (HotCloud), 2010.Google ScholarGoogle Scholar
  53. A. Madhavapeddy, R. Mortier, C. Rotsos, D. Scott, B. Singh, T. Gazagnaire, S. Smith, S. Hand, and J. Crowcroft. Unikernels: Library operating systems for the cloud. In ACM Architectural Support for Programming Languages & Operating Systems (ASPLOS), 2013.Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. J. C. Mogul and K. K. Ramakrishnan. Eliminating receive livelock in an interrupt-driven kernel. ACM Transactions on Computer Systems (TOCS), 15: 217--252, 1997. ISSN 0734--2071. http://doi.acm.org/10.1145/263326.263335. URL http://doi.acm.org/10.1145/263326.263335.Google ScholarGoogle Scholar
  55. Note1. https://www.cloudsigma.com/pricing/ accessed in October 2015.Google ScholarGoogle Scholar
  56. Note2. Kovacs, Kristof, "Charting CloudSigma Burst Prices", http://kkovacs.eu/cloudsigma-burst-price-chart, July 2012, accessed October 2015.Google ScholarGoogle Scholar
  57. Note3. Paavolainen Santeri, http://santtu.iki.fi/2014/03/20/ec2-spot-market/, March 2014, accessed October 2015.Google ScholarGoogle Scholar
  58. 007)]sriovPCI SIG. Single root I/O virtualization and sharing 1.0 specification, 2007.Google ScholarGoogle Scholar
  59. S. Peter, J. Li, I. Zhang, D. R. K. Ports, D. Woos, A. Krishnamurthy, T. Anderson, and T. Roscoe. Arrakis: The operating system is the control plane. In Symposium on Operating Systems Design & Implementation (OSDI), 2014.Google ScholarGoogle Scholar
  60. D. E. Porter, S. Boyd-Wickizer, J. Howell, R. Olinsky, and G. C. Hunt. Rethinking the library OS from the top down. In ACM Architectural Support for Programming Languages & Operating Systems (ASPLOS), 2011.Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. L. Rizzo. Netmap: a novel framework for fast packet I/O. In USENIX Annual Technical Conference (ATC), 2012.Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. R. Russell. virtio: towards a de-facto standard for virtual I/O devices. ACM SIGOPS Operating Systems Review (OSR), 42 (5): 95--103, 2008.Google ScholarGoogle Scholar
  63. L. Ryzhyk, A. Walker, J. Keys, A. Legg, A. Raghunath, M. Stumm, and M. Vij. User-guided device driver synthesis. In Symposium on Operating Systems Design & Implementation (OSDI), pages 661--676, Broomfield, CO, Oct. 2014. USENIX Association. ISBN 978--1--931971--16--4. URL https://www.usenix.org/conference/osdi14/technical-sessions/presentation/ryzhyk.Google ScholarGoogle Scholar
  64. J. H. Salim, R. Olsson, and A. Kuznetsov. Beyond Softnet. In Anual Linux Showcase & Conference, 2001. URL http://portal.acm.org/citation.cfm?id=1268488.1268506.Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. L. Schaelicke and A. L. Davis. Design Trade-Offs for User-Level I/O Architectures. IEEE Trans. Comput., 55: 962--973, August 2006. ISSN 0018--9340. URL http://portal.acm.org/citation.cfm?id=1159194.Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. Q. O. Snell, A. R. Mikler, and J. L. Gustafson. Netpipe: A network protocol independent performance evaluator. IASTED International Conference on Intelligent Information Management and Systems, 6, 1996.Google ScholarGoogle Scholar
  67. R. Uhlig, G. Neiger, D. Rodgers, A. L. Santoni, F. C. M. Martins, A. V. Anderson, S. M. Bennett, A. Kagi, F. H. Leung, and L. Smith. Intel virtualization technology. Computer, 38 (5): 48--56, 2005. ISSN 0018--9162. 10.1109/MC.2005.163. URL http://dx.doi.org/10.1109/MC.2005.163.Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. E. Van Hensbergen. P.R.O.S.E.: partitioned reliable operating system environment. SIGOPS Oper. Syst. Rev., 40 (2): 12--15, Apr. 2006. ISSN 0163--5980. 10.1145/1131322.1131329. URL http://doi.acm.org/10.1145/1131322.1131329.Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. vfio. VFIO driver: non-privileged user level PCI drivers. http://lwn.net/Articles/391459/, Jun 2010. (Accessed Feb., 2015).Google ScholarGoogle Scholar
  70. T. von Eicken, A. Basu, V. Buch, and W. Vogels. U-Net: a user-level network interface for parallel and distributed computing. In ACM Symposium on Operating Systems Principles (SOSP), New York, NY, USA, 1995.Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. P. Willmann, S. Rixner, and A. L. Cox. Protection strategies for direct access to virtualized I/O devices. In USENIX Annual Technical Conference (ATC), 2008.Google ScholarGoogle Scholar
  72. B.-A. Yassour, M. Ben-Yehuda, and O. Wasserman. Direct device assignment for untrusted fully-virtualized virtual machines. Technical Report H-0263, IBM Research, 2008.Google ScholarGoogle Scholar

Index Terms

  1. The nom Profit-Maximizing Operating System

      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

      Full Access

      • Published in

        cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 51, Issue 7
        VEE '16
        July 2016
        167 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/3007611
        Issue’s Table of Contents
        • cover image ACM Conferences
          VEE '16: Proceedings of the12th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments
          March 2016
          186 pages
          ISBN:9781450339476
          DOI:10.1145/2892242

        Copyright © 2016 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 25 March 2016

        Check for updates

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!