Enhancing cloud environments with inter-virtual machine shared memory

  • Author / Creator
    Wolfe Gordon, Adam
  • Cloud computing has emerged as a popular mechanism for deploying services and running applications. A key feature of many cloud environments is the use of virtual machines (VMs) as the unit of resource allocation. Multiple virtual machines running the same application may be co-located on a single physical host, by either chance or design, in which case we can share memory between them, providing fast inter-process communication to applications. It is desirable to use inter-VM shared memory at the framework and service level, providing its advantages to applications transparently. We present two use cases for inter-VM shared memory. Elastic Phoenix, a MapReduce framework allowing for malleable jobs, demonstrates how inter-VM shared memory allows the easy addition of features to existing frameworks, making them more suitable for cloud computing. Nahanni Memcached, a caching server for web applications, demonstrates how existing services can use inter-VM shared memory to improve performance.

  • Subjects / Keywords
  • Graduation date
  • Type of Item
  • Degree
    Master of Science
  • DOI
  • License
    This thesis is made available by the University of Alberta Libraries with permission of the copyright owner solely for non-commercial purposes. This thesis, or any portion thereof, may not otherwise be copied or reproduced without the written consent of the copyright owner, except to the extent permitted by Canadian copyright law.
  • Language
  • Institution
    University of Alberta
  • Degree level
  • Department
    • Department of Computing Science
  • Supervisor / co-supervisor and their department(s)
    • Lu, Paul (Computing Science)
  • Examining committee members and their departments
    • Stroulia, Eleni (Computing Science)
    • Sydora, Richard (Physics)