Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna,...

60
Apache Gearpump next-gen streaming engine Karol Brejna, Intel ([email protected]) Huafeng Wang, Intel ([email protected]) Apache: Big Data Europe 2016 Sevilla, Spain 14 November 2016

Transcript of Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna,...

Page 1: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Apache Gearpump next-gen streaming engine

Karol Brejna, Intel ([email protected])

Huafeng Wang, Intel ([email protected])

Apache: Big Data Europe 2016 Sevilla, Spain 14 November 2016

Page 2: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Agenda

● What is Gearpump?● Why Apache Gearpump? ● Apache Gearpump features/internals● What’s next for Apache Gearpump

2

Page 3: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

What is Gearpump ?

● A super simple pump that consists of only two gears but very powerful at streaming water

● An Akka[2] based real-time streaming engine ● An Apache Incubator[1] project since Mar.8th, 2016

3

Page 4: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Why Gearpump ?

4

Page 5: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Stream processing is hard

● Fault tolerance ● Infinite Out-of-order data● Low latency assurance (e.g real-time recommendation)● Correctness requirement (e.g. charge advertisers for ads) ● Cheap to update applications (e.g. tune machine learning

parameters)

Page 6: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Gearpump makes stream processing easier

● fault tolerant stream processing at latency of milliseconds● handling out-of-order data● event-time based window aggregation● Akka-stream DSL and Apache Beam API support● runtime DAG modification● responsive UI with abundant metrics information

Page 7: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Gearpump on TAP

● Gearpump on Trusted Analytics Platform (TAP) ● Stream processing - performance experiments and results

7

Page 8: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Gearpump on TAP

● Gearpump on Trusted Analytics Platform (TAP) ● Stream processing - performance experiments and results

8

Page 9: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

9

▪ Open Source project

▪ Collaborative, cloud-ready platform to build applications powered by Big Data Analytics

▪ Includes everything needed by data scientists, application developers and system operators

▪ Optimized for performance and security

Trusted Analytics Platform (TAP)

Page 10: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Analytics Solutions – Big Data Scale Out

10

ApplicationsAnalytics-powered vertical and horizontal solutions

AnalyticsOpen source platform for collaborative data science and analytics application development

DataOpen source, Hadoop-centric platform for distributed and scalable storage and processing

InfrastructureSoftware-defined storage, network and cloud infrastructure optimized for Intel Architecture

Mac

hine

Lea

rnin

gM

ulti-

laye

red,

fully

-opt

imiz

ed a

lgor

ithm

s

Perf

orm

ance

and

Sec

urity

Sili

con

and

softw

are

enha

ncem

ents

to p

rote

ct

and

acce

lera

te d

ata

and

anal

ytic

s

Page 11: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

11

The Anatomy of Trusted Analytics Platform (TAP)

Infrastructure

TAP

C

ore

Applications

Mar

ketp

lace

Services

Ingestion

Analytics

Data Platform

Man

agem

ent

TAP-powered Big Data Analytics applications and solutions

Polyglot services and APIs for application developers

Data Scientists workbench including models, algorithms, pipelines, engines and frameworks

Extensible Marketplace of built-in tools, packages and recipes

Message brokers and queues for batch and stream data ingestion

Distributed processing and scalable data storage

Public or private clouds

User, tenant, security, provisioning and monitoring for system operators

REST

ATK, Spark*, Impala, H2O, Hue,* iPython

Kafka*, GearPump, RabbitMQ, MQTT, WS, REST

Cloudera CDH (Hadoop/HDFS, Hbase)*, PostgreSQL, MySQL, Redis, MongoDB, InfluxDB, CassandraAWS, Rackspace, OVH, OpenStack, On/Off-prem

Java, Go

* Leverages Cloudera Distribution of Apache Hadoop

Page 12: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

12

Page 13: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

13

Page 14: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Gearpump on TAP

● Gearpump on Trusted Analytics Platform (TAP) ● Stream processing - performance experiments and results

14

Page 15: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

The problem

15

● correlate messages using a key in one second sliding window and produce latency stream messages

● consume latency messages and compute average latency per firm in one minute buckets

● send the aggregate message to HBase

Page 16: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

The expectations

16

● Handle load of 0.5M msg per second all the time● Handle load of 7M msg per second for peaks of 1 hour● Message size 250-500 bytes● Be able to scale for even more

Page 17: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

The hardware

17

