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.
- Cloudyn Use Cases (Online). burlhttps://www.cloudyn.com/use-cases/.Google Scholar
- GoGrid Service Level Agreement (Online).burlhttp://www.gogrid.com/legal/service-level-agreement-sla.Google Scholar
- 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 Scholar
- NTT Service Level Agreement (Online).burlhttp://www.us.ntt.net/support/sla/network.cfm.Google Scholar
- Verizon Service Level Agreement (Online).burlhttp://www.verizonenterprise.com/about/network/latency/.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- N. Amit, M. Ben-Yehuda, D. Tsafrir, and A. Schuster. vIOMMU: efficient IOMMU emulation. In USENIX Annual Technical Conference (ATC), 2011.Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
- A. Dunkels. Design and implementation of the lwIP TCP/IP stack. In Swedish Institute of Computer Science, volume 2, page 77, 2001.Google Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- F. Kelly. Charging and rate control for elastic traffic. European Transactions on Telecommunications, 8, 1997.Google Scholar
- 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 Scholar
- 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 Scholar
- , 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- Note1. https://www.cloudsigma.com/pricing/ accessed in October 2015.Google Scholar
- Note2. Kovacs, Kristof, "Charting CloudSigma Burst Prices", http://kkovacs.eu/cloudsigma-burst-price-chart, July 2012, accessed October 2015.Google Scholar
- Note3. Paavolainen Santeri, http://santtu.iki.fi/2014/03/20/ec2-spot-market/, March 2014, accessed October 2015.Google Scholar
- 007)]sriovPCI SIG. Single root I/O virtualization and sharing 1.0 specification, 2007.Google Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- L. Rizzo. Netmap: a novel framework for fast packet I/O. In USENIX Annual Technical Conference (ATC), 2012.Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- vfio. VFIO driver: non-privileged user level PCI drivers. http://lwn.net/Articles/391459/, Jun 2010. (Accessed Feb., 2015).Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Index Terms
The nom Profit-Maximizing Operating System
Recommendations
The nom Profit-Maximizing Operating System
VEE '16: Proceedings of the12th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution EnvironmentsIn 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 ...
Provider Competition in Infrastructure-as-a-Service
SCC '14: Proceedings of the 2014 IEEE International Conference on Services ComputingThis paper explores how cloud provider competition influences instance pricing in an IaaS (Infrastructure-as-a-Service) market. When reserved instance pricing includes an on-demand price component in addition to a reservation fee (two-part tariffs), ...
A Study of Competitive Cloud Resource Pricing under a Smart Grid Environment
CLOUDCOM '13: Proceedings of the 2013 IEEE International Conference on Cloud Computing Technology and Science - Volume 01In the current IaaS cloud market, to achieve profit maximization, multiple cloud providers compete non-cooperatively by offering diverse price rates. At the same time, tenant consumers judiciously adjust demands accordingly, which in turn affects cloud ...







Comments