• 제목/요약/키워드: Cache Conscious Tree

검색결과 8건 처리시간 0.02초

CC-GiST: 임의의 캐시 인식 검색 트리를 효율적으로 구현하기 위한 일반화된 프레임워크 (CC-GiST: A Generalized Framework for Efficiently Implementing Arbitrary Cache-Conscious Search Trees)

  • 노웅기;김원식;한욱신
    • 정보처리학회논문지D
    • /
    • 제14D권1호
    • /
    • pp.21-34
    • /
    • 2007
  • 최근 메인 메모리 가격이 하락하고 용량이 크게 증가함에 따라 메인 메모리 데이터베이스에 기반한 응용이 급격히 증가하고 있다. 캐시 미스 (cache miss)는 CPU에서 액세스하고자 하는 데이터가 캐시에 존재하지 않아 메모리로부터 읽어 들이는 과정이며, 메인 메모리 데이터베이스의 성능 감소의 중요한 원인이다. 메인 메모리 데이터베이스에서의 캐시 미스를 줄이고 캐시를 최대한 활용하기 위하여 여러 가지 캐시 인식 트리들(cache conscious trees)이 제안되었다. 이러한 캐시 인식 트리들은 각각 특성이 다르므로 하나의 응용에서 둘 이상의 캐시 인식 트리들이 동시에 관리될 수 있다. 또한, 만약 기존의 캐시 인식 트리가 응용에서의 요구를 만족시키지 못하면 새로운 캐시 인식 트리를 구현하여야 한다. 본 논문에서는 캐시 인식하는 일반화된 검색 트리(Cache-Conscious Generalized Search Tree, CC-GiST)를 제안한다. CC-GiST는 디스크 기반의 일반화된 검색 트리 (Generalized Search Tree, GiST) [HNP95]를 캐시 인식하도록 확장한 것이며, 포인터 압축(pointer compression)과 키 압축(key compression) 기법을 비롯하여 임의의 캐시 인식 트리의 공통적인 기능 및 알고리즘들을 동시에 제공한다. CC-GiST를 기반으로 특정 캐시 인식트리를 구현하려면 그 트리에 해당된 기능만을 구현하면 된다. 본 논문에서는 CC-GiST를 기반으로 기존의 대표적인 캐시 인식 트리인 CSB+-트리, pkB-트리, CR-트리를 구현하는 방법을 기술한다. CC-GiST를 이용함에 따라 메인 메모리 데이터베이스 응용에서 여러 개의 캐시 인식 트리를 관리하는 번거로움에서 벗어날 수 있고, 응용의 요구에 따른 새로운 캐시 인식 트리를 최소한의 노력으로 효율적으로 구현할 수 있다.

압축 지역성 수준에 기반한 캐쉬 인식 압축 색인 (A Cache-Conscious Compression Index Based on the Level of Compression Locality)

  • 김원식;유재준;이진수;한욱신
    • 한국멀티미디어학회논문지
    • /
    • 제13권7호
    • /
    • pp.1023-1043
    • /
    • 2010
  • 최근 메인 메모리의 용량 증가와 가격하락으로 데이터베이스 시스템에서 사용하고 있는 색인 전체를 메인 메모리상에 상주시키는 것이 가능해지고 있다. 그러나 CPU와 메인 메모리의 연산속도와 메인 메모리의 접근 속도의 차이는 해마다 커지고 있다. 이러한 접근 속도 차이로 생기는 문제를 해결하기 위한 많은 연구가 진행 중에 있다. 이러한 연구 중 캐시 인식 트리는 데이터 압축을 통해서 캐시 미스를 줄이고, 메인 메모리의 접근 비용을 감소시킬 수 있다. 기존의 캐시 인식 트리는 데이터의 특성과 관계없이 오직 한 가지 방법의 압축방법을 사용하는 한계가 있다. 본 논문에서는 이러한 한계를 극복 할 수 있는 방법을 제안한다. 첫 번째로, 데이터의 특성을 설명 할 수 있는 압축 지역성의 개념을 제안한다. 두 번째로, 데이터의 특성에 따라 최대한 캐시 미스를 줄일 수 있도록 여러 가지 압축 방법을 지원하는 DC-Tree를 제안한다. 캐시 미스 수 측면에서 DC-Tree는 B+-Tree, Simple prefix DC-Tree, pkB-Tree에 비해 각각 1.7배, 1.5배, 1.3배의 성능 향상을 보였다. 본 논문에서 제안한 DC-Tree는 사업 데이터베이스 시스템에 적용 할 수 있을 것으로 예상되며, 실제 응용에서도 성능 향상을 보일 수 있을 것이다.

