Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Design of the Borealis Stream Processing Engine Brandeis University, Brown University, MIT Magdalena BalazinskaNesime Tatbul MIT Brown.

Similar presentations


Presentation on theme: "The Design of the Borealis Stream Processing Engine Brandeis University, Brown University, MIT Magdalena BalazinskaNesime Tatbul MIT Brown."— Presentation transcript:

1 The Design of the Borealis Stream Processing Engine Brandeis University, Brown University, MIT Magdalena BalazinskaNesime Tatbul MIT Brown

2 Distributed Stream Processing Data Sources Client Apps U   Node 1 Node 2 Node 3Node 4 U  Data sources push tuples continuously Operators process windows of tuples

3 Where are we today? Data models, operators, query languages Efficient single-site processing Single-site resource management [STREAM, TelegraphCQ, NiagaraCQ, Gigascope, Aurora] Basic distributed systems  Servers [TelegraphCQ, Medusa/Aurora]  or sensor networks [TinyDB, Cougar]  Tolerance to node failures  Simple load management

4 Challenges Tuple revisions  Revisions on input streams  Fault-tolerance Dynamic & distributed query optimization...

5 Causes for Tuple Revisions Data sources revise input streams: “On occasion, data feeds put out a faulty price [...] and send a correction within a few hours” [MarketBrowser] Temporary overloads cause tuple drops Temporary failures cause tuple drops Average price 1 hour (1pm,$10) (2pm,$12)(3pm,$11) (4:05,$11)(4:15,$10)(2:25,$9)

6 Current Data Model time : tuple timestamp headerdata (time,a1,...,an)

7 New Data Model for Revisions time : tuple timestamp type : tuple type  insertion, deletion, replacement id : unique identifier of tuple on stream headerdata (time,type,id,a1,...,an)

8 Revisions: Design Options Restart query network from a checkpoint Let operators deal with revisions  Operators must keep their own history  (Some) streams can keep history

9 Revision Processing in Borealis Closed model: revisions produce revisions Average price 1 hour (1pm,$10) (2pm,$12)(3pm,$11) (2:25,$9) Average price 1 hour (2pm,$12) (3pm,$11)(2pm,$11)

10 Revision Processing in Borealis Connection points (CPs) store history Operators pull the history they need  Operator CP Oldest tuple in history Most recent tuple in history Revision Input queue Stream

11 Fault-Tolerance through Replication Goal: Tolerate node and network failures U  Node 1’  Node 2’ Node 3’  U s1s1 s2s2 Node 1 U  Node 3 U  Node 2  s3s3 s4s4 s3’s3’

12 Reconciliation State reconciliation alternatives  Propagate tuples as revisions  Restart query network from a checkpoint  Propagate UNDO tuple Output stream revision alternatives  Correct individual tuples  Stream of deletions followed by insertions  Single UNDO tuple followed by insertions

13 Fault-Tolerance Approach If an input stream fails, find another replica No replica available, produce tentative tuples Correct tentative results after failures STABLE UPSTREAM FAILURE STABILIZING Missing or tentative inputs Failure heals Another upstream failure in progress Reconcile state Corrected output

14 Challenges Tuple revisions  Revisions on input streams  Fault-tolerance Dynamic & distributed query optimization...

15 Optimization in a Distributed SPE Goal: Optimized resource allocation Challenges:  Wide variation in resources High-end servers vs. tiny sensors  Multiple resources involved CPU, memory, I/O, bandwidth, power  Dynamic environment Changing input load and resource availability  Scalability Query network size, number of nodes

16 Quality of Service A mechanism to drive resource allocation Aurora model  QoS functions at query end-points  Problem: need to infer QoS at upstream nodes An alternative model  Vector of Metrics (VM) carried in tuples  Operators can change VM  A Score Function to rank tuples based on VM  Optimizers can keep and use statistics on VM

17 Example Application: Warfighter Physiologic Status Monitoring (WPSM) Area State Confidence Thermal Hydration Cognitive Life Signs Wound Detection 90% 60% 100% 90% 80% Physiologic Models   

18 Ranking Tuples in WPSM SF(VM) = VM.confidence x ADF(VM.age) age decay function Score Function Sensors Model1 Model2 ([age, confidence], value) VM Merge Models may change confidence. HRate RRate Temp

19 Borealis Optimizer Hierarchy End-point Monitor(s)Global Optimizer Local Monitor Local Optimizer Neighborhood Optimizer Borealis Node

20 Optimization Tactics Priority scheduling Modification of query plans  Commuting operators  Using alternate operator implementations Allocation of query fragments to nodes Load shedding

21 Correlation-based Load Distribution Goal: Minimize end-to-end latency Key ideas:  Balance load across nodes to avoid overload  Group boxes with small load correlation together  Maximize load correlation among nodes Connected Plan AB S1 CD S2 r 2r 2cr 4cr Cut Plan S1 S2 AB CD r 2r 3cr

22 Load Shedding Goal: Remove excess load at all nodes and links Shedding at node A relieves its descendants Distributed load shedding  Neighbors exchange load statistics  Parent nodes shed load on behalf of children  Uniform treatment of CPU and bandwidth problem Load balancing or Load shedding?

23 Local Load Shedding PlanLoss LocalApp 1 : 25% App 2 : 58% CPU Load = 5Cr 1, Cap = 4Cr 1 CPU Load = 4Cr 2, Cap = 2Cr 2 A must shed 20%B must shed 50% 4CC C 3C r1r1 r1r1 r2r2 r2r2 App 1 App 2 Node ANode B Goal: Minimize total loss 25% 58% CPU Load = 3.75Cr 2, Cap = 2Cr 2 B must shed 47% No overload A must shed 20% r2’r2’

24 Distributed Load Shedding CPU Load = 5Cr 1, Cap = 4Cr 1 CPU Load = 4Cr 2, Cap = 2Cr 2 A must shed 20%B must shed 50% 4CC C 3C r1r1 r1r1 r2r2 r2r2 App 1 App 2 Node ANode B 9% 64% PlanLoss LocalApp 1 : 25% App 2 : 58% DistributedApp 1 : 9% App 2 : 64% smaller total loss! No overload A must shed 20% r2’r2’ r 2 ’’ Goal: Minimize total loss

25 Extending Optimization to Sensor Nets Sensor proxy as an interface Moving operators in and out of the sensor net Adjusting sensor sampling rates  The WPSM Example: Proxy data control Merge Sensors Models control message from the optimizer

26 Conclusions Next generation streaming applications require a flexible processing model  Distributed operation  Dynamic result and query modification  Dynamic and scalable optimization  Server and sensor network integration  Tolerance to node and network failures Borealis has been iteratively designed, driven by real applications First prototype release planned for Spring’05 http://nms.lcs.mit.edu/projects/borealis


Download ppt "The Design of the Borealis Stream Processing Engine Brandeis University, Brown University, MIT Magdalena BalazinskaNesime Tatbul MIT Brown."

Similar presentations


Ads by Google