customizable parallel execution of scientific stream queries
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 PresentationTRANSCRIPT
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