Skip to main content
QUICK REVIEW

[Paper Review] A New Data Layout For Set Intersection on GPUs

Rasmus Resen Amossen, Rasmus Pagh|arXiv (Cornell University)|Feb 4, 2011
Data Mining Algorithms and Applications26 references4 citations
TL;DR

This paper introduces BatMap, a novel GPU-optimized data layout for efficient set intersection that enables high-speed frequent pair mining in sparse datasets. By organizing sets in a compact, parallel-friendly format using a generalized cuckoo hashing scheme, BatMap achieves up to 5x speedup over CPU implementations and outperforms traditional bitmap and merging-based methods, especially for large-scale, dense data with many frequent items.

ABSTRACT

Set intersection is the core in a variety of problems, e.g. frequent itemset mining and sparse boolean matrix multiplication. It is well-known that large speed gains can, for some computational problems, be obtained by using a graphics processing unit (GPU) as a massively parallel computing device. However, GPUs require highly regular control flow and memory access patterns, and for this reason previous GPU methods for intersecting sets have used a simple bitmap representation. This representation requires excessive space on sparse data sets. In this paper we present a novel data layout, "BatMap", that is particularly well suited for parallel processing, and is compact even for sparse data. Frequent itemset mining is one of the most important applications of set intersection. As a case-study on the potential of BatMaps we focus on frequent pair mining, which is a core special case of frequent itemset mining. The main finding is that our method is able to achieve speedups over both Apriori and FP-growth when the number of distinct items is large, and the density of the problem instance is above 1%. Previous implementations of frequent itemset mining on GPU have not been able to show speedups over the best single-threaded implementations.

Motivation & Objective

  • To address the performance bottleneck in set intersection operations on GPUs, especially for sparse datasets where traditional bitmap representations are memory-inefficient.
  • To design a data layout that enables highly regular memory access and control flow, essential for maximizing GPU parallelism.
  • To enable scalable frequent itemset mining—particularly frequent pair mining—on GPUs, overcoming limitations of prior GPU-based approaches that failed to outperform single-threaded CPU implementations.
  • To demonstrate that GPU acceleration can be effective even for complex, data-intensive workloads like sparse boolean matrix multiplication and association rule mining.

Proposed method

  • Proposes BatMap, a new data layout that uses a generalized cuckoo hashing scheme to store sets in a compact, cache-friendly format optimized for GPU memory hierarchy.
  • Divides the intersection computation into 16×16 tiles, enabling efficient use of shared memory and minimizing global memory access latency.
  • Employs a bit-level parallelism strategy where each thread block processes a tile of the intersection matrix, using warp-level primitives to count set bits efficiently.
  • Uses a hybrid approach: for small sets, BatMap stores elements directly in a compact format; for larger sets, it uses a sparse representation with multiple hash tables to reduce collisions and improve load balancing.
  • Applies a counting technique based on popcount instructions to compute intersection sizes in parallel, minimizing divergent branching and maximizing throughput.
  • Optimizes memory access by coalescing global memory transactions and minimizing redundant data movement between global and shared memory.

Experimental results

Research questions

  • RQ1Can a new data layout be designed to enable efficient, scalable set intersection on GPUs while maintaining compact memory usage for sparse datasets?
  • RQ2To what extent can GPU parallelism be leveraged to outperform single-threaded CPU implementations in frequent pair mining, especially when the number of distinct items is large?
  • RQ3How does the performance of BatMap compare to traditional bitmap and sorted-list merging approaches on GPU and CPU architectures?
  • RQ4Can the proposed data layout be extended to support intersections of more than two sets, and what are the memory and performance trade-offs?

Key findings

  • BatMap achieves a processing speed of 36.2 GB/s on GPU, which is nearly 5 times faster than the CPU’s maximum throughput of 7.6 GB/s, even when CPU overheads are excluded.
  • The GPU implementation of BatMap processes 3.68×10⁹ set elements per second, significantly outperforming a single-core CPU implementation that handles only 2.25×10⁸ elements per second—over 13 times slower.
  • With 8 CPU cores, the processing rate reaches 1.71×10⁹ elements per second, still only 29–57% of the GPU’s throughput, demonstrating a substantial performance gap.
  • The method enables frequent pair mining to scale to datasets with tens of thousands of items and densities above 1%, where previous GPU methods failed to outperform single-threaded CPU code.
  • BatMap’s compact representation reduces memory usage compared to bitmaps, especially when rounding effects are favorable, potentially allowing up to 63% more elements per unit memory.
  • The authors conclude that their approach is far from saturating GPU memory bandwidth, indicating room for further optimization and broader applicability to large-scale data mining workloads.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.