Transcript
Page 1: 00-04-271 On Computing the Data Cube. Research Report 10026, IBM Almaden Research Center, San Jose, California, 1996. 병렬 분산 컴퓨팅 연구실 석사 1 학기 송지숙

00-04-27 1

On Computing the Data Cube. Research Report 10026, IBM Almaden Research Center, San Jose, California, 1996.

병렬 분산 컴퓨팅 연구실 석사 1 학기 송지숙

Page 2: 00-04-271 On Computing the Data Cube. Research Report 10026, IBM Almaden Research Center, San Jose, California, 1996. 병렬 분산 컴퓨팅 연구실 석사 1 학기 송지숙

00-04-27 2

Contents

IntroductionPipeSort AlgorithmPipeHash AlgorithmComparing PipeSort and PipeHashConclusion

Page 3: 00-04-271 On Computing the Data Cube. Research Report 10026, IBM Almaden Research Center, San Jose, California, 1996. 병렬 분산 컴퓨팅 연구실 석사 1 학기 송지숙

00-04-27 3

Optimization(1/2)

Smallest-parent • 이전에 계산된 group-by 중 가장 작은 것으로부터 group-by 계산Cache-results • disk I/O 를 줄이기 위해서 결과가 memory 에 저장된 group-by

로부터 다른 group-by 계산 Amortize-scans • 가능하면 한꺼번에 많은 group-by 를 계산함으로써 disk read 를

줄이는 것

Page 4: 00-04-271 On Computing the Data Cube. Research Report 10026, IBM Almaden Research Center, San Jose, California, 1996. 병렬 분산 컴퓨팅 연구실 석사 1 학기 송지숙

00-04-27 4

Optimization(2/2)

Share-sorts • sort-based algorithm 에만 한정 • 여러 group-by 간에 sorting cost 를 공유Share-partitions • hash-based algorithm 에만 한정 • hash-table 이 memory 에 비해 너무 클 경우 , data 를

memory 에 맞게 분할하여 각 partition 에 대해 aggregation

여러 group-by 간에 partitioning cost 공유

Page 5: 00-04-271 On Computing the Data Cube. Research Report 10026, IBM Almaden Research Center, San Jose, California, 1996. 병렬 분산 컴퓨팅 연구실 석사 1 학기 송지숙

00-04-27 5

Sort-based methods

PipeSort algorithm • optimization share-sorts 와 smallest-parent 의 결합 : 두 optimization 간에 대립이 생길 수 있기 때문에

group-by 를 할 때 global planning 통해 minimum total cost 얻음 .

• optimization cache-results 와 amortize-scans 도 포함 : pipeline 방식으로 여러 group-by 를 실행함으로써 disk

scan cost 를 줄임 .

Page 6: 00-04-271 On Computing the Data Cube. Research Report 10026, IBM Almaden Research Center, San Jose, California, 1996. 병렬 분산 컴퓨팅 연구실 석사 1 학기 송지숙

00-04-27 6

Share-sorts and smallest-parent

all

A B C D

AB AC AD BC BD CD

ABC ABD ACD BCD

ABCD

Level

0

1

2

3

4

BDA

AB

ABC

A

Page 7: 00-04-271 On Computing the Data Cube. Research Report 10026, IBM Almaden Research Center, San Jose, California, 1996. 병렬 분산 컴퓨팅 연구실 석사 1 학기 송지숙

00-04-27 7

cache-results and amortize-scans

all

A B C D

AB AC AD BC BD CD

ABC ABD ACD BCD

ABCD

Level

0

1

2

3

4

AB

ABC

A

ABCD

Page 8: 00-04-271 On Computing the Data Cube. Research Report 10026, IBM Almaden Research Center, San Jose, California, 1996. 병렬 분산 컴퓨팅 연구실 석사 1 학기 송지숙

00-04-27 8

Algorithm PipeSort(1/2)

