Run-time adaptation in river
- 1 February 2003
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Computer Systems
- Vol. 21 (1) , 36-86
- https://doi.org/10.1145/592637.592639
Abstract
We present the design, implementation, and evaluation of run-time adaptation within the River dataflow programming environment. The goal of the River system is to provide adaptive mechanisms that allow database query-processing applications to cope with performance variations that are common in cluster platforms. We describe the system and its basic mechanisms, and carefully evaluate those mechanisms and their effectiveness. In our analysis, we answer four previously unanswered and important questions. Are the core run-time adaptive mechanisms effective, especially as compared to the ideal? What are the keys to making them work well? Can applications easily use these primitives? And finally, are there situations in which run-time adaptation is not sufficient? In performing our study, we utilize a three-pronged approach, comparing results from idealized models of system behavior, targeted simulations, and a prototype implementation. As well as providing insight on the positives and negatives of run-time adaptation both specifically in River and in a broader context, we also comment on the interplay of modeling, simulation, and implementation in system design.Keywords
This publication has 24 references indexed in Scilit:
- Implicit coschedulingACM Transactions on Computer Systems, 2001
- Bimodal multicastACM Transactions on Computer Systems, 1999
- Myrinet: a gigabit-per-second local area networkIEEE Micro, 1995
- A case for NOW (Networks of Workstations)IEEE Micro, 1995
- DB2 Parallel EditionIBM Systems Journal, 1995
- Loading databases using dataflow parallelismACM SIGMOD Record, 1994
- Orca: a language for parallel programming of distributed systemsIEEE Transactions on Software Engineering, 1992
- The ISIS projectACM SIGOPS Operating Systems Review, 1991
- Prototyping Bubba, a highly parallel database systemIEEE Transactions on Knowledge and Data Engineering, 1990
- Fault tolerance under UNIXACM Transactions on Computer Systems, 1989