Turning down the LAMP: Software Specialisation for the Cloud

  • Anil Madhavapeddy ,
  • Richard Mortier ,
  • Ripduman Sohan ,
  • Thomas Gazagnaire ,
  • Steven Hand ,
  • ,
  • Derek McAuley ,
  • Jon Crowcroft

2nd HotCloud |

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, Python and Ruby, and we discuss lessons learnt and future directions.