Nswap: Network RAM for Linux Clusters

Project Overview Publications People Related Work

Our research group is interested in problems associated with providing system level support for cluster computing. A "cluster" can be defined as a collection of interconnected computers (workstations or PCs each running an off-the-shelf OS), that run special software that makes them look and act as a single, large, parallel machine.

Our current project, Nswap, is a network swapping system (or Network RAM system) for clusters. Cluster applications that process large amounts of data, such as parallel scientific or multimedia applications, are likely to cause disk swapping on individual cluster nodes. These applications will perform better on clusters with network swapping support. Network swapping allows any cluster node with over-committed memory to use the idle memory of remote nodes for its backing store and to "swap" its pages over the network. As the disparity between network speeds and disk speeds continues to grow, network swapping will be faster than traditional swapping to local disk.

Nswap is implemented as a loadable kernel module that runs entirely in kernel space on an unmodified Linux 2.4 kernel. It transparently and efficiently provides network swapping to cluster applications. Nswap is designed to scale to larger clusters. Nswap adapts to changes in a node's memory load; when a node needs more memory for its local processes, it acts as an Nswap client swapping its pages over the network, and when a node has idle RAM space it acts as an Nswap server caching other nodes' swapped pages. Nswap supports migration of remotely swapped pages between servers storing them, and it dynamically grows and shrinks the size of each node's Nswap Cache (the amount of RAM currently allocated for storing remotely cached pages) in response to a node's local memory needs. Preliminary results show Nswap outperforms swapping to disk for most workloads. For more information, see the following:

Publications

Papers:

Posters:

  • "Reliability for Nswap"
    Jenny Barry, America Holloway, Heather Jones, Advisor: Tia Newhall
    Tenth Annual Consortium for Computing Sciences in Colleges Northeastern Conference, Student Poster Session , Providence, RI, April 2005.
  • "Reliability Algorithms for Network Swapping Systems with Page Migration"
    Benjamin Mitchell, Julian Rosse, Tia Newhall
    Poster Session of 2004 IEEE International Conference on Cluster Computing, September 2004.
  • "The Nswap Module for Network Swap"
    Sean Finney, Kuzman Ganchev, Matti Klock, Michael Spiegel, Advisor: Tia Newhall
    Eighth Annual Consortium for Computing Sciences in Colleges Northeastern Conference, Student Poster Session, Providence, RI, April 2003. (poster.pdf , abstract.pdf).

Project Members

Students past and present:

  Alexandr Pshenichkin'07
  Dan Amato'07
  Jenny Barry'07
  Heather Jones'06
  America Holloway'05
  Ben Mitchell'05
  Julian Rosse'04
  Sean Finney'03
  Kuzman Ganchev'03
  Michael Spiegel'03
  Matti Klock'03
  Gabriel Rosenkoetter'02
  Rafael Hinojosa'02

Tia Newhall Assoc. Prof


Kuzman and Sean at CCSCNE'03

Jenny and America at CCSCNE'05

Alex and Dan at Sigma Xi poster session'06

Related Projects

Other Cluster Computing Projects

Some other network RAM projects: