MemX : Supporting Large Memory Workloads on Virtualized Commodity Clusters

Modern enterprise and grid computing applications increasingly execute on clusters that virtualize the underlying physical resources to improve cluster-wide utilization efficiency. These applications tend to have memory and I/O intensive workloads, such as large databases, data mining, scientific workloads, and web services, which can strain the limited I/O and memory resources within a single physical or virtual machine. In this project, we have developed a distributed system, called MemX, that can virtualize the use of cluster-wide memory resources to transparently support large memory and I/O intensive workloads. Applications using MemX do not require specialized APIs, libraries, recompilation, relinking, or dataset pre-partitioning. MemX can operate in both native Linux and virtual machine environments to support low-latency I/O, paging, and global shared namespaces over cluster-wide memory. Performance evaluation using several resource-intensive benchmarks in both virtualized and non-virtualized Linux shows that large dataset applications and multiple concurrent VMs achieve significant speedups using MemX compared against local and iSCSI disks. As an added benefit, live Xen VMs using MemX can migrate seamlessly without disrupting any running applications.

Publications

  1. Umesh Deshpande, Beilan Wang, Shafee haque, Michael Hines, and Kartik Gopalan, MemX: Virtualization of Cluster-wide Memory, In Proc. of 39th International Conference on Parallel Processing (ICPP), San Diego, CA, USA, September 2010. [pdf] [bibtex]
  2. Michael Hines and Kartik Gopalan, MemX: Supporting Large Memory Workloads in Xen Virtual Machines, In Proc. of the International Workshop on Virtualization Technology in Distributed Computing (VTDC), Reno, NV, November 2007. [pdf] [bibtex]
  3. Michael Hines, Jian Wang, Kartik Gopalan, Distributed Anemone: Transparent Low-Latency Access to Remote Memory in Commodity Clusters, In Proc. of the International Conference on High Performance Computing (HiPC), December 2006. [pdf] [bibtex]

Acknowledgement

This material is based upon work supported in part by the National Science Foundation under grants 0855204 and 0845832