1 of 32

Collaborative Interdisciplinary ML-Centric

Data Analytics at Scale

1

Prof. Chen Li

李晨

NDBC, 2020

2 of 32

古话

  • 众人拾柴火焰高
  • 三个臭皮匠胜过一个诸葛亮

3 of 32

Trend of Collaboration and Sharing

3

4 of 32

Benefits of collaboration and sharing

4

Asynchronous schedules

Team work

5 of 32

Here comes the coronavirus…

5

More people work from home

6 of 32

Collaborative data analytics

6

7 of 32

Collaborators with different backgrounds

7

Domain Scientists: e.g., Public Health researcher Dr. Sue

Machine Learning Experts: Joe

Infrastructure Developers: e.g., my team

8 of 32

Example: tweet analysis

8

Labeled Instances

ETL (Texera)

Visualization

(Cloudberry)

Database

(Apache AsterixDB)

Classifier Trainer

Manual Labeling

9 of 32

Case 1

​

  • Public Health researcher: Sue
  • Tweet Analysis: “What are public opinions on wearing masks?”

9

10 of 32

Interactions between Sue and our team

10

Keywords

Results

11 of 32

Case 2: collaboration between ML experts

11

Training a model

RESOURCES WASTED

Not available

Needs help

12 of 32

Collaborative data analytics

12

13 of 32

How about ...

13

  • Not for domain scientists
  • Productivity

14 of 32

Requirements

14

  • No programming requirements: GUI-based workflows
  • Scalable -> Parallel
  • Cloud-based service: browser-based
  • Asynchronous collaboration: pause and resume
  • Resource management and task migration

15 of 32

Our solution: Texera

15

16 of 32

Texera: Features

16

  • Supporting collaboration in ML-centric data analytics
  • Friendly to non-IT people, no coding needed
  • Browser-based interface: suitable for cloud services
  • Support pausing, resuming, debugging
  • Support dynamic resource allocation and task migration

17 of 32

Need of debugging

17

Problems in current systems:

Little feedback

No runtime debugging

18 of 32

printf() vs gdb

18

  • Hard to understand and track
  • Real-time interaction
  • Bug-related information
  • Easy to understand and track

AMBER

19 of 32

Why not Spark?

19

  • Spark supports fault tolerance
  • For performance reasons, it does not allow users to intervene in the execution

​

20 of 32

Amber: based on Actor Model

20

21 of 32

Why actor model?

21

  • Parallel
  • Simplifies concurrency control, no shared memory
  • Easy to have different types of messages - data, control
  • Good cluster implementations are available now
  • Microsoft Orleans (Game: Halo)
  • Akka
  • C++ Actor Framework (CAF)

22 of 32

Amber: Operator DAG -> Actor DAG

22

23 of 32

Debugging a long-running workflow

23

  • Pause

​

​

Instantaneous processing of control messages

  • Investigate state of operators

​

​

  • Modify logic of operators

​

​

  • Resume

​

​

24 of 32

Fast processing of messages in Amber

24

Messages arrive at Actor’s mailbox.

​

​

25 of 32

Expedited processing of control messages

25

DP thread created

26 of 32

Expedited processing of control messages

26

Main worker handles “Pause” message.

27 of 32

Conditional breakpoints in Amber

27

Pause the workflow if complaint # > 1,000

Scan

Sentiment

Analysis

Sink

Table: Customer Evals

Type = Complain

Scan

Table: Product Groups

Join

on Product-ID

1M complaints

PAUSE

28 of 32

Fault Tolerance

28

Worker

Principal

PAUSE

Pause

<Main,8>

<DP, (6,34)>

Normal Operation

Worker

Principal

Pause

<Main,8>

<DP, (6,34)>

Recovery after failure

29 of 32

Scaleup on TPC-H Queries

29

  • 2GB to 1TB TPC-H Dataset
  • Upto 100 machines
  • Comparable to Spark

30 of 32

Latency of control messages

30

  • Under 1 second
  • Resume also in milliseconds
  • Tested on 100 machines and 1TB data

31 of 32

Texera on github

31

32 of 32

  • Collaborative data analytics
  • Interdisciplinary
  • ML-centric
  • Scalable
  • Our solution: Texera!

Conclusions

32