[Paper Review] Space-filling Curves for High-performance Data Mining
This paper presents optimized Hilbert-curve algorithms—FUR-Hilbert-Loop and FGF-Hilbert-Loop—that enable cache-oblivious data access for high-performance data mining by overcoming the traditional limitations of logarithmic computation cost and power-of-two grid restrictions. The methods achieve linear-time generation of space-filling curve traversals and significantly reduce cache misses in algorithms like matrix multiplication, k-Means clustering, and similarity joins.
Space-filling curves like the Hilbert-curve, Peano-curve and Z-order map natural or real numbers from a two or higher dimensional space to a one dimensional space preserving locality. They have numerous applications like search structures, computer graphics, numerical simulation, cryptographics and can be used to make various algorithms cache-oblivious. In this paper, we describe some details of the Hilbert-curve. We define the Hilbert-curve in terms of a finite automaton of Mealy-type which determines from the two-dimensional coordinate space the Hilbert order value and vice versa in a logarithmic number of steps. And we define a context-free grammar to generate the whole curve in a time which is linear in the number of generated coordinate/order value pairs, i.e. a constant time per coordinate pair or order value. We also review two different strategies which enable the generation of curves without the usual restriction to square-like grids where the side-length is a power of two. Finally, we elaborate on a few applications, namely matrix multiplication, Cholesky decomposition, the Floyd-Warshall algorithm, k-Means clustering, and the similarity join.
Motivation & Objective
- To overcome the high computational cost of converting between Hilbert curve order values and coordinates, which traditionally requires logarithmic time.
- To eliminate the restriction that grid dimensions must be powers of two, enabling application on arbitrary-sized data grids.
- To design efficient, cache-oblivious algorithms for fundamental data mining operations by leveraging space-filling curve traversal order.
- To improve performance in memory-bound algorithms by minimizing cache misses through locality-preserving traversal patterns.
- To enable efficient parallelization and vectorization (SIMD/MIMD) of data mining workloads using curve-based access ordering.
Proposed method
- Define the Hilbert curve using a Mealy-type finite automaton to compute coordinate-to-order and order-to-coordinate mappings in logarithmic time.
- Introduce a context-free grammar to generate the entire Hilbert curve in linear time, enabling constant-time generation per coordinate pair.
- Propose the FUR-Hilbert-Loop (overlay grid method) to handle non-power-of-two grids by tiling with 4×4 subgrids and dynamically computing curve segments.
- Develop the FGF-Hilbert-Loop (jump-over method) that skips invalid or irrelevant grid cells using precomputed nano-programs stored in 64-bit variables.
- Use nano-programs—compressed, precomputed curve segments for 4×4 grids in all orientations—to accelerate traversal and reduce runtime overhead.
- Integrate curve-based traversal into high-performance algorithms such as matrix multiplication, Cholesky decomposition, Floyd-Warshall, k-Means, and similarity join, enabling cache-oblivious execution.
Experimental results
Research questions
- RQ1How can the Hilbert curve be computed efficiently in both directions (coordinate to order and order to coordinate) without logarithmic time complexity?
- RQ2What techniques can eliminate the constraint that grid dimensions must be powers of two in space-filling curve applications?
- RQ3Can space-filling curves be used to make data mining algorithms cache-oblivious, improving performance across varying cache sizes?
- RQ4How can nano-programs and fast traversal mechanisms reduce runtime overhead in curve-based data access patterns?
- RQ5To what extent do Hilbert-curve-based traversals improve performance in real-world data mining workloads like similarity joins and matrix operations?
Key findings
- The FUR-Hilbert-Loop enables efficient traversal of arbitrary-sized grids by tiling with 4×4 subgrids and using overlay-based curve computation, removing the power-of-two constraint.
- The FGF-Hilbert-Loop with jump-over operations maintains a 1:1 mapping between order values and coordinate pairs while enabling fast, cache-efficient traversal of sparse or indexed data.
- Nano-programs stored in 64-bit variables accelerate curve traversal by replacing iterative operations with direct lookup, reducing runtime overhead.
- The use of Hilbert-curve-based traversal reduced cache misses significantly—especially for realistic cache sizes (5–20% of main memory)—compared to standard nested-loop access patterns.
- In similarity join and matrix multiplication, Hilbert-based access patterns achieved substantial performance improvements by improving data locality and reducing memory bandwidth pressure.
- The integration of SIMD and MIMD parallelism with Hilbert traversal further accelerated performance in k-Means clustering and GPU-based 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.