$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

Prefetch R-tree: 디스크와 CPU 캐시에 최적화된 다차원 색인 구조
Prefetch R-tree: A Disk and Cache Optimized Multidimensional Index Structure 원문보기

정보처리학회논문지. The KIPS transactions. Part D. Part D, v.13D no.4 = no.107, 2006년, pp.463 - 476  

박명선 (KT BcN본부 제어플랫폼담당 유무선통합인증개발부)

초록
AI-Helper 아이콘AI-Helper

R-tree는 일반적으로 트리 노드의 크기를 디스크 페이지의 크기와 같게 함으로써 I/O 성능이 최적화 되도록 구현한다. 최근에는 주메모리 환경에서 CPU 캐시 성능을 최적화하는 R-tree의 변형이 개발되었다. 이는 노드의 크기를 캐시 라인 크기의 수 배로 하고 MBR에 저장되는 키를 압축하여 노드 하나에 더 많은 엔트리를 저장함으로써 성능을 높였다. 그러나, 디스크 최적 R-tree와 캐시 최적 R-tree의 노드 크기 사이에는 수십-수백 바이트와 수-수십 킬로바이트라는 큰 차이가 있으므로, I/O 최적 R-tree는 캐시 성능이 나쁘고 캐시 최적 R-tree는 디스크 I/O 성능이 나쁜 문제점을 가지고 있다. 이 논문에서는 CPU 캐시와 디스크 I/O에 모두 최적인 R-tree, PR-tree를 제안한다. 캐시 성능을 위해 PR-tree 노드의 크기를 캐시 라인 크기보다 크게 만든 다음 CPU의 선반입(prefetch) 명령어를 이용하여 캐시 실패 횟수를 줄이고, 트리 노드를 디스크 페이지에 낭비가 적도록 배치함으로써 디스크 I/O 성능도 향상시킨다. 또한, 이 논문에서는 PR-tree에서 검색 연산을 수행하는데 드는 캐시 실패 비용을 계산하는 분석 방법을 제시하고, 최적의 캐시와 I/O 성능을 보이는 PR-tree를 구성하기 위해, 가능한 크기의 내부 단말 노드, 중간 노드를 갖는 PR-tree 생성하여 성능을 비교하였다. PR-tree는 디스크 최적 R-tree보다 삽입 연산은 3.5에서 15.1배, 삭제 연산은 6.5에서 15.1배, 범위 질의는 1.3에서 1.9배, k-최근접 질의는 2.7에서 9.7배의 캐시 성능 향상이 있었다. 모든 실험에서 매우 작은 I/O 성능 저하만을 보였다.

Abstract AI-Helper 아이콘AI-Helper

R-trees have been traditionally optimized for the I/O performance with the disk page as the tree node. Recently, researchers have proposed cache-conscious variations of R-trees optimized for the CPU cache performance in main memory environments, where the node size is several cache lines wide and mo...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

문제 정의

  • 이 모델의 목적은 R-tree를 이용하여 범위 질의를 수행할 때 발생하는 디스크 접근 횟수를 분석하는 것이다[11]. Md를 PR-tree가 차지하고 있는 총 페이지 수, Q를 지금까지 수행한 질의의 수, 鸟를 높이 九인 노드 하나가 주어진 질의 사각형과 겹칠 확률이라 하자. Q*는 버퍼를 채울 때까지 필요한 질의의 수의 기대값이라 흐卜자.
  • 여기에서 우리의 목표는 캐시와 디스크 I/O 성능을 최적 화하는 것이다. 캐시 성능을 최적화하기 위해 수식 1의 캐 시 실패 비용을 최소화 하면 되고, 디스크 I/O 성능을 최적 화 하려면 수식 2의 디스크 VO 비용을 최소화 하면 된다.
  • 디스크 I/O에 최적인 R-tree와 CPU 캐시에 최적인 R-tree는 노드의 크기에서 수십-수백 바이트와 수-수십 킬 로바이트라는 큰 차이가 있으므로, 디스크 최적인 경우 CPU 캐시 성능이 떨어지고 CPU 캐시 최적인 경우 디스크 I/O 성능이 좋지 않다. 이 논문에서는 CPU 캐시와 디스크 I/O에 모두 효율적인 PR-tree를 제안하였다. PR-tree는 캐시 성능을 높이기 위해 노드 크기를 캐시 라인보다 크게 하고, 노드에 접근하기 전에 선반입 연산으로 캐시에 노드 데이타를 미리 적재하여 캐시 실패 비용을 줄였고, I/O 성능을 높이기 위해 디스크 페이지에 노드를 최적으로 배치하였다.
  • 이 논문은 캐시와 디스크 모두에 효율적인 R-tree, PR-tree (Prefetching R-tree)를 제안한다. PR-tree는 캐시 성능을 향상시키기 위해 노드의 크기를 캐시라인 크기보다 크게 만들고 최근의 프로세서에서 지원하는 캐시 선반 입 명령어를 이용하여 메모리에 있는 노드데이타를 CPU 캐시에 미리 읽어들임으로써 캐시 실패 비용을 최적화한다.
  • PR-tree의 디스크 I/O 비용을 분석하기 위해 여기에서 Leutenegger와 Lopez가 제안한 버퍼 모델을 사용한다. 이 모델의 목적은 R-tree를 이용하여 범위 질의를 수행할 때 발생하는 디스크 접근 횟수를 분석하는 것이다[11]. Md를 PR-tree가 차지하고 있는 총 페이지 수, Q를 지금까지 수행한 질의의 수, 鸟를 높이 九인 노드 하나가 주어진 질의 사각형과 겹칠 확률이라 하자.
  • QRMBR 기법은 자식 노드의 MBR이 부모 노드의 MBR에 포함되는 R-tree의 특성을 이용하여 자식 노드의 MBR을 부모 노드의 MBR에 상대적인 좌표로 바꾸고 일정한 데이타 크기를 갖도록 양자화하는 것이다. 이 연구는 노드 크기에 따라 다양한 종류의 R-tree 변형에 대해 성능을 실험하고 있다. [6].
  • 이 절에서는 범위 질의 성능에 내부 중간, 단말 노드의 크기가 미치는 영향에 대해 분석하겠다. 이를 위해 4.
  • 본 논문의 의의는 다음과 같다. 첫째, 본 논문은 캐시와 디스크에 모두 효율적인 PR-tree를 제안하였다. R-tree를 개선한 새로운 인덱스인 PR-tree를 제시하고, 대량적재, 삽입, 삭제, 범위 질의, k-최근접 질의 등을 효율적으로 처리하는 새로운 알고리즘을 상세한 예와 함께 보였다.

