The goal of Roomy is to allow programmers to use disk as the main working
memory of a computation, instead of RAM. This provides thousands of times more
space without significantly increasing system cost.

To compensate for the lower bandwidth of disks, Roomy uses many disks in parallel. This can be multiple disks attached to a single shared-memory system, a cluster, or a storage area network (SAN). To compensate for the significantly higher latency of disks, Roomy delays random access operations and performs them efficiently in batch.

Roomy is implemented as a C/C++ library. It provides a small number of simple data structures (arrays, unordered lists, and hash tables) and associated operations. Roomy data structures are transparently distributed across many disks, and the operations on these data structures are transparently parallelized across the many compute nodes of a cluster. All aspects of parallelism and remote I/O are hidden within the Roomy library.

See the Roomy Sourceforge
Project Page for releases and source code.

The most recent revision (possibly unstable) can be retrieved from the source
code repository using:

svn co https://roomy.svn.sourceforge.net/svnroot/roomy/trunk roomy

Roomy
Installation Instructions

Roomy Tutorial: gives a four page introduction to Roomy. This paper is a summary of a tutorial given at PASCO 2010. The tutorial slides are also available.

Example
Roomy Application — Pancake Sorting: The example demonstrates the Roomy
library using several solutions to the *pancake sorting problem*. In
particular, it calculates the integer sequences given in the Wikipedia article on
pancake sorting. The solutions are calculated with three different
implementations of breadth-first search, using the `RoomyList`,
`RoomyArray`, or `RoomyHashTable`.

Roomy API : The programming interface for the Roomy library.

Roomy: A System for Space Limited Computations

D. Kunkle.

*International Workshop on Parallel Symbolic Computation* (PASCO '10)

Grenoble, France, 2010.

D. Kunkle.

Grenoble, France, 2010.

Parallel Disk-Based Computation for Large, Monolithic Binary Decision Diagrams

D. Kunkle, V. Slavici and G. Cooperman.

*International Workshop on Parallel Symbolic Computation* (PASCO '10)

Grenoble, France, 2010.

The author of Roomy is Dan Kunkle. Email kunkle@gmail.com with any questions.