Abstract
© USENIX Workshop on Hot Topics in Cloud Computing, HotCloud 2010.All right reserved. The wide availability of cloud computing offers an unprecedented opportunity to rethink how we construct applications. The cloud is currently mostly used to package up existing software stacks and operating systems (e.g. LAMP) for scaling out websites. We instead view the cloud as a stable hardware platform, and present a programming framework which permits applications to be constructed to run directly on top of it without intervening software layers. Our prototype (dubbed Mirage) is unashamedly academic; it extends the Objective Caml language with storage extensions and a custom run-time to emit binaries that execute as a guest operating system under Xen. Mirage applications exhibit significant performance speedups for I/O and memory handling versus the same code running under Linux/Xen. Our results can be generalised to offer insight into improving more commonly used languages such as PHP, Pytho...
References (39)
- Amazon Web Services. http://aws.amazon.com.
- A. Baumann, P. Barham, P.-E. Dagand, T. Harris, R. Isaacs, S. Peter, T. Roscoe, A. Schüpbach, and A. Sing- hania. The multikernel: a new OS architecture for scal- able multicore systems. In Proceedings of the ACM SIGOPS 22nd symposium on Operating Systems Princi- ples, pages 29-44, New York, NY, USA, 2009. ACM.
- E. Biagioni. A structured TCP in Standard ML. In Pro- ceedings of the Conference on Communications Archi- tectures, Protocols and Applications (SIGCOMM), pages 36-45, New York, NY, USA, 1994. ACM Press.
- S. Bishop, M. Fairbairn, M. Norrish, P. Sewell, M. Smith, and K. Wansbrough. Rigorous specification and con- formance testing techniques for network protocols, as applied to TCP, UDP, and sockets. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications (SIGCOMM), pages 265- 276. ACM Press, 2005.
- X. Clerc. Cadmium. http://cadmium.x9c.fr.
- J. Corbet. Barriers and journalling filesystems. http: //lwn.net/Articles/283161, May 2008.
- D. Coutts. Birth of the industrial haskell group. In CUFP '09: Proceedings of the 2009 Video Workshop on Com- mercial Users of Functional Programming, page 1, New York, NY, USA, 2009. ACM.
- D. R. Engler, M. F. Kaashoek, and J. O'Toole Jr. Exoker- nel: an operating system architecture for application-level resource management. In Proceedings of the 15th ACM Symposium on Operating Systems Principles, pages 251- 266, Colorado, December 1995.
- M. Fernandez. Comparing lightweight threads. http://eigenclass.org/hiki/ lightweight-threads-with-lwt, 2008.
- B. Ford, G. Back, G. Benson, J. Lepreau, A. Lin, and O. Shivers. The Flux OSKit: a substrate for kernel and language research. In Proceedings of the 16th ACM Sym- posium on Operating Systems Principles (SOSP), pages 38-51, New York, NY, USA, 1997. ACM Press.
- G. Fu. Design and implementation of an operating system in Standard ML. Master's thesis, University of Hawaii, 1999.
- T. Gazagnaire and A. Madhavapeddy. Statically-typed value persistence for ML. In Workshop on Generative Technologies (WGT). ACM, Mar. 2010.
- T. Hallgren, M. P. Jones, R. Leslie, and A. Tolmach. A principled approach to operating system construction in haskell. SIGPLAN Not., 40(9):116-128, 2005.
- C. Lattner and V. Adve. Llvm: A compilation framework for lifelong program analysis & transformation. In CGO '04: Proceedings of the international symposium on Code generation and optimization, page 75, Washington, DC, USA, 2004. IEEE Computer Society.
- N. Leavitt. Will nosql databases live up to their promise? Computer, 43(2):12-14, 2010.
- X. Leroy. The Zinc experiment: An economical imple- mentation of the ML language. 117, INRIA, 1990.
- X. Leroy, D. Doligez, J. Garrigue, D. Rémy, and J. Vouil- lon. The Objective Caml system, 2005.
- A. Madhavapeddy. Mirage. http://github.com/ mirage.
- A. Madhavapeddy, A. Ho, T. Deegan, D. Scott, and R. So- han. Melange: creating a "functional" Internet. SIGOPS Oper. Syst. Rev., 41(3):101-114, 2007.
- A. Madhavapeddy, R. Mortier, J. Crowcroft, and S. Hand. Multiscale not multicore: Efficient heterogeneous cloud computing. In Proc. ACM-BCS Visions of Computer Sci- ence, Electronic Workshops in Computing, Edinburgh, UK, Apr. 2010. BCS.
- Y. Minsky and S. Weeks. Caml trading -experiences with functional programming on wall street. J. Funct. Program., 18(4):553-564, 2008.
- D. Murray and S. Hand. Scripting the cloud with Skywrit- ing. In Hot Topics in Cloud Computing (HotCloud 2010), Boston, MA, USA, June 2010. USENIX Association.
- E. B. Nightingale, K. Veeraraghavan, P. M. Chen, and J. Flinn. Rethink the sync. ACM Trans. Comput. Syst., 26(3), 2008.
- R. Pike. Systems software research is irrelevant, 2000.
- I. Pratt, K. Fraser, S. Hand, C. Limpach, A. Warfield, D. Magenheimer, J. Nakajima, and A. Mallick. Xen 3.0 and the art of virtualization. In Proceedings of the 2005 Ottawa Linux Symposium, July 2005.
- T. Roscoe, K. Elphinstone, and G. Heiser. Hype and virtue. In HOTOS'07: Proceedings of the 11th USENIX workshop on Hot topics in operating systems, pages 1-6, Berkeley, CA, USA, 2007. USENIX Association.
- D. Scott, R. Sharp, T. Gazagnaire, and A. Madhavapeddy. Using Functional Programming within an Industrial Prod- uct Group: Perspectives and Perceptions. Technical Re- port to appear, Citrix Systems, April 2010.
- H. Shacham, M. Page, B. Pfaff, E.-J. Goh, N. Modadugu, and D. Boneh. On the effectiveness of address-space ran- domization. In Proceedings of the 11th ACM Conference on Computer and Communications Security (CCS), pages 298-307, New York, NY, USA, 2004. ACM Press.
- J. S. Shapiro and J. Adams. Design evolution of the eros single-level store. In ATEC '02: Proceedings of the Gen- eral Track of the annual conference on USENIX Annual Technical Conference, pages 59-72, Berkeley, CA, USA, 2002. USENIX Association.
- J. S. Shapiro and N. Hardy. Eros: A principle-driven operating system from the ground up. IEEE Software, 19(1):26-33, 2002.
- D. Syme, A. Granicz, and A. Cisternino. Expert F# (Ex- pert's Voice in .Net).
- D. L. Tennenhouse. Layered multiplexing considered harmful. In Proceedings of the 1st International Work- shop on High-Speed Networks, November 1989.
- R. von Behren, J. Condit, and E. Brewer. Why events are a bad idea (for high-concurrency servers). In Proceedings of the 9th conference on Hot Topics in Operating Systems, pages 4-4, Berkeley, CA, USA, 2003. USENIX Associa- tion.
- R. von Behren, J. Condit, F. Zhou, G. C. Necula, and E. Brewer. Capriccio: scalable threads for internet ser- vices. In SOSP '03: Proceedings of the nineteenth ACM symposium on Operating systems principles, pages 268- 281, New York, NY, USA, 2003. ACM.
- J. Vouillon. Lwt: a cooperative thread library. In ML '08: Proceedings of the 2008 ACM SIGPLAN workshop on ML, pages 3-12, New York, NY, USA, 2008. ACM.
- A. Warfield, K. Fraser, S. Hand, and T. Deegan. Facili- tating the development of soft devices. In Proceedings of the 2005 USENIX Annual Technical Conference (General Track), pages 379-382. USENIX, April 2005.
- M. Welsh, D. Culler, and E. Brewer. SEDA: an archi- tecture for well-conditioned, scalable internet services. SIGOPS Oper. Syst. Rev., 35(5):230-243, 2001.
- M. S. Wilson. Constructing and managing appliances for cloud deployments from repositories of reusable com- ponents. In Hot Topics in Cloud Computing (HotCloud 2009). USENIX Association, June 2009.
- H. Zhao, I. Proctor, and M. Yang. Hiphop for PHP. http://developers.facebook.com/ blog/post/358.