Sharing has emerged as a key idea of static and adaptive stream query processing systems. Inherent in these systems is a tension between sharing common work and avoiding unnecessary work. Increased sharing has generally led to more unnecessary work. Our approach of precision sharing aims to share aggressively without unnecessary work. We show why “adaptive” tuple lineage is more generally applicable and use it for precisely shared static dataflows. We also show how “static” ordering constraints can be used for precision sharing in adaptive systems. Finally, we report an experimental study of precision sharing.
Sailesh Krishnamurthy, Michael J. Franklin, Joseph