论文部分内容阅读
随着2005年Intel发布了基于X86的桌面的双核处理器,多核处理器开始流行。处理器的不断发展,由纯粹的频率提升,逐渐转到多核运算、并行执行的方向上。处理器发展到多核阶段,传统的串行模型与并行架构之间的矛盾越发明显。如果编写的程序没有针对多核的特点来设计,就不能完全获得多核处理器带来的性能提升。多核时代的到来,给传统的串行编程模型带来了巨大的冲击。为了充分利用多核性能的优势,就需要设计一种高效的并行编程模型。
数据库管理系统(hDBMS)的实现是计算机技术中的重要研究方向之一,应用非常广泛。数据库的操作性能在很大程度上又取决于它所采用的索引机制。那么,随着多核时代的来临,如何高效地在多核并行环境下实现索引机制以及索引机制的维护将是一个非常有意义的课题,本文将围绕这个课题进行研究、设计和实现。
本文首先对传统索引机制进行总结,通过分析找到两种适合多核并行的索引方法:Blink索引和线性hash索引。然后,在第三章中分别描述了这两种索引算法的并发控制下的基本操作,并对这两种索引方法各分析和提出了一种批量插入算法。第四章介绍了基于任务池的并行程序设计的模型和多线程磁盘缓冲池,并说明这两个部分在多核并行索引机制中的应用以及系统实现中所采用的高效的页面数据结构。多核并行索引机制已经在Linux的多核平台上采用C语言实现了,使用了Eclipse编程工具。第五章从不同角度对批量插入算法进行了性能测试并对测试结果进行了分析,进一步说明多核并行索引机制的高效性。