Customizable Parallel Execution of Scientific Stream Queries

23
Customizable Parallel Execution of Scientific Stream Queries Milena Ivanova and Tore Risch Uppsala Database Laboratory http://user.it.uu.se/~udbl/

description

Customizable Parallel Execution of Scientific Stream Queries. Milena Ivanova and Tore Risch Uppsala Database Laboratory http://user.it.uu.se/~udbl/. Motivation. Scientific instruments and simulators generate high-volume streams Information exploration by wide range analyses - PowerPoint PPT Presentation

Transcript of Customizable Parallel Execution of Scientific Stream Queries

Page 1: Customizable Parallel Execution of Scientific Stream Queries

Customizable Parallel Execution of Scientific Stream Queries

Milena Ivanova and Tore RischUppsala Database Laboratoryhttp://user.it.uu.se/~udbl/

Page 2: Customizable Parallel Execution of Scientific Stream Queries

8/30/2005 2Milena Ivanova and Tore Risch, UDBL

Motivation

Scientific instruments and simulators generate high-volume streams

Information exploration by wide range analyses

Off-line hard-coded analyses on data stored on disks

Need for on-line, flexible, and scalable stream processing

Page 3: Customizable Parallel Execution of Scientific Stream Queries

8/30/2005 3Milena Ivanova and Tore Risch, UDBL

http://www.lois-space.net/– Very high data volume and rate– Complex numerical data– Relatively expensive user-defined computations

Page 4: Customizable Parallel Execution of Scientific Stream Queries

8/30/2005 4Milena Ivanova and Tore Risch, UDBL

Grid Stream Database Manager (GSDM)

• Main-memory object-relational DSMS• Distributed and parallel architecture provides

scalability for data and computations• Customizable distributed execution strategies for

CQs by high-level Data Flow Distribution Templates • PCC (Partition-Compute-Combine) generic

template for lattice-shaped partitioned parallelism• Two customizable stream partitioning strategies:

Window Split and Window Distribute

Page 5: Customizable Parallel Execution of Scientific Stream Queries

8/30/2005 5Milena Ivanova and Tore Risch, UDBL

Related WorkParallel stream processing Flux (Berkeley), Borealis

(MIT, Brown, Brandeis): load balancing and fault tolerance GSDM: Customizable templates and window split stream partitioning

DSMSs: Aurora (MIT, Brown, Brandeis), Gigascope (AT&T), STREAM (Stanford), TelegraphCQ (Berkeley): centralized architecture and cheap operators GSDM: distributed and user-defined numerical functions on large stream data items

Conventional data partitioning: Round Robin, hash, range. GSDM: query based customizable stream partitioning

Page 6: Customizable Parallel Execution of Scientific Stream Queries

8/30/2005 6Milena Ivanova and Tore Risch, UDBL

Outline• Motivation• Related Work• GSDM Usage Scenario• Continuous Query Specification:

– Stream Query Functions– Data Flow Distribution Templates

• Customizable Parallel Strategies:– Window Split– Window Distribute

• Experimental Results• Conclusions and Future Work

Page 7: Customizable Parallel Execution of Scientific Stream Queries

8/30/2005 7Milena Ivanova and Tore Risch, UDBL

GSDM ScenarioGSDM Scenario

Page 8: Customizable Parallel Execution of Scientific Stream Queries

8/30/2005 8Milena Ivanova and Tore Risch, UDBL

Stream Query Functions (SQFs)Declarative query computing a logical

window in a result stream given one or several input streams

create function fft3(Radiosignal s) -> RadioWindow as select radioWindow(ts(v),fft(x(v)), fft(y(v)),fft(z(v))) from RadioWindow v where v = currentWindow(s);

Page 9: Customizable Parallel Execution of Scientific Stream Queries

8/30/2005 9Milena Ivanova and Tore Risch, UDBL

Data Flow Distribution Templates

• Define customizable distibuted strategies• CQs as distributed compositions of SQFs • Logical site assignment for each SQF• Template constructor creates data flow graph• Generic template PCC (Partition-Compute-Combine) for customizable partitioned parallelism.

Page 10: Customizable Parallel Execution of Scientific Stream Queries

8/30/2005 10Milena Ivanova and Tore Risch, UDBL

CQ Specification and Execution• Distributed execution strategy through

template:set wd= PCC(4,"S-Distribute","RRpart",

"fft3","S-Merge",0.1);• Input and output streams: set s1 = register_input_stream( "Radiosignal","1.2.3.4","UDP"); set s2 = register_result_stream( "1.2.3.5","Visualize");• Compilation: compile(wd,{s1},{s2},"hagrid.it.uu.se");• Execution: run(wd);

Page 11: Customizable Parallel Execution of Scientific Stream Queries

8/30/2005 11Milena Ivanova and Tore Risch, UDBL

Partitioned Parallelism for Streams

Requirements for stream partitioning strategies:

• SQF-semantics preserving• Order-preserving• Good load balancing

