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:
-
- "Reliable Adaptable Network RAM"
Tia Newhall, Dan Amato, Alexandr Pshenichkin,
Proceedings of IEEE Cluster Conference
Tsukuba, Japan, September 2008
(paper.pdf).
-
"Nswap: A Network Swapping Module for Linux Clusters"
Tia Newhall, Sean Finney, Kuzman Ganchev, Michael Spiegel
Proceedings of Euro-Par'03 International Conference on
Parallel and Distributed Computing, Klagenfurt, Austria, August 2003.
Lecture Notes in Computer Science, Volume 2790, Springer.
(paper.pdf).
-
"Reliability for Network Swapping Systems that Support Migration of
Remotely Swapped Pages",
Tia Newhall, Benjamin Mitchell, Julian Rosse.
In Proceedings of the 16th IASTED International Conference on
Parallel and Distributed Computing and Systems, November 2004.
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).