Slide 1

Slide 1 text

VISP TESTBED A Toolkit for Modeling and Evaluating Resource Provisioning Algorithms for Stream Processing Applications Christoph Hochreiner

Slide 2

Slide 2 text

Motivation

Slide 3

Slide 3 text

Stream Processing Application 3 Temperature Filter (1) Transform Data (3) Calculate OEE (4) Update Dashboard (5) Analyze Temperature (2) Production Data Sensor Temperature Sensor Stream Processing Operator Data Transmission Manufacturing Machine

Slide 4

Slide 4 text

Stream Processing Application Deployment 4 Temperature Filter (1) Transform Data (3) Calculate OEE (4) Update Dashboard (5) Analyze Temperature (2) Production Da Temperature Stream Proce Operator Data Transmis Manufacturin Machine Incoming Data Time 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 3 4 3 4 3 4 1 2 5 3 4 1 Stream Processing Operator Computational Resources

Slide 5

Slide 5 text

Stream Processing Application Deployment 4 Temperature Filter (1) Transform Data (3) Calculate OEE (4) Update Dashboard (5) Analyze Temperature (2) Production Da Temperature Stream Proce Operator Data Transmis Manufacturin Machine Incoming Data Time 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 3 4 3 4 3 4 1 2 5 3 4 1 Stream Processing Operator Computational Resources

Slide 6

Slide 6 text

Stream Processing Application Deployment 5 Temperature Filter (1) Transform Data (3) Calculate OEE (4) Update Dashboard (5) Analyze Temperature (2) Production Da Temperature Stream Proce Operator Data Transmis Manufacturin Machine Incoming Data Time 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 3 4 3 4 3 4 1 2 5 3 4 1 Stream Processing Operator Computational Resources

Slide 7

Slide 7 text

Stream Processing Application Deployment 5 Temperature Filter (1) Transform Data (3) Calculate OEE (4) Update Dashboard (5) Analyze Temperature (2) Production Da Temperature Stream Proce Operator Data Transmis Manufacturin Machine Incoming Data Time 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 3 4 3 4 3 4 1 2 5 3 4 1 Stream Processing Operator Computational Resources

Slide 8

Slide 8 text

Stream Processing Application Deployment 6 Temperature Filter (1) Transform Data (3) Calculate OEE (4) Update Dashboard (5) Analyze Temperature (2) Production Da Temperature Stream Proce Operator Data Transmis Manufacturin Machine Incoming Data Time 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 3 4 3 4 3 4 1 2 5 3 4 1 Stream Processing Operator Computational Resources

Slide 9

Slide 9 text

Stream Processing Application Deployment 6 Temperature Filter (1) Transform Data (3) Calculate OEE (4) Update Dashboard (5) Analyze Temperature (2) Production Da Temperature Stream Proce Operator Data Transmis Manufacturin Machine Incoming Data Time 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 3 4 3 4 3 4 1 2 5 3 4 1 Stream Processing Operator Computational Resources

Slide 10

Slide 10 text

Steps to design resource provisioning algorithms 7 Design algorithm Evaluate algorithm Benchmark algorithm

Slide 11

Slide 11 text

VISP Testbed

Slide 12

Slide 12 text

VISP Testbed 9 Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies

Slide 13

Slide 13 text

VISP Runtime 10 Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies

Slide 14

Slide 14 text

VISP Runtime 10 Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies Process streaming data

Slide 15

Slide 15 text

VISP Runtime 10 Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies Route streaming data

Slide 16

Slide 16 text

VISP Runtime 10 Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies Provision computational resources

Slide 17

Slide 17 text

VISP Runtime 10 Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies Monitor activities

Slide 18

Slide 18 text

VISP Runtime 10 Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies Optimize resource provisioning

Slide 19

Slide 19 text

VISP Runtime - Base Line Algorithms ‣ Fixed Provisioning - Over Provisioning - Under Provisioning ‣ Threshold Based Provisioning - CPU - Memory - Queue Size 11 Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies

Slide 20

Slide 20 text

VISP Runtime - Topologies 12 Operator 1 Operator 2 Operator 4 Source Sink Operator 3 Operator 1 Operator 2 Operator 3 Source Sink Distance Speed Average Speed Aggregation Analysis Manufacturing Machine Manufacturing Machine Manufacturing Machine Calculate Performance (O3) Calculate Availability (O4) Calculate Quality (O5) Monitor Temperature (O6) Calculate OEE (O7) Filter Availability (O2) Generate Report (O9) Inform User (O8) Distribute Data (O1) Availability Sensor (S1) Production Sensor (S2) Temperature Sensor (S3) Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies

Slide 21

Slide 21 text

Data Provider Replay data streams with ‣ predefined arrival pattern at ‣ predefined generation velocities with ‣ predefined volumes and ‣ predefined message structures. 13 Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies

Slide 22

Slide 22 text

Data Provider - Arrival Pattern 14 Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies 0 5 10 15 20 0 5 10 15 20 25 30 35 Data Volume Time Real World Arrival

Slide 23

Slide 23 text

Data Provider - Arrival Pattern 15 Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies 0 5 10 15 20 0 5 10 15 20 25 30 35 Data Volume Time Constant Arrival Real World Arrival

Slide 24

Slide 24 text

Data Provider - Arrival Pattern 16 Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies 0 5 10 15 20 0 5 10 15 20 25 30 35 Data Volume Time Constant Increase Real World Arrival

Slide 25

Slide 25 text

Data Provider - Arrival Pattern 17 Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies 0 5 10 15 20 0 5 10 15 20 25 30 35 Data Volume Time Pulsating Arrival Real World Arrival

Slide 26

Slide 26 text

Data Provider - Arrival Pattern 18 Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies 0 5 10 15 20 0 5 10 15 20 25 30 35 Data Volume Time Spikes Real World Arrival

Slide 27

Slide 27 text

Data Provider - Arrival Pattern 19 Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies 0 5 10 15 20 0 5 10 15 20 25 30 35 Data Volume Time Constant Arrival Constant Increase Pulsating Arrival Spikes Real World Arrival

Slide 28

Slide 28 text

Data Provider - Message Structures ‣ Simple messages to trigger data processing events ‣ GPS time-series from taxis ‣ Sensor data from manufacturing machines 20 Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies

Slide 29

Slide 29 text

Reporting ‣ Aggregate information from monitoring data ‣ Generate KPIs ‣ Generate figures 21 Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies

Slide 30

Slide 30 text

Reporting 22 Data Provider VISP Runtime Data Processing Resource Provisioning Resource Optimization QoS Monitoring Activity Tracking Reporting Graph Generation Data Aggregation KPI Calculation Monitoring Data Monitoring Data Data Stream Arrival Pattern Generation Speed Generation Duration Baseline Algorithm Custom Algorithm Topologies

Slide 31

Slide 31 text

Conclusion

Slide 32

Slide 32 text

Conclusion VISP Testbed provides a toolkit ‣to replay data streams and reproduce evaluation results ‣to benchmark custom resource provisioning algorithm against existing ones 24

Slide 33

Slide 33 text

Outlook

Slide 34

Slide 34 text

Outlook ‣Increase benchmark algorithm library ‣Increase topology library and stream processing operator library ‣Integrate topologies and data from the DEBS Grand Challenges ‣Provide the VISP Testbed as a Service 26

Slide 35

Slide 35 text

Q & A Christoph Hochreiner [email protected] https://github.com/visp-streaming/