Cover Image for System.Linq.Enumerable+EnumerablePartition`1[System.Char]

A New Fast Intersection Algorithm for Sorted Lists on GPU

OAI: oai:igi-global.com:298325 DOI: 10.4018/JITR.298325
Published by: IGI Global

Abstract

Set intersection algorithms between sorted lists are important in triangles counting, community detection in graph analysis and in search engines where the intersection is computed between queries and inverted indexes. Many researches use GPU techniques for solving this intersection problem. The majority of these techniques focus on improving the level of parallelism by reducing redundant comparisons and distributing the workload among GPU threads. In this paper, we propose the GPU Test with Jumps (GTWJ) algorithm to compute the intersection between sorted lists using a new data structure. The idea of GTWJ is to group the data, of each sorted list, into a set of sequences. A sequence is identified by a key and is handled by a thread. Intersection is computed between sequences with the same key. This key allows skipping data packets in parallel if the keys do not match. A counter is used to avoid useless tests between cells of sequences with different lengths. Experiments on the data used in this filed show that GTWJ is better in terms of execution time and number of tests.