Input • search lattice - vertex : group-by cube - edge : i 로부터 j 가 generate 될 때 , i 에서 j 로 연결한다 . j 는 i 보다 attribute 를 하나 적게 가지고 i 를 j 의 parent 라고

부른다 . - cost : S 는 i 가 정렬되어 있지 않을 때 i 로부터 j 를 계산하는 cost A 는 i 가 정렬되어 있을 때 i 로부터 j 를 계산하는 cost

Output • subgraph of the search lattice - 각 group-by 는 그것의 attribute 정렬순서로 결합되어 있고 그것을

계산하는데 이용되는 하나의 parent 와 연결된다 .

Page 9: 00-04-271 On Computing the Data Cube. Research Report 10026, IBM Almaden Research Center, San Jose, California, 1996. 병렬 분산 컴퓨팅 연구실 석사 1 학기 송지숙

00-04-27 9

Algorithm PipeSort(2/2)

AB AC BC10 12 20

AB AC BC

A B C

2 5 13

ABC

allLevel

0

1

2

3A

S

AB AC BC10 12 20

A B C

AB AC BC2 5 13

Minimum cost matching

BA CABA

Page 10: 00-04-271 On Computing the Data Cube. Research Report 10026, IBM Almaden Research Center, San Jose, California, 1996. 병렬 분산 컴퓨팅 연구실 석사 1 학기 송지숙

00-04-27 10

Minimum cost sort plan

CBAD

CBA BAD ACD DBC

CB BA AC DB AD CD

C B A D

all

Raw data

2 4 5 8 4 16 4 13

5 15 5 15 4 14 5 15 5 15 10 20

10 30 15 40 5 20 45 130

50 160

A() S()

Pipeline edges

sort edges

BADCACDB

DBA

DBCA

ADCCDA

Page 11: 00-04-271 On Computing the Data Cube. Research Report 10026, IBM Almaden Research Center, San Jose, California, 1996. 병렬 분산 컴퓨팅 연구실 석사 1 학기 송지숙

00-04-27 11

Hash-based methods

PipeHash algorithm • optimization cache-results 와 amortize-scans 의 결합 : multiple hash-table 의 신중한 memory allocation 이 요구 • optimization smallest-parent 도 포함 • optimization share-partitions 포함 : aggregation data 는 hash-table 이 memory 에 들어가기에

너무 크기 때문에 , 하나 또는 그 이상의 attribute 에 대해서 data 를 partition 한다 . Partitioning attribute 를 포함하는 모든 group-by 간에 data partitioning cost 를 공유한다 .

Page 12: 00-04-271 On Computing the Data Cube. Research Report 10026, IBM Almaden Research Center, San Jose, California, 1996. 병렬 분산 컴퓨팅 연구실 석사 1 학기 송지숙

00-04-27 12

cache-results and amortize-scans

ABCD

Level

0

1

2

3

4

all

A B C D

AB AC AD BC BD CD

ABC ABD ACD BCD

AB AC

A B

Page 13: 00-04-271 On Computing the Data Cube. Research Report 10026, IBM Almaden Research Center, San Jose, California, 1996. 병렬 분산 컴퓨팅 연구실 석사 1 학기 송지숙

00-04-27 13

Algorithm PipeHash

Input • search lattice First step • 각 group-by 에 대해 , 가장 작은 total size 추정치를 가지는 parent group-by

를 선택한다 . 그 결과가 minimum spanning tree 이다 . Next step • 대개 MST 안에 모든 group-by 를 함께 계산하기에 memory 가 충분하지

않다 . • 다른 hash-table 을 위해 memory displacement 가 일어날 때 , 어떤 group-by 가 함께 계산될지 , data partitioning 을 위해 어떤 attribute 를 선택할지 결정한다 . • Optimization cache-results 와 amortize-scan 을 위해 MST 의 subtree 중 가장 큰

것을 선택하도록 한다 .

Page 14: 00-04-271 On Computing the Data Cube. Research Report 10026, IBM Almaden Research Center, San Jose, California, 1996. 병렬 분산 컴퓨팅 연구실 석사 1 학기 송지숙

