摘要
针对移动对象的多用户连续K近邻查询处理问题,结合多核多线程技术的发展,提出了一种基于多线程的两阶段多用户连续K近邻查询处理框架.将查询处理分为查询预处理阶段和查询执行阶段,分别执行数据更新任务和查询处理任务.每个阶段都设计了优化cache访问命中率,并利用多线程技术提高多用户连续查询处理并行性的方法及数据结构.提出了一种查询执行阶段的查询分组技术,利用查询之间的相关性提高了算法执行时内存访问的时间局部性.基于查询处理框架和移动对象内存格网索引结构提出了K近邻查询处理算法.充分的实验结果表明,采用了多线程和cache优化技术的连续查询处理框架与其他算法相比,在性能上具有较大优势,并且在不同核心数目的CPU平台下具有较好的性能扩展性.
To solve the problem of multiple continuous K nearest neighbor (KNN) queries over moving objects, considering the development of multi-core and multi-threading technologies, a two-stage framework is proposed for Multi-Threading Processing of Multiple Continuous KNN Queries (MPMCQ). This includes a preprocessing stage and a query execution stage to carry out the data updating task and the query execution task separately. In each of the stages, techniques are designed to optimize the cache access hit ratio and improve the parallelism through multi-threading. A query grouping technique in the query execution stage is proposed to improve the data temporal loeality when accessing the memory. Thus, the cache hit ratio can be guaranteed. A KNN query algorithm is given based on the MPMCQ framework and the grid index for moving objects. Extensive experiments are carded out to verify that by adopting the multi-threading and the cache optimization technologies, the proposed framework implements a much superior performance than other famous algorithms; moreover, it maintains excellent performance scalability when executed under different multi-core CPUs.
出处
《软件学报》
EI
CSCD
北大核心
2011年第8期1805-1815,共11页
Journal of Software
基金
国家自然科学基金(40801160
60902036)
国家高技术研究发展计划(863)(2008AA12A211)
中国博士后科学基金(20080431384)
关键词
移动对象
连续K近邻查询
多核多线程
CACHE优化
查询分组
moving object
continuous KNN query
multi-core and multi-threading
cache optimization
query grouping