● CPU: Intel(R) Xeon(R) CPU E5-2695 v3 @ 2.30GHz

● Memory: 256 Gbytes DDR4

● Storage: 8 SATA SSDs

Page 18: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

The results (1) - let’s start small: ~700k msg/sec

18

Initial attempt

Page 19: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

The results (2) - 8 executors: ~1.6M msg/sec

19

Initial attemptFindings:

● We need to improve Kafka Source - queue size, fetch frequency

● Improve Kafka partitions design for concurrency

● Network throughput may be a bottleneck (1.6M msg/sec * 0.5 k * 8 bit) - compression

Page 20: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

The results (3) - 16 executors: ~2.7M msg/sec

20

Initial attemptFindings:

● JVM defaults designed for moderate workloads - we need to pump them up

● Message marshalling starts to play significant role in performance - look for better alternatives

Page 21: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

The results (4) - 32 executors: ~5M msg/sec

21

Findings:● Backpressure introduced by JVM

⇔ JVM communication - use task fusing

Page 22: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

The results (5) - 48 executors: 7.4M msg/sec

22

Mission accomplished!!!

Page 23: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

The results (6) - 64 executors

23

We can go even further..

Page 24: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

The results - summary

24

● Great performance numbers on decent hardware● Predictable scalability

Executors number Req/sec

8 1.6 M

16 2.7 M

32 5 M

48 7,4 M

64 10 M

Page 25: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Gearpump features

25

Page 26: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Gearpump Architecture

● Actor concurrency● Message passing

communication● error handling and

isolation with supervision hierarchy

● Master HA with Akka Cluster

26

Page 27: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Use case - Windowed word count

1. WordsKafkaSource WindowCounter KafkaSink

27

2. Window Counts

Page 28: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

How Gearpump solves the hard parts

● User interface● Flow control● Out-of-order processing● Exactly once ● Dynamic DAG

28

Page 29: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

User interface - DSL

val app = StreamApp("dsl", context) app.source[String](kafkaSource). flatMap(line => line.split("[\\s]+")).map((_, 1)). window(FixedWindow.apply(Duration.ofMillis(5L)) .triggering(EventTimeTrigger)). // (word, count1), (word, count2) => (word, count1 + count2) groupBy(_._1).sum.sink(kafkaSink)

sinkWindow.groupByKey

29

Page 30: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

How Gearpump solves the hard parts

● User interface● Flow control● Out-of-order processing● Exactly once ● Dynamic DAG

30

Page 31: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Without Flow Control - OOM

KafkaSource WindowCounter KafkaSink

fast fast very slow

31

Page 32: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

With Flow Control - Backpressure

KafkaSource WindowCounter KafkaSink

Slow down Slow down Very Slowbackpressurebackpressure

pull slower

32

Page 33: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

How Gearpump solves the hard parts

● User Interface● Flow control● Out-of-order processing● Exactly Once ● Dynamic DAG

33

Page 34: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Out-of-order data

Event time321

Proc

essi

ng t

ime

● Event time - when data generated● Processing time - when data processed

1

2

3

4

56

34

Page 35: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

On Watermark[4]

Event time321

Proc

essi

ng t

ime

1

2

3

4

56 watermark

● No timestamp earlier than watermark will be seen

35

Page 36: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

When can window counts be emitted ?

window messages

[0, 2)

[2, 4)

[4, 6)

(“gearpump”, 1)

WindowCounter In-memory Table

● No window can be emitted since message as early as time 1 has not arrived

(“gearpump”, 1)

(“gearpump”, 3)

(“gearpump”, 5)

(“gearpump”, 4)

(“gearpump”, 2)

WindowCounter

36

Page 37: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Out-of-order processing with watermark

(“gearpump”, 1)

WindowCounter

watermark = 0,No window can be emitted

37

window messages

[0, 2)

[2, 4)

[4, 6)

WindowCounter In-memory Table

(“gearpump”, 1)

(“gearpump”, 3)

(“gearpump”, 5)

(“gearpump”, 4)

(“gearpump”, 2)

Page 38: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Out-of-order processing with watermark

window messages

[2, 4)

[4, 6)

WindowCounter In-memory Table

(“gearpump”, 3)

(“gearpump”, 5)

(“gearpump”, 4)

(“gearpump”, 2)WindowCounter

watermark = 2,Window [0, 2) can be emitted

38

(“gearpump”, [0, 2) 1)

Page 39: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