가설 설정

  • 를 노드의 높이 또는 레벨이라 하고 단말 노드의 높이는 1이라고 가정한다. n을 디스크 페이지의 높이라 하고, 丑o는 루트 디스크 페이지의 높이이다.
  • 각 데이타 객체가 각 차원에 대해[0, 1]인도 메인에 균등분포 (uniform distribution) 되어 있는 점이라고 가정하면 각질의 MBRe hyper cube가 된다. 그리고 같은 높이의 각 노드는 대략 같은 크기를 갖는다고 가정한다.
본문요약 정보가 도움이 되었나요?

참고문헌 (13)

  1. Boncz, P. A., Manegold, S. and Kersten, M. L., 'Database Architecture Optimized for the New Bottleneck: Memory Access,' In Proceedings of the 25th VLDB, pp.54-65, 1999 

  2. Rao, J. and Ross, K A., 'Cache Conscious Indexing for Decision-Support in Main Memory,' In Proceedings of 25th International Conference on Very Large Data Bases, pp.78-89, 1999 

  3. Rao, J. and Ross, K. A., 'Making B+- Trees Cache Conscious in Main Memory,' In Proceedings of the 2000 ACM SIGMOD International Conference, pp.475-486, 2000 

  4. Chen, S., Gibbons, P. B. and Mowry, T. C., 'Improving Index Performance through Prefetching,' In Proceedings of the 2001 ACM SIGMOD International Conference, pp.235-246, 2001 

  5. Chen, S., Gibbons, P. B., Mowry, T. C. and Valentin, G., 'Fractal Prefetching B+- Trees: Optimizing Both Cache and Disk Performance,' In Proceedings of the 2002 ACM SIGMOD International Conference, pp.157-168, 2002 

  6. Kim, K., Cha, S. and Kwon, K., 'Optimizing Multi-dimensional Index Trees for Main Memory Access,' In Proceedings of the 2001 ACM SIGMOD International Conference, pp.139-150, 2001 

  7. Leutenegger, S. T, Edgington, J. M. and Lopez, M. A., 'STR: A Simple and Efficient Algorithm for R-Tree Packing,' In Proceedings of the Thirteenth International Conference on Data Engineering, pp.497-506, 1997 

  8. Guttman, A., 'R-Trees: A Dynamic Index Structure for Spatial Searching,' SIGMOD'84, Proceedings of Annual Meeting, pp.47-57, 1984 

  9. Roussopoulos, N., Kelley, S. and Vincent, F., 'Nearest Neighbor Queries,' In Proceedings of the 1995 ACM SIGMOD, pp.71-79, 1995 

  10. Kamel, I. and Faloutsos, C., 'On Packing R-trees,' in Proceedings of the 1993 ACM CIKM Conference, pp.490-499, 1993 

  11. Leutenegger, S. T. and Lopez, M. A., 'The Effect of Buffering on the Performance of R-Trees,' In Proceedings of the 14th International Conference on Data Engineering, pp.164-171, 1998 

  12. Beckmann, N., Kriegel, H.-P., Schneider, R. and Seeger, B., 'The R*-Tree; An Efficient and Robust Access Method for Points and Rectangles,' In Proceedings of the 1990 ACM SIGMOD, pp.322-331, 1990 

  13. Dongarra, J., London, K., Moore, S., Mucci, P. and Terpstra, D., 'Using PAPI for Hardware Performance Monitoring on Linux Systems,' In Proceedings of the 2nd LCI International Conference on Linux Clusters: The HPC Revolution 2001 

관련 콘텐츠

오픈액세스(OA) 유형

BRONZE

출판사/학술단체 등이 한시적으로 특별한 프로모션 또는 일정기간 경과 후 접근을 허용하여, 출판사/학술단체 등의 사이트에서 이용 가능한 논문

섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로