View this page in Romanian courtesy of azoft
View this page in Polish courtesy of paulamniculescu

Nswap: Network RAM for Linux Clusters

(see the Nswap2L page for more recent work)

Project Overview Publications People Related Work

Nswap is a Network RAM system for general purpose Linux clusters and networked systems. 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 RAM support. Network RAM 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, swapping pages over the network to store in the idle RAM of remote nodes will be increasingly 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.6 kernel. It transparently and efficiently provides network RAM to cluster applications. Nswap uses a peer-to-peer design (vs. a centralized system) that scales to large clusters. A novel feature of Nswap is its adaptability 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. Experimental results show Nswap outperforms swapping to disk or to flash SSD for most workloads. For more information, see the following:

Publications

Papers:

Posters:

  • "Nswap as a Fast and Adaptable Replacement Swap System"
    Doug Woos, Tia Newhall
    25th Annual Consortium for Computing Sciences in Colleges Eastern Conference, Student Poster Session, Villanova, PA, October 2009.
  • "Speeding up Computation with a Filesystem of Network RAM"
    Colin Schimmelfing, Tia Newhall
    25th Annual Consortium for Computing Sciences in Colleges Eastern Conference, Student Poster Session, Villanova, PA, October 2009.
  • "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:

  Ben Marks'16  
  Ryerson Lehman-Borer'16
  Sam White'14
  Greg Taschuk'13
  Doug Woos'11
  Colin Schimmelfing'10
  Joel Tolliver'10
  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: