160 likes | 178 Views
Reducing Execution Overhead in a Data Stream Manager. Don Carney Brown University Uğur Çetintemel Brown University Mitch Cherniack Brandeis University Alex Rasin Brown University Michael Stonebraker MIT Stan Zdonik Brown University. App. App. App. QoS. QoS. QoS.
E N D
Reducing Execution Overhead in a Data Stream Manager Don Carney Brown University Uğur ÇetintemelBrown University Mitch Cherniack Brandeis University Alex Rasin Brown University Michael Stonebraker MIT Stan Zdonik Brown University MPDS 2003 San Diego
App App App QoS QoS QoS Aurora from the Sky Queries . . . . . . . . . . . . . . . MPDS 2003 San Diego
App App App QoS QoS QoS Aurora from the Sky . . . . . . . . . . . . . . . MPDS 2003 San Diego
inputs outputs Storage Manager q1 q2 . . . s s qi m Buffer . . . . . . È È Persistent Store Catalog q1 q2 . . . qn … … … … … … Runtime OperationBasic Architecture Router Scheduler Box Processors QOS Monitor MPDS 2003 San Diego
Execution Model • Traditional Thread-driven Execution • Thread per query or operator • Resource management done by OS • Easy to program • Scalability problems • State-based Execution • Single scheduler thread maintains execution queue • Small number of worker threads execute execution queue entries • Enables application specific allocation of resources MPDS 2003 San Diego
State-Based vs. Thread-Based MPDS 2003 San Diego
Scheduling • Two level scheduling • Inter-query scheduling (Which query?) • Intra-query scheduling (Operation order?) • Batching • Tuple trains • Fewer box executions -> fewer scheduling decisions • Also, better memory utilization • Superbox scheduling • Multiple boxes per decision -> fewer scheduling decisions • Memory utilization: allocate for entire superbox at once • State Monitoring (# tuples, latencies, etc) • Incremental and approximate MPDS 2003 San Diego
… … … z z z y y y x x x AB B (A (z)) B (A (y)) B (A (x)) Box Trains: B B (A (z), A (y), A (x)) A A (z, y, x) Tuple Trains: Runtime OperationScheduling: Minimizing Per Tuple Processing Overhead Train Scheduling: B A A (z) A (y) A (x) B (A (z)) B (A (y)) B (A (x)) = Scheduler Action MPDS 2003 San Diego
Tuple Trains and Superboxes MPDS 2003 San Diego
Overheads MPDS 2003 San Diego
Overheads MPDS 2003 San Diego
Other Issues • Priority assignment • Box Execution Order • QoS MPDS 2003 San Diego
Stay Tuned! • SIGMOD Demo • VLDB ’03 paper “Operator Scheduling in a Data Stream Environment” MPDS 2003 San Diego
App App QoS QoS A little closer . . . . . . . . . . . . MPDS 2003 San Diego
App App QoS QoS A little closer . . . . . . . . . . . . MPDS 2003 San Diego
App App QoS QoS Aurora from the Sky Query . . . . . . . . . . . . Query MPDS 2003 San Diego