A Cache-Conscious Compression Index Based on the Level of Compression Locality

압축 지역성 수준에 기반한 캐쉬 인식 압축 색인

  • 김원식 (경북대학교) ;
  • 유재준 (한국전자통신연구원 융합기술연구부문 자동차/조선 IT 융합연구부) ;
  • 이진수 (경북대학교 전기전자컴퓨터 공학부 대학원) ;
  • 한욱신 (경북대학교 컴퓨터공학부)
  • Received : 2009.12.04
  • Accepted : 2010.03.20
  • Published : 2010.07.31

Abstract

As main memory get cheaper, it becomes increasingly affordable to load entire index of DBMS and to access the index. Since speed gap between CPU and main memory is growing bigger, many researches to reduce a cost of main memory access are under the progress. As one of those, cache conscious trees can reduce the cost of main memory access. Since cache conscious trees reduce the number of cache miss by compressing data in node, cache conscious trees can reduce the cost of main memory. Existing cache conscious trees use only fixed one compression technique without consideration of properties of data in node. First, this paper proposes the DC-tree that uses various compression techniques and change data layout in a node according to properties of data in order to reduce cache miss. Second, this paper proposes the level of compression locality that describes properties of data in node by formula. Third, this paper proposes Forced Partial Decomposition (FPD) that reduces the nutter of cache miss. DC-trees outperform 1.7X than B+-tree, 1.5X than simple prefix B+-tree, and 1.3X than pkB-tree, in terms of the number of cache misses. Since proposed DC-trees can be adopted in commercial main memory database system, we believe that DC-trees are practical result.

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

Keywords

Acknowledgement

Supported by : 한국학술진흥재단

References

  1. Phil Bernstein, Michael Brodie, Stefano Ceri, David DeWitt, Mike Franklin, Hector Garcia-Molina, Jim Gray, Jerry Held, Joe Hellerstein, H. V. Jagadish, Michael Lesk, Dave Maier, Jeff Naughton, Hamid Pirahesh, Mike Stonebraker, and Jeff Ullman, "The Asilomar Report on Database Research," SIGMOD Record, Vol 27, No.4, pp.74-80, Dec. 1998 https://doi.org/10.1145/306101.306137
  2. J. Rao and K.A. Ross, "Making B*-trees Cache Conscious in Main Memory," In Proc. of ACM-SIGMOD International Conference on Management of Data, pp.475-486, Dallas, Texas, May. 2000.
  3. T. M. Chilimbi, J. R. Larus, and M. D. Hill, "Improving Pointer Based Codes through Cache-Conscious Data Placement," Technical report, University of Wisconsin-Madison, Computer Science Department, 1998.
  4. A. Ailamaki, D.J. DeWitt, M.D. Hill, and D. A. Wood, "DBMS on a Modem Processor: Where Does Time Go?," In Proc. International Conference on Very Large Databases, pp 54-65, Sept. 1999
  5. P. A. Boncz, S. Manegold, and M. L. Kersten, "Database Architecture Optimized for the New Bottleneck: Memory Access," In Proc. International Conference on Very Large Databases Conference, pp.54-65, Edinburgh, Scotland, UK, Sept. 1999.
  6. B. Calder, C. Krintz, S. John, and T. Austin, "Cache-Conscious Data-Placement," In Proc. 8th Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pp.139-149, Oct. 1998
  7. T. M. Chilimbi, J. R. Larus, and M. D. Hill, "Making Pointer Based Data Structures Cache Conscious," IEEE Computer, Vol.33, No.12, pp.67-74, Dec. 2000. https://doi.org/10.1109/2.889095
  8. Tobin J. Lehman and Michael J. Carey, "A Study of Index Structures for Main Memory Database Management Systems," In Proc. of the International Conference on Very Large Databases Conference, pp.25-88, Kyto, Japan, Aug. 1986.
  9. P. Bohannon, P. Mcilroy, and R. Rastogi, "Main-Memory Index Structures with Fixed-Size Partial Keys," In Proc. of the ACM SIGMOD/PODS International Conference on Management of Data, pp.163-174, Santa Barbara, California, May 2001.
  10. J. Rao and K. A. Ross, "Cache Conscious Indexing for Decision-Support in Main Memory," In Proc. International Conference on Very Large Databases, pp.77-89, Edinburgh, Scotland, UK, Sept. 1999.
  11. Anastassia Ailamaki, David J. DeWitt, and Mark D. Hill, "Data page Layouts for Relational Databases on Deep Memory Hierarchies," The International journal on Very Large Data Bases, Vol. 11, Issue 3, pp. 198-215, Nov. 2002 https://doi.org/10.1007/s00778-002-0074-9
  12. 김원식, 유재준, 이진수, 한욱신, "압축 지역성 수준에 기반한 캐시 인식 압축 색인", Korean DataBase Conference 2008(KDBC2008), pp. 286-293, 2008. 5.
  13. Bayer, R., and Unterauer, K. "Prefix B-trees," ACM Transactions on Database Systems, Vol 2, No.1, pp. 11-26, 1977 https://doi.org/10.1145/320521.320530
  14. R. Ramakrishnan and J. Gehrke, Database Management Systems, WCB/McGraw-Hill, 2000.
  15. Patrick E. O'Neil, "The SB-tree: An Index Sequential Structure for High-Performance Sequential Access," Acta Informatica, Vol.29, No.3, pp. 241-265, 1992. https://doi.org/10.1007/BF01185680