Abstract
A lot of work has been done to reduce disk access time in I/O intensive systems, which store and handle massive amount of data, by distributing data across multiple disks and accessing them in parallel. Most of the previous work has focused on an efficient mapping from a grid cell to a disk number on the assumption that data space is regular grid-like partitioned. Although we can achieve good performance for low-dimensional data by grid-like partitioning, its performance becomes degenerate as grows the dimension of data even with a good disk allocation scheme. This comes from the fact that they partition entire data space equally regardless of distribution ratio of data objects. Most of the data in high-dimensional space exist around the surface of space. For that reason, we propose a new declustering algorithm based on the partitioning scheme which partition data space from the surface. With an unbalanced partitioning scheme, several experimental results show that we can remarkably reduce the number of data blocks touched by a query as grows the dimension of data and a query size. In this paper, we propose disk allocation schemes based on the layout of the resultant data blocks after partitioning. To show the performance of the proposed algorithm, we have performed several experiments with different dimensional data and for a wide range of number of disks. Our proposed disk allocation method gives a performance within 10 additive disk accesses compared with strictly optimal allocation scheme. We compared our algorithm with Kronecker sequence based declustering algorithm, which is reported to be the best among the grid partition and mapping function based declustering algorithms. We can improve declustering performance up to 14 times as grows dimension of data.
디스크 입출력 성능에 의해서 많은 영향을 받는 대용량의 데이타를 저장하고 처리하는 시스템에서 데이타를 다수의 병렬 디스크에 분산 시켜 저장한 후 질의 처리 시 디스크 접근 시간을 감소시키기 위한 노력들이 많이 행해졌다. 대부분의 이전 연구들은 데이타 공간이 정형의 그리드 형태로 분할되어 있다는 가정 하에 각 그리드 셀에 대해서 효과적으로 디스크 번호를 할당하는 알고리즘 연구에 치중하였다. 하지만, 그리드 형태의 분할은 저차원 데이타에 대해서는 효과적이지만 고차원 데이타에 대해서는 우수한 디스크 할당 알고리즘을 적용하더라도 디클러스터링에 의한 성능 향상을 이룰 수가 없다. 그 이유는 그리드 분할 방법은 데이타 분포 비율에 관계없이 전체 데이타 공간을 동일한 비율로 분할하기 때문이다. 고차원 데이타는 대부분 데이타 공간의 표면에 존재한다. 본 논문에서는 이와 같은 현상을 고려하여 데이타 표면으로부터 주기적으로 편중 분할하는 알고리즘을 이용한 새로운 디클러스터링 알고리즘을 제시한다. 다양한 실험 결과에 의하면 표면으로부터 주기적으로 편중 분할하는 방법은 차원이 증가할 수록, 또한 질의 크기가 증가할 수록 그리드 형태의 분할에 비해서 질의를 만족하는 데이타 블록의 수를 현저히 감소시킬 수 있다. 본 논문에서는 분할 결과 데이타 블록들의 배치(layout)를 이용한 디스크 번호 할당 알고리즘들을 제시하였다. 우리는 제시한 알고리즘의 성능을 보이기 위해서 다양한 차원과 디스크 수에 대해서 여러 가지 실험을 하였다. 본 연구에서 제시한 디스크 할당 알고리즘은 절대 최적의 디스크 할당 방법에 비해서 추가적인 디스크 접근 횟수가 10번을 넘지 않는다. 디클러스터링 알고리즘의 응답 시간에 대해서 그리드 분할에 대해서 가장 좋은 성능을 보이는 것으로 알려져 있는 Kronecker sequence을 이용한 디스크 할당 알고리즘과 비교하였으며 차원이 높아짐에 따라 최대 14배까지 성능이 향상된다.