주기억 데이타베이스 인덱싱을 위한 CCMR-트리 (Making Cache-Conscious CCMR-trees for Main Memory Indexing)

  • 윤석우;김경창
    • 한국정보과학회논문지:데이타베이스
    • /
    • 제30권6호
    • /
    • pp.651-665
    • /
    • 2003
  • 매년 CPU 속도가 60% 정도 증가되고, 메모리 속도가 10% 증가되는 현실에서, 캐쉬 미스(Cache miss)를 얼마나 줄이느냐 하는 문제가 현재의 주기억 데이타베이스 환경에서 가장 중요한 문제로 대두되었다. 최근 연구들에서는 R-트리의 변형 모델인 CR-트리와 같은 인덱스 구조들이 제시되었으나, 이는 손실 발생 가능한 압축 기법을 사용함으로써 검색 성능이 더 나빠질 수 있다는 문제점이 있다. 본 논문에서는 MR-트리라고 이름 붙여진 캐쉬 동작에 민감한 R-트리의 새로운 변형 모델을 제시한다. MR-트리는 리프가 아닌 중간 노드 엔트리들을 100%에 가깝게 사용하여 결과적으로 트리의 높이와 중간 노드 엔트리의 MBR을 줄여주는 효과를 준다. 이를 위해 노드 분할 발생시 입력 경로 상에 하나 이상의 빈 엔트리를 지니는 중간 노드가 존재할 경우에만, 노드 분할을 상위로 전송하고, 존재하지 않을 경우 새롭게 생성된 노드는 분할된 노드의 자식 노드가 된다. MR-트리는 이와 같은 동작으로 인해 발생 가능한 트리 불균형 문제를 높이 균형화(HeightBalance) 알고리즘을 수행함으로써 해결한다. 한편, 본 논문에서는 MR-트리를 캐쉬 동작에 더욱 민감한 트리형태로 만들기 위해 CCMR-트리를 제안한다. 본 논문의 실험과 분석 결과, 2차원의 MR-트리는 약간의 개선된 수정 속도와 비슷한 메모리 사용량을 기록하며, 기존의 R-트리에 비해 2.4배 이상의 빠른 검색 속도를 나타냈다.

KDBcs-트리 : 캐시를 고려한 효율적인 KDB-트리 (KDBcs-Tree : An Efficient Cache Conscious KDB-Tree for Multidimentional Data)

  • 여명호;민영수;유재수
    • 한국정보과학회논문지:데이타베이스
    • /
    • 제34권4호
    • /
    • pp.328-342
    • /
    • 2007
  • 본 논문에서는 데이타의 갱신이 빈번한 상황에서 데이타의 갱신을 효율적으로 처리하기 위한 색인 기법을 제안한다. 제안하는 색인구조는 대표적인 공간 분할 색인 기법 중 하나인 KDB-트리를 기반으로 하고 있으며, 캐시의 활용도를 높이기 위한 데이타 압축 기법과 포인터 제거 기법을 제안한다. 제안하는 기법의 우수성을 보이기 위해서 기존의 대표적인 캐시를 고려한 색인 구조중 하나인 CR-트리와 실험을 통해 성능을 비교하였으며, 성능평가 결과, 제안하는 색인 구조는 삽입 성능과 갱신 성능, 캐시 활용도 면에서 기존 색인 기법에 비해 각각 85%, 97%, 86% 의 성능이 향상되었다.

