Title: PARALLEL SKYLINE COMPUTATION ON MULTICORE ARCHITECTURE
1PARALLEL SKYLINE COMPUTATION ON MULTI-CORE
ARCHITECTURE
- POSTECH DAG ???
- ????? ?? ??? ???
2Changes
http//www.tomshardware.com/reviews/mother-cpu-cha
rts-2005,1175.html
3Changes
CPU Core ? ??? ?? ??
4(No Transcript)
5Database operations?
- I/O intensive operations
- Disk reads/writes
- Random/Sequential access
- Little performance gain
- No CPU intensive DB operation?
- Skyline Query
6Skyline Query
- Which objects are the most important or
interesting? - For one attribute
- For many attributes
7The Skyline of Chicago
8The Skyline of Hotels
9Skyline Query
- A dominates B
- All attributes of A are better than or equal to
their corresponding attributes of B. - At least one attribute of A is strictly better
than that of B - Skyline Query
- Compute a subset of objects that are not
dominated by any other objects from a given set.
10Skyline Query
- The advantage of skyline query
- It is hard to determine the preference among
attributes. - Ex) ?? ??????? ??? 1km ??? ??? ??? 100 ???
???? 1.7? ????. - Applications
- Hotel recommendation system
- Product recommendation system
11Skyline Algorithms
- Sequential algorithms / no index structure
- BNL
- SFS
- LESS
- Sequential algorithms / index structure
- NN
- BBS
- ZSearch
- Parallel algorithms
- Several algorithms for distributed environment
- No algorithm for multi-core environment
12Skyline Algorithms for Multi-core
- Distributivity of Skyline
- S(D union D) S(S(D) union S(D))
- Can compute a skyline from a set of local
skylines - Divide-and-Conquer approach
13Skyline Algorithm for Multi-core
- Skeleton Programming Model
- Structured Parallel Programming
- Provide several patterns for parallel programming
- Ex) map, reduce,
- Simple, Safe Parallel Programming
- Simple vs. Expressive
14Skyline Algorithm for Multi-core
- (parallel) map
- (parallel) reduce
A
B
C
D
E
F
G
H
A
B
C
D
E
F
G
H
A
B
C
D
E
F
G
H
A
B
C
D
R
15Skyline Algorithm for Multi-core
- Two auxiliary functions
- sskyline
- Abbv. sequential skyline
- In-place skyline algorithm for local skyline
computation - smerge
- Abbv. sequential merge
- Merge two skylines into one skyline
16Skyline Algorithm for Multi-core
A
B
C
D
E
A
E
C
D
A
E
C
D
C
E
D
C
E
D
C
E
D
C
E
D
C
E
D
17Skyline Algorithm for Multi-core
A
B
C
D
E
F
G
H
18Skyline Algorithm for Multi-core
- Now, we have
- (parallel) map
- (parallel) reduce
- (sequential) skyline
- (sequential) merge
- Then, (parallel) skyline is
- reduce merge (map skyline D,,D)?
19Skyline Algorithm for Multi-core
A
B
C
D
E
F
G
H
M
N
A
20Skyline Algorithm for Multi-core
- Additional auxiliary function
- pmerge
- Abbv. parallel merge
- Merge two skyline into one skyline in parallel
Thread 2
A
B
C
D
E
F
G
H
Thread 1
21Skyline Algorithm for Multi-core
- Now, we have
- (parallel) map
- (sequential) reduce
- (sequential) skyline
- (parallel) merge
- Finally, (parallel) skyline is
- reduce merge (map skyline D,,D)!!
22Experimental Setup
- Dell PowerEdge server
- Two quad-core Intel Xeon 2.83 GHz CPUs
- 8GB main memory
- 4KB disk page
- Synthetic datasets
- Anti-correlated
- Independent
23Experimental Result
24Experimental Result
25Criticism
- How about parallelizing existing algorithms?
26Lets parallelize BBS
27(No Transcript)
28- Assume all points are indexed in an R-tree.
- mindist(MBR) the L1 distance between its
lower-left corner and the origin.
29- Each heap entry keeps the mindist of the MBR.
30- Process entries in ascending order of their
mindists.
31(No Transcript)
32(No Transcript)
33(No Transcript)
34(No Transcript)
35(No Transcript)
36Branched and Bound Skyline (BBS)
- Profiling
- It spends more than 90 of running time to
compare a new candidate with existing skylines - Lets parallelize this comparison
- Simple approach fails!!
- Optimization accumulate candidates
37Experimental Result
38Experimental Result
39Conclusion
- A skyline algorithm for multi-core architecture
- pskyline
- Multi-core architecture can benefit DB operations
- It is not simple to exploit parallelism
- pbbs
40Question?
41Thank you