River
River is a data-flow programming environment and I/O substrate for
clusters of computers. River is designed to provide maximum performance
in the common case, even in the face of non-uniformities in hardware,
software, and workload. River is based on two simple design features: a
high-performance distributed queue, and a storage redundancy
mechanism called graduated declustering. We have implemented a
number of data-intensive applications on River, including database
primitives such as sort, select, and hash-join, and are able to achieve
near-ideal performance in a variety of non-uniform performance scenarios.
Publications
-
Run-time Adapation in River
TOCS '03
Remzi H. Arpaci-Dusseau,
Available as:
Abstract,
PDF
-
Cluster I/O with River: Making the Fast Case Common
IOPADS '99
Remzi H. Arpaci-Dusseau,
Eric Anderson,
Noah Treuhaft,
David E. Culler,
Joseph M. Hellerstein,
David A. Patterson,
Katherine Yelick.
Available as:
Abstract,
PostScript
-
Performance Availability for Networks of Workstations
Doctoral Dissertation, 1999
Remzi H. Arpaci-Dusseau,
Available as:
Abstract,
Compressed
Postscript, and
Talk Slides
-
Eddies: Continuously Adaptive Query Processing
SIGMOD 2K
Ron Avnur and
Joseph M. Hellerstein
Available as:
PDF
-
Tsunami: Dynamic Load Balancing in River
CS 262 Class Project
Amol Deshpande,
Mohan Lakhamraju, and
Ron Avnur
Available as:
PDF
remzi@cs.berkeley.edu