Cache Sensitive T-tree Index Structure

캐시를 고려한 T-트리 인덱스 구조

  • Published : 2005.01.01

Abstract

In the past decade, advances in speed of commodity CPUs have iu out-paced advances in memory latency Main-memory access is therefore increasingly a performance bottleneck for many computer applications, including database systems. To reduce memory access latency, cache memory incorporated in the memory subsystem. but cache memories can reduce the memory latency only when the requested data is found in the cache. This mainly depends on the memory access pattern of the application. At this point, previous research has shown that B+ trees perform much faster than T-trees because B+ trees are more cache conscious than T-trees, and also proposed 'Cache Sensitive B+trees' (CSB. trees) that are more cache conscious than B+trees. The goal of this paper is to make T-trees be cache conscious as CSB-trees. We propose a new index structure called a 'Cache Sensitive T-trees (CST-trees)'. We implemented CST-trees and compared performance of CST-trees with performance of other index structures.

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

Keywords

References

  1. Tobin J. Lehman, A Study of Index Structures for Main Memory Database Management System, VLDB 1986
  2. Jun Rao, et al, Cache Conscious Indexing for Decision-Support in Main Memory, VLDB 1999
  3. Jun Rao, et al, Making B+ Trees Cache Conscious in Main Memory, 2000 SIGMOD
  4. A. J. Smith, 'Cache Memories', ACM Computing Surveys, 14:473-530, Sep., 1982 https://doi.org/10.1145/356887.356892
  5. Peter Boncz, et al, Database Architecture Optimized for the new Bottleneck : Memory Access, VLDB 1999
  6. A. Aho, J. Hopcroft and J. D. Ullman, The Design and Analysis of Computer Algorithm, Addison-Wesley Publising Companay, 1974
  7. D. Comer, 'The ubiquitous B-trees,' Computing Surveys 11, pp. 121-137, 1979 https://doi.org/10.1145/356770.356776
  8. Phlip Bohannon, et al, Main-Memory Index Structures with Fixed-Size Partial Keys, ACM SIGMOD 2001 https://doi.org/10.1145/375663.375681
  9. Thomas H. Cormen, et al, Introduction to Algorithms, The MIT Press, 1990
  10. Sun MicroSystems, SHADE 1.7.3 BETA, available via 'http://wwws.sun. com/software/download/products-/3ff9c026.html'