캐시를 고려한 T-트리 인덱스 구조 (Cache Sensitive T-tree Index Structure)

  • 이익훈;김현철;허재녕;이상구;심준호;장준호
    • 한국정보과학회논문지:데이타베이스
    • /
    • 제32권1호
    • /
    • pp.12-23
    • /
    • 2005
  • 지난 10년간 CPU의 속도는 메모리의 속도에 비해 급속한 속도로 발전하였다 그 결과 데이터 베이스 시스템을 포함한 다른 컴퓨터 응용분야에서 메모리의 접근이 병목현상을 일으키게 되었다. 메모리의 접근 속도를 줄이기 위해 캐시 메모리가 도입되었다 하지만 캐시 메모리는 원하는 데이타가 캐시에 옮겨져 있어야 메모리 접근 속도를 줄일 수 있다. 때문에 응용프로그램에서 데이타를 어떤 순서로 액세스 하느냐에 따라 캐시의 활용도가 달라지고 응용프로그램의 성능이 달라지게 된다. 이 시점에서 현재 컴퓨터에서 B+-트리가 T-트리보다 더 빠르다는 사실이 알려졌다. B+-트리가 T-트리보다 캐시를 더 효율적으로 사용하기 때문이다. 또한 B+-트리를 개선하여 캐시를 더욱 효율적으로 사용하는 CSB+-트리(Cache Sensitive B+-tree)가 제안되기도 하였다 본 논문의 목표는 T-트리가 캐시를 효율적으로 사용하도록 새로운 T-트리 구조를 개발하는 것이다. CSB+-트리와 같이 시스템의 L2 캐시를 최대한 활용하며 기존 T-트리가 가지는 장점을 가지는 새로운 CST-트리(Cache Sensitive T-트리)를 설계 개발하고, 실험을 통해 기타 다른 인덱스 구조에 비교하여 CST-트리의 우수성을 보인다.

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

  • 박명선
    • 정보처리학회논문지D
    • /
    • 제13D권4호
    • /
    • pp.463-476
    • /
    • 2006
  • 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 성능 저하만을 보였다.

An Index Structure for Main-memory Storage Systems using The Level Pre-fetching

  • Lee, Seok-Jae;Yoon, Jong-Hyun;Song, Seok-Il;Yoo, Jae-Soo
    • International Journal of Contents
    • /
    • 제3권1호
    • /
    • pp.19-23
    • /
    • 2007
  • Recently, several main-memory index structures have been proposed to reduce the impact of secondary cache misses. In mainmemory storage systems, secondary cache misses have a substantial effect on the performance of index structures. However, recent studies still stiffer from secondary cache misses when visiting each level of index tree. In this paper, we propose a new index structure that minimizes the total amount of cache miss latency. The proposed index structure prefetched grandchildren of a current node. The basic structure of the proposed index structure is based on that of the CSB+-Tree, which uses the concept of a node group to increase fan-out. However, the insert algorithm of the proposed index structure significantly reduces the cost of a split. The superiority of our algorithm is shown through performance evaluation.

메인메모리에서 캐시를 고려한 LUR-tree (Cache-Conscious LUR-tree in Main Memory)

  • 이현진;장용일;박순영;오영환;배해영
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 가을 학술발표논문집 Vol.31 No.2 (2)
    • /
    • pp.52-54
    • /
    • 2004
  • 이동객체의 위치 정보는 데이터의 양이 방대하고, 객체의 위치가 변경될 매마다 계속적인 갱신연산이 요구되어진다. 이러한 갱신 연산에서 디스크 접근비용을 최소화하기 위해 최근 Lazy Update R-tree(LUR-tree)가 제안되었다. 그러나 디스크 기반의 색인은 검색 및 갱신 연산의 실시간 처리를 보장할 수 없기 때문에 메인 메모리에서 이동객체의 위치 정보를 유지하는 것이 필요하다. 본 논문에서는 디스크 기반의 LUR-tree를 MBR 압축을 통해 캐시에 최적화되도록 변형한 색인기법을 제안한다. MBR 압축기법은 부모 노드로의 상대적 위치로 표현된 엔트리의 MBR을 변환함수를 통해 2,4,8 바이트의 정수로 변환한다. 제안된 색인은 변환된 MBR의 크기에 따라 엔트리를 동적 할당함으로써, 상위노드에서는 키 비교 회수를 줄이고, 단말 노드로 갈수록 키 비교 횟수는 늘어나지만, 캐시 미스를 줄일 수 있다는 장점으로 인해 검색 및 갱신 성능을 전체적으로 향상시킨다

  • PDF