Download presentation
Presentation is loading. Please wait.
1
Applying Control Theory to Stream Processing Systems Wei Xu (xuw@cs.berkeley.edu)xuw@cs.berkeley.edu Bill Kramer (kramer@lbl.gov)kramer@lbl.gov Joe Hellerstein ( hellers@us.ibm.com )
2
Description of the system TCQ Complex internal structure Input Buffer Data Source TCQ drops tuples silently if result queue is full
3
Why do we need control? Data source does not provide accurate data rate
4
Why do we need control? TCQ node drops tuples when result queue fill up Buffer Source TCQ Result Q
5
Control Problems Providing an accurate data source –Get the actual data rate Regulate queue length on TCQ node –Prevent dropping tuples –Maximize throughput (and adapts when disturbance happens)
6
System with Control Output Rate Controller Controlled Data Source Queue Length Monitor 2
7
The Control Architecture P Controller PI Controller
8
Result – An accurate data source P Controller with Pre-compensation PI Controller
9
Result – regulating queue length Buffer Source TCQ Result Q
10
Result – Under CPU Contention Buffer Source TCQ Result Q
11
Why theory is useful? One of my implementations.. What happened? Buffer Source TCQ Result Q
12
What is going on? Queue Length Controller Desired Queue length Actual Queue Length Data Rate to TCQ Controlled Output Thread (Code Reuse)
13
Theory meets reality Output Y from simulation Time Queue length
14
Tricky part of parameter estimation Model evaluation – Making the system operate in desired range Non-Linear range Easy for data source, but queue length.. Free Space Data rate vs free space
15
Settling Time and Overshoot matters P Controller A lot of small disturbance in a Java program Incremental garbage collection PI Controller
16
Conclusion Advantages of feedback control –Make system more robust under disturbance –Treat complex systems as black boxes Cope with the system characteristics instead of having to change it –Encourage reporting system statistics –Implementation is easy and has theoretical guarantees
17
Future Work Load balancer Smaller sample time to reduce disturbance caused by Java GC? Controller on scheduling of system shared by multiple streams
18
Backup Slides
19
Outline Problems and Motivation Controller design Result Discussion
20
Description of the System Revised Data Source Input Buffer TCQ Node Queue length Routing Logic Load Splitter TCQ Node Tuples Tuple Blocks Operation of Load Splitter 1.Arriving blocks wait in Input Buffer 2.Tuples are routed to balance TCQ queue lengths 3.Stop routing if queue length is too large to avoid tuple discards
21
Compare to Open Loop Control We know Y(k), and we know what we want y(k+1) to be.. Use transfer function to solve for u(k)… (Expected result – accuracy and disturbance ) -- do be done
22
Estimation of the transfer function y(k+1)=ay(k)+bu(k) Regression
23
Tricky part of parameter estimation Model evaluation – A data rate that make it operate in linear range
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.