• 제목/요약/키워드: Cache conscious

검색결과 12건 처리시간 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는 사업 데이터베이스 시스템에 적용 할 수 있을 것으로 예상되며, 실제 응용에서도 성능 향상을 보일 수 있을 것이다.

캐시를 고려한 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-트리의 우수성을 보인다.

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

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

주기억 데이타베이스 인덱싱을 위한 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배 이상의 빠른 검색 속도를 나타냈다.

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.

방송 디스크 환경에서 클라이언트 트랜잭션을 위한 동시성 제어 (Concurrency Control for Client Transactions in Broadcast Disk Environments)

  • 조행래
    • 한국통신학회논문지
    • /
    • 제27권1B호
    • /
    • pp.99-107
    • /
    • 2002
  • 방송 디스크는 다수의 이동 클라이언트에게 정보를 전파하는 통신 구조이다. 방송 디스크에서 서버는 데이타베이스에 저장된 모든 데이타를 연속적으로 방송하며, 클라이언트는 방송 채널을 검사하여 자신이 원하는 데이타를 수신한다. 이런 관점에서 방송 채널은 클라이언트가 데이타를 액세스할 수 있는 디스크의 역할을 담당한다. 본 논문에서는 방송 데이타가 서버에서 변경될 경우, 클라이언트에서 실행되는 트랜잭션이 판독하는 데이타의 정확성을 보장하기 위한 캐쉬 기반의 동시성 제어 기법(Cache Conscious Concurrency Control: $C^4$) 기법을 제안한다. $C^4$ 기법은 서버로부터 동시성 제어를 위한 추가적인 정보의 방송을 최소화하며 클라이언트의 캐쉬를 효율적으로 사용함으로써 트랜잭션의 실행 시간을 단축시킬 수 있다는 장점을 갖는다.

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 성능 저하만을 보였다.

부분키 기법과 압축 기법을 혼용한 주기억장치 상주형 다차원 색인 구조 (A Main Memory-resident Multi-dimensional Index Structure Employing Partial-key and Compression Schemes)

  • 심정민;민영수;송석일;유재수
    • 한국정보과학회논문지:데이타베이스
    • /
    • 제31권4호
    • /
    • pp.384-394
    • /
    • 2004
  • 최근 중앙처리장치와 주기억장치간의 병목 현상에 의한 성능 저하를 극복하기 위해 캐시를 고려한 색인 구조들이 제안되었다. 이런 색인 구조들의 궁극적인 목표는 엔트리 크기를 줄여 팬-아웃(fan-out)을 증가시키고, 캐시 접근 실패를 최소화하여 시스템의 성능을 높이는 것이다. 엔트리의 크기를 줄이는 기법에 따라 기존의 색인 구조들을 두 가지로 구분할 수 있다. 하나는 좌표 값을 고정된 비트로 양자화 함으로써, MBR 키를 압축하는 것이다. 또 다른 하나는 MBR들의 각 좌표 값 중에 그들의 부모 MBR과 같지 않은 좌표 값만을 저장하는 것이다. 우선, 본 논문에서는 두 기법의 특성들을 적절히 조합한 새로운 색인 구조를 제안하고, 기존에 제시된 두 접근법을 따르는 주기억장치 상주형 다차원 색인 구조를 다양한 환경에서 성능 평가한다. 또한, 기존의 색인 구조와 비교를 통해 제안하는 색인 구조의 우수성을 보인다.

주기억장치 DBMS를 위한 고성능 인덱스 관리자의 설계 및 구현 (Design and Implementation of a High-Performance Index Manager in a Main Memory DBMS)

  • 김상욱;이경태;최완
    • 한국통신학회논문지
    • /
    • 제28권7B호
    • /
    • pp.605-619
    • /
    • 2003
  • 주기억장치 DBMS(MMDBMS)는 디스크가 아닌 주기억장치를 주요 저장 매체로서 사용하므로 고속의 처리를 요구하는 다양한 데이터베이스 응용을 효과적으로 지원한다. 본 논문에서는 차세대 MMDBMS Tachyon의 인덱스 관리자 개발에 관하여 논의한다. 최근 하드웨어의 급격한 발전으로 인하여 주기억장치 액세스 속도와 CPU의 처리 속도의 차는 점점 커지고 있다. 따라서 CPU 내에 있는 캐쉬(cache)의 존재를 충분히 활용하는 자료 구조 및 알고리즘을 고안함으로써 MMDBMS의 성능을 크게 개선시킬 수 있다. 본 논문에서는 Tachyon를 위한 캐쉬-인지 인덱스 관리자의 개발 중에 경험한 실질적인 구현 이슈들을 언급하고, 이들에 대한 해결 방안을 제시한다. 본 논문에서 다루는 주요 이슈들은 (1) 캐쉬(cache)의 효과적인 사용, (2)인덱스 엔트리 및 인덱스 노드의 집약적 표현(compact representation). (3) 가변 길이 키(variable-length key)의 지원, (4) 다중 애트리뷰트 키(multiple-attribute key)의 지원, (5) 중복키(duplicated key)의 지원. (6) 인덱스를 위한 시스템 카탈로그의 정의. (7) 외부 API(application programming interface)의 정의. (8) 효과적인 동시성 제어 방안. (9) 효율적인 백업 및 회복 방안 등이다. 또한, 다양한 실험을 통한 성능 분석을 통하여 제안된 인덱스 관리자의 우수성을 규명한다.