How to get watermark ?

1. WordsKafkaSource WindowCounter Sink

39

2. Window Counts

Page 40: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

From upstream

KafkaSource WindowCounter Sink

50

W(50)

40 30

Watermark

Watermark of the operator

40

Page 41: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

From upstream

41

KafkaSource WindowCounter Sink

60

W(50)

50 40

Watermark

Watermark of the operator

Page 42: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

More on Watermark

● Source watermark defined by user● Usually heuristic based ● Users decide whether to drop data arriving after

watermark

42

Page 43: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

How Gearpump solves the hard parts

● User Interface● Flow control● Out-of-order processing● Exactly once ● Dynamic DAG

43

Page 44: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Exactly Once with asynchronous checkpointing

(2, kafka_offset)

KafkaSource WindowCounter KafkaSink

Watermark = 2 Watermark = 0 Watermark = 0

(2, kafka_offset)

44

Page 45: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

(2, kafka_offset)(2, window_counts)

Exactly Once with asynchronous checkpointing

KafkaSource WindowCounter KafkaSink

Watermark = 2 Watermark = 2 Watermark = 0

(2, window_counts)

45

Page 46: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Exactly Once with asynchronous checkpointing

KafkaSource WindowCounter KafkaSink

Watermark = 2 Watermark = 2 Watermark = 2

46

Checkpoint succeed

(2, kafka_offset)(2, window_counts)

Page 47: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Crash

KafkaSource WindowCounter Sink

Watermark = 3 Watermark = 2 Watermark = 2

47

(2, kafka_offset)(2, window_counts)

Page 48: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Recover to latest checkpoint at 2

KafkaSource WindowCounter KafkaSink

window_countskafka_offset

Replay from kafka

48

(2, kafka_offset)(2, window_counts)

Get state at 2

Page 49: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

How Gearpump solves the hard parts

● User Interface● Flow control● Out-of-order processing● Exactly Once ● Dynamic DAG

49

Page 50: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Update the DAG on-the-fly

50

1. WordsKafkaSource WindowCounter KafkaSink

2. Window Counts

1. WordsKafkaSource WindowCounter HDFSSink

2. Window Counts

Without

Restart

Page 51: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Advanced features

51

Page 52: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

DAG Visualization

● Watermark● Node size reflects throughput● Edge width represents flow rate

52

Page 53: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

DAG Visualization

● Data skew analysis

53

Page 54: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Apache Beam[6] Gearpump Runner

Beam Model: Fn Runners

Apache Flink

Apache Spark

Beam Model: Pipeline Construction

OtherLanguagesBeam Java

Beam Python

Execution Execution

Cloud Dataflow

Execution

Apache Gearpump

54

Page 55: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

What’s next for Gearpump

55

Page 56: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Experimental features

● Web UI Authorization / OAuth2 Authentication● CGroup Resource Isolation● Binary Storm compatibility● Akka Streams integration (Gearpump Materializer)

56

Page 57: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Summary

● Gearpump is good at streaming infinite out-of-order data and guarantees correctness

● Gearpump helps users to easily program streaming applications, get runtime information and update dynamically

57

Page 58: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

References

1. gearpump.apache.org2. akka.io3. http://www.slideshare.net/SeanZhong/strata-singapore-gearpumpreal-ti

me-dagprocessing-with-akka-at-scale4. https://www.cs.cmu.edu/~pavlo/courses/fall2013/static/papers/p734-akid

au.pdf5. https://yahooeng.tumblr.com/post/135321837876/benchmarking-streami

ng-computation-engines-at6. Apache Beam [project overview]7. www.trustedanalytics.org - learn more about TAP 58

Page 59: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Get involved

Our home: http://gearpump.apache.org

Contribute code: https://github.com/apache/incubator-gearpump

Report issues: https://issues.apache.org/jira/browse/GEARPUMP

The team: Kam Kasravi, Manu Zhang, Huafeng Wang, Weihua Jiang, Sean Zhong, Karol Brejna, Stanley Xu, …, YOU?

59

Page 60: Apache Gearpump - events.static.linuxfound.org Gearpump next-gen streaming engine Karol Brejna, Intel (karolbrejna@apache.org) Huafeng Wang, Intel (huafengw@apache.org) Apache: Big

Learn More About TAP

www.trustedanalytics.org

Engage in Community events

Meetups, workshops, & webinarshttp://trustedanalytics.org/#resources

60