DOI QR코드

DOI QR Code

플래시 메모리 상에서 B+-트리 노드 크기 증가에 따른 성능 평가

Effect of Node Size on the Performance of the B+-tree on Flash Memory

  • 발행 : 2008.12.31

초록

플래시 메모리는 크기가 작고 적은 전력을 사용하며 충격에 강하기 때문에 휴대폰, MP3 플레이어, PDA와 같은 이동 기기에 널리 사용되고 있다. 또한, 노트북과 개인용 컴퓨터에서 사용하던 하드디스크를 플래시 메모리로 교체하려는 시도도 진행되고 있다. 최근에는 플래시 메모리 저장 시스템에서 대용량의 데이터를 효율적으로 검색하기 위한 플래시 메모리용 $B^+$-트리 인덱스를 개발하려는 연구가 이루어지고 있다. 이러한 연구는 $B^+$-트리에 키의 삽입 또는 삭제 시 발생하는 "덮어쓰기"를 최소화하는데 초점을 두고 있다. 그러나 이것뿐만 아니라 하나의 $B^+$-트리 노드에 할당되는 물리적 페이지의 크기도 $B^+$-트리 성능에 영향을 줄 수 있다. 본 논문에서는 다양한 실험을 통해 노드 크기에 따른 $B^+$-트리의 구축 성능, 검색 성능, 그리고 저장 공간 사용량을 비교 및 분석한다. 노드에 키 삽입 시 정렬 및 비정렬 알고리즘을 제시하며, 또한 효율적인 노드 검색을 위한 적절한 인덱스 노드 헤드 구조를 제안한다.

Flash memory is widely used as a storage medium for mobile devices such as cell phones, MP3 players, PDA's due to its tiny size, low power consumption and shock resistant characteristics. Additionally, some computer manufacturers try to replace hard-disk drives used in Laptops or personal computers with flash memory. More recently, there are some literatures on developing a flash memory-aware $B^+$-tree index for an efficient key-based search in the flash memory storage system. They focus on minimizing the number of "overwrites" resulting from inserting or deleting a sequence of key values to/from the $B^+$-tree. However, in addition to this factor, the size of a physical page allocated to a node can affect the maintenance cost of the $B^+$-tree. In this paper, with diverse experiments, we compare and analyze the costs of construction and search of the $B^+$-tree and the space requirement on flash memory as the node size increases. We also provide sorting-based or non-sorting-based algorithms to be used when inserting a key value into the node and suggest an header structure of the index node for searching a given key inside it efficiently.

키워드

참고문헌

  1. J.-H. Nam and D.-J. Park, “Design and Implementation of the B-Tree on Flash Memory,” Korea Information Science Society, Vol.34, No.2, pp.109-118, 2007
  2. C.-H. Wu, T.-W. Kuo and L.-P. Chang, “An efficient B-tree Layer Implementation for Flash Memory Storage Systems,” ACM Transactions on Embedded Computing Systems, Vol.6, No.19, July, 2007 https://doi.org/10.1145/1275986.1275991
  3. J. Kim, J. M. Kim, S. H. Noh, S. L. Min and Y. Cho, “A Space-Efficient Flash Translation Layer for Compact Flash System,” IEEE Transactions on Consumer Electronics, Vol.48, No.2, pp.366-375, May, 2002 https://doi.org/10.1109/TCE.2002.1010143
  4. S.-W. Lee, D.-J. Park, T.-S. Chung, D.-H. Lee, S. Park and H.-J. Song, “A Log Buffer based Flash Translation Layer using Fully Associative Sector Translation,” ACM Transactions on Embedded Computing Systems, Vol.6, No.18, July, 2007 https://doi.org/10.1145/1275986.1275990
  5. A. Silberschatz, H.F Korth, S. Sudarshan, “Database System Concepts”, 4th Ed., McGraw Hill, New York, 2002
  6. R. A. Hankins, J. M. Patel, “Effect of Node Size on the performance of Cache-Conscious $B^+$-trees,” ACM SIGMETRICS Performance Evaluation Review, Vol.31, No.1, pp.283-294, June, 2003 https://doi.org/10.1145/885651.781063
  7. E. Gal, S. Toledo, “Algorithms and Data Structures for Flash Memories,” ACM Computing Surveys, Vol.37, No.2, pp.138-163, June, 2005 https://doi.org/10.1145/1089733.1089735