Parallel Batch B+-tree Insertion on Multi-core Architectures

Multi-core computers have become more and more popular, which presents new opportunities for improving performance of database systems. How to exploit the potential performance on multi-core systems has become a key figure now. In database systems, B+-tree is the most widely-used index structure for speeding up performance of database systems. This paper implements the algorithm of parallel batch B+-tree insertion with multithreaded disk buffer. In our parallel batch B+-tree insertion algorithm (PBI), records can be inserted into index file concurrently by different threads. The key of the algorithm is to make traditional insertion into batch insertion. Our experimental results show that our system achieves a higher performance on multi-core systems.

[1]  Donald E. Knuth,et al.  The art of computer programming: sorting and searching (volume 3) , 1973 .

[2]  Henry F. Korth,et al.  Database hash-join algorithms on multithreaded computer architectures , 2006, CF '06.

[3]  Jan Jannink,et al.  Implementing deletion in B+-trees , 1995, SGMD.

[4]  S. B. Yao,et al.  Efficient locking for concurrent operations on B-trees , 1981, TODS.

[5]  Hee-Sun Won,et al.  Batch-construction of B+-trees , 2001, SAC.

[6]  Gio Wiederhold,et al.  Database Design , 1977 .

[7]  Douglas Comer,et al.  Ubiquitous B-Tree , 1979, CSUR.

[8]  Witold Litwin,et al.  Linear Hashing: A new Algorithm for Files and Tables Addressing , 1980, ICOD.

[9]  Hu Chen,et al.  Multithreaded Linear Hashing with Disk Buffer , 2009, 2009 First International Workshop on Database Technology and Applications.

[10]  John Beidler,et al.  Data Structures and Algorithms , 1996, Wiley Encyclopedia of Computer Science and Engineering.

[11]  W. Paul,et al.  Computer Architecture , 2000, Springer Berlin Heidelberg.

[12]  Chen Hu,et al.  MSI A New Parallel Programming Model , 2009, 2009 WRI World Congress on Software Engineering.

[13]  Rudolf Bayer,et al.  Organization and maintenance of large ordered indexes , 1972, Acta Informatica.

[14]  Kenneth A. Ross,et al.  Improving Database Performance on Simultaneous Multithreading Processors , 2005, VLDB.