Quantitative Policies over Streaming Data Rajeev Alur
University of Pennsylvania
1
Quantitative Policies over Streaming Data Rajeev Alur University of - - PowerPoint PPT Presentation
Quantitative Policies over Streaming Data Rajeev Alur University of Pennsylvania 1 Thanks to Collaborators Zack Ives Dana Fisman Sanjeev Khanna Boon Thau Loo Kostas Mamouras Mukund Raghothaman Caleb Stanford Yifei Yuan 2 3 Real-time
1
2
3
4
data decisions
5
(car ID, position, time) toll
6
(source IP, dest IP, payload) drop / forward to port X / alert controller
7
8
data decisions
9
data decisions
10
data decisions
11
(source IP, dest IP, payload)
drop / forward / alert controller
12
Session Initiation Protocol
13
data decisions
Policy compiler Efficiency critical: Key parameters
Ideally both should be constant or logarithmic in length of data stream Programming abstractions for processing data stream ?? Theoretical foundations Expressiveness Optimization
14
15
16
145
145 152 141 150 146 160 138
17
145 152 141 150 146 160 138
* Episode = . *. Episode Day = . Episode* Day
18
145 152 141 150 146
f = iter(M, average) Episode : average M value h = iter (Episode, max)
19 v: N
20 145 152 141 150 146 160 138
21
22 v: N v v
23
24
125 142 160 128 148 140 134 156 130 f g Combine results using op
25
matches r matches r matches r matches r
26
27
data decisions
28
29
30
31
32
33
34
35
36
37
a b even(n)
38
39
φ1 φ2 φ3 φ4 φ5
40
41
42
43
44
45
46
47
data decisions
QRE compiler Optimize bits needed to store state and time for update Ideally independent of length of data stream
48
12
50 D 10 81 96 D 24 89 52 12 D 40 D 12 50 10 81 96 40 52 12 24 89 + + + + + + + + average
49
50
42 4 12 10 5
51
42 4 12 10 5
Number n Bucket k Number (1+ε)k Error 50 393 49.923 0.154% 100 462 99.192 0.808% 80,000 1134 79,512.950 0.609% 1,200,000 1406 1,190,834.857 0.764%
52
42 4 12 10 5
Number n Bucket k Number (1+ε)k Error 50 393 49.923 0.154% 100 462 99.192 0.808% 80,000 1134 79,512.950 0.609% 1,200,000 1406 1,190,834.857 0.764%
53
120 145 160 110 140 115 156 124 f Start evaluating g f and keep computing f Start evaluating g and keep computing f
54
55
56
57
58
App App
Dst NextHop A 2 … … Match Action Src=A drop … …
Openflow e.g. POX, NOX, Floodlight
APIs Distributed Protocols
Control plane Data plane
59
(source IP, dest IP, payload) drop / forward to port X / alert controller
60
61
Session Initiation Protocol
62
63
64
Attack starts Attack detected and corrected by updating rules in switch
65
66
67
5 10 15 20 25 StreamQRE RxJava Esper Flink throughput (million tuples/sec)
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
data decisions
93
(car ID, position, time)
94
95
96
Clinical diagnosis pacing stimulus