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. 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]
  2. 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]
  3. Michael Hines, Mark Lewandowski, Jian Wang, Kartik Gopalan, Implementation Experiences in Transparently Harnessing Cluster-wide Memory, In Proc. of the International Symposium on Performance Evaluation of Computer and Telecommunication Systems (SPECTS), Calgary, Canada, July 2006. [pdf] [bibtex]

Prototype Code

MemX is now available for download under GPL v3 http://memx.googlecode.com. Please email us if you have any questions.