Customizable Parallel Execution of Scientific Stream Queries
description
Transcript of 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/
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
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
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
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
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
8/30/2005 7Milena Ivanova and Tore Risch, UDBL
GSDM ScenarioGSDM Scenario
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);
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.
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);
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
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);
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);
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");
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));
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);
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
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
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
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
8/30/2005 21Milena Ivanova and Tore Risch, UDBL
Speed-up – slow set
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
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