Examples: Window Distribute and Window Split

Page 12: Customizable Parallel Execution of Scientific Stream Queries

8/30/2005 12Milena Ivanova and Tore Risch, UDBL

Window Distribute

• Distributes several logical windows among different partitions

• SQF-independent• Parameterized on partitioning

functionset wd= PCC(2,"S-Distribute","RRpart",

"fft3","S-Merge",0.1);

Page 13: Customizable Parallel Execution of Scientific Stream Queries

8/30/2005 13Milena Ivanova and Tore Risch, UDBL

Window Distribute (cont.)

Round Robin partitioning: create function RRpart(Stream s, Integer ptot, Integer pno) -> Window as select w[pno] from Vector of Window w where w = slidingWindow(s,ptot,ptot);

Page 14: Customizable Parallel Execution of Scientific Stream Queries

8/30/2005 14Milena Ivanova and Tore Risch, UDBL

Window Split• Splits a single logical window into sub-

windows• Needs knowledge about SQF semantics • SQF-dependent parameters for window

splitting and combining set ws= PCC(2,"OS-Split","fft3part", "fft3","OS-Join","fft3combine");

Page 15: Customizable Parallel Execution of Scientific Stream Queries

8/30/2005 15Milena Ivanova and Tore Risch, UDBL

Window Split (cont.)

FFT-dependent window split based on FFT- Radix K algorithm:

create function fft3part(RadioWindow w, Integer ptot,Integer pno)-> RadioWindow as select radioWindow(ts(w), fftpart(x(w),ptot,pno), fftpart(y(w),ptot,pno), fftpart(z(w),ptot,pno));

Page 16: Customizable Parallel Execution of Scientific Stream Queries

8/30/2005 16Milena Ivanova and Tore Risch, UDBL

Experimental Results• Strategies: Window Split (WS), Window Distribute(WD),

and Central – all expressed as templates • Scalability metrics:

– Total maximum throughput– Scaled logical window sizes: 256-16384 samples

• Impact of computation and communication by two experimental sets (slow and fast implementation of FFT)

• Tree-structured partitioning and combining set wd-tree = PCC(2,"S-Distribute","RRpart","PCC", {2,"S-Distribute","RRpart","fft3", "S-Merge",0.1}, "S-Merge",0.1);

Page 17: Customizable Parallel Execution of Scientific Stream Queries

8/30/2005 17Milena Ivanova and Tore Risch, UDBL

Experimental ResultsSlow Set, Degree 2

• Load of FFT computing nodes dominates• WS2 more efficient than WD2

Page 18: Customizable Parallel Execution of Scientific Stream Queries

8/30/2005 18Milena Ivanova and Tore Risch, UDBL

Experimental Results – Slow Set, Degree 4

0

10

20

30

40

50

60

70

Partition FFT Combine

WD-FlatWS-FlatWS-Tree

Size 512

WS4 better for window size > = 1024

Page 19: Customizable Parallel Execution of Scientific Stream Queries

8/30/2005 19Milena Ivanova and Tore Risch, UDBL

Experimental Results – Fast Set, Degree 4

0510152025303540

Partition FFT Combine

WD-FlatWD-TreeWS-FlatWS-Tree

0

5

10

15

20

25

30

35

Partition FFT Combine

Size 2048 Size 8192

Page 20: Customizable Parallel Execution of Scientific Stream Queries

8/30/2005 20Milena Ivanova and Tore Risch, UDBL

Communication Costs

Partition Compute Combine

WS Proc 0,42 57,66 13,8WS Comm 15,94 2,82 5,17

WS Comm % 95% 4,6% 26,7%

WD Proc 0,04 62,95 0,09

WD Comm 7,56 2,72 5,01WD Comm % 93,9% 4,1% 91,2%

Elapsed processing and communication time in partition, compute, and combine phases for WS2 and WD2, fast set, size 8192

Page 21: Customizable Parallel Execution of Scientific Stream Queries

8/30/2005 21Milena Ivanova and Tore Risch, UDBL

Speed-up – slow set

Page 22: Customizable Parallel Execution of Scientific Stream Queries

8/30/2005 22Milena Ivanova and Tore Risch, UDBL

Conclusions• Parallel execution of CQs with expensive user-defined

computations• High-level Data Flow Distribution Templates specify

distributed execution strategies for CQs• PCC (Partition-Compute-Combine) template for lattice-

shaped partitioned parallelism• Two customizable stream partitioning strategies by

templates: Window Split – knowledge about application semantics for more efficient

computing– better when expensive CQs execute on limited resourcesWindow Distribute– application independent customizable partitioning– better for non-expensive operations, small window sizes,

or more resources

Page 23: Customizable Parallel Execution of Scientific Stream Queries

8/30/2005 23Milena Ivanova and Tore Risch, UDBL

Ongoing and Future Work

• Optimized data flow graphs using profiled runs in training mode

• More complex CQs and other distribution strategies

• Adaptation• Resource allocation through Grid

infrastructure