论文部分内容阅读
随着互联网飞速的发展,网络信息量不断增加,为提高实时检索的效率,需要一种快速的索引方法。就搜索引擎而言,对大规模文本构建索引涉及较大的数据量和计算量,会消耗大量计算资源,如何实现海量文本数据高性能索引,是搜索应用中不可或缺的议题。为提高索引构建的性能,采用了GPU协作计算的模式,利用GPU高效并行计算能力来解决密集计算的问题。为充分利用CPU和GPU的计算优势,分析了索引构建的机制,提出了一种加速索引构建的CPU、GPU的任务协作模型,分解文本索引各个过程,将文本解析、词条索引等可并行化任务交给GPU完成,而读写文件、索引合并等任务则由CPU串行完成。为提高多线程并行计算的效率,根据GPU内存结构特点,设计了基于哈希表的并行索引结构,对每个词条增加了线程独立的频率统计区,在构建索引时,索引词条按不同的索引结构进行分类管理,以减少内存开销。根据词条类型的不同,设计了基于哈希表的立即索引的并行算法,和基于合并的并行索引算法,包括并行词频统计和索引转换的方案。最后,针对GPU并行计算的特点,在并行粒度和指令级进行了优化,进一步提高了索引构建的效率。实验表明,设计的并行索引构建方案适合GPU计算,相应的优化策略也取得了较好的效果,综合比较,GPU并行索引的效率是CPU的五倍。因此,GPU能够提高文本索引构建的效率。