00-04-27 14

all

A B C D

AB AC BC AD CD BD

ABC ABD ACD BCD

ABCD

Raw Data

Minimum spanning tree

Page 15: 00-04-271 On Computing the Data Cube. Research Report 10026, IBM Almaden Research Center, San Jose, California, 1996. 병렬 분산 컴퓨팅 연구실 석사 1 학기 송지숙

00-04-27 15

A AB AC AD

ABCD

Raw Data

ABC ABD ACD

BC

ABC B

AB

all

A

ABCD

BCD

CD BD

C D

First subtree partitioned on A Remaining subtrees

Page 16: 00-04-271 On Computing the Data Cube. Research Report 10026, IBM Almaden Research Center, San Jose, California, 1996. 병렬 분산 컴퓨팅 연구실 석사 1 학기 송지숙

00-04-27 16

Comparing PipeSort and PipeHash(1/5)

Dataset # of groupingattribute

# of tuple(in millions)

Size(in MB)

Dataset-A 3 5.5 110

Dataset-B 4 7.5 121

Dataset-C 5 9 180

Dataset-D 5 3 121

Dataset-E 6 0.7 18

Datasets

Performance results • faster than the naive methods • The performance of PipeHash is very close to lower bound for hash-based algorithms. • PipeHash is inferior to the PipeSort algorithms.

Page 17: 00-04-271 On Computing the Data Cube. Research Report 10026, IBM Almaden Research Center, San Jose, California, 1996. 병렬 분산 컴퓨팅 연구실 석사 1 학기 송지숙

00-04-27 17

Comparing PipeSort and PipeHash(2/5)

Page 18: 00-04-271 On Computing the Data Cube. Research Report 10026, IBM Almaden Research Center, San Jose, California, 1996. 병렬 분산 컴퓨팅 연구실 석사 1 학기 송지숙

00-04-27 18

각 group-by 결과로 tuple 의 수가 많이 줄어들 때 , hash-based method 가 sort-based method 보다 더 좋은 성능을 가질 것이다 .

Synthetic datasets • number of tuples, T • number of grouping attributes, N • ratio among the number of distinct values of each attribute,

d1:d2:…:dN

• ratio of T to the total number of possible attribute value combinations, p - data sparsity 정도를 바꾸는데 사용

Comparing PipeSort and PipeHash(3/5)

Page 19: 00-04-271 On Computing the Data Cube. Research Report 10026, IBM Almaden Research Center, San Jose, California, 1996. 병렬 분산 컴퓨팅 연구실 석사 1 학기 송지숙

00-04-27 19

Effect of sparseness on relative performance of the hash and sort-based algorithms for a 5 attribute synthetic dataset.

Comparing PipeSort and PipeHash(4/5)

Page 20: 00-04-271 On Computing the Data Cube. Research Report 10026, IBM Almaden Research Center, San Jose, California, 1996. 병렬 분산 컴퓨팅 연구실 석사 1 학기 송지숙

00-04-27 20

Results • x-axis denotes decreasing levels of sparsity. • y-axis denotes the ratio between the total running time of

algorithms PipeHash and PipeSort. • data 가 점점 덜 sparse 해짐에 따라 , hash-based method

가 sort-based method 보다 더 좋은 성능을 가진다 . • PipeHash 와 PipeSort algorithm 의 상대적인 성능의

predictor 는 sparsity 임을 알 수 있다 .

Comparing PipeSort and PipeHash(5/5)

Page 21: 00-04-271 On Computing the Data Cube. Research Report 10026, IBM Almaden Research Center, San Jose, California, 1996. 병렬 분산 컴퓨팅 연구실 석사 1 학기 송지숙

00-04-27 21

Conclusion

Presented five optimizations smallest-parent, cache-results, amortize-scans, share-sorts and share-partitions

The PipeHash and PipeSort algorithms combine them so as to reduce the total cost.

PipeHash does better on low sparsity data whereas PipeSort does better on high sparsity data.


Top Related