Dodo: A User-level System for Exploiting Idle Memory in
Workstation Clusters
Samir Koussih
Anurag Acharya
Sanjeev Setia
Submitted for publication.
Abstract:
In this paper, we present the design and implementation of
Dodo, an efficient user-level system for harvesting idle
memory in off-the-shelf clusters of workstations.
Dodo enables data-intensive applications to use remote memory
in a cluster as an intermediate cache between local memory and
disk. It requires no modifications to the operating system and/or
processor firmware and is hence portable to multiple
platforms. Further, the memory recruitment policy used by
Dodo is designed to minimize any delays experienced by the
owner of desktop machines whose memory is harvested by
Dodo.
Our implementation of Dodo is operational and
currently runs on Linux~2.0.35. For communication,
Dodo can use either UDP/IP or U-Net, the
low-latency user-level network architecture developed by von Eicken et
al. We evaluated the performance improvements that can be achieved by
using Dodo for two real applications and three
synthetic benchmarks. Our results show that speedups obtained for an
application are highly dependent on its I/O access pattern and data
set sizes. Significant speedups (between 2 and 3) were obtained for
applications whose working sets are larger than the local memory on a
workstation but smaller than aggregate memory available on the cluster
and for applications that can benefit from the zero-seek nature of
remote memory.
Postscript.