The Impact of Space-Filling Curves on Data Movement in Parallel Systems
David Walker, Anthony Skjellum

TL;DR
This paper investigates how space-filling curves like Hilbert and Morton can enhance data locality and movement efficiency in parallel scientific applications, especially stencil-based computations, on modern hierarchical memory systems.
Contribution
It provides empirical analysis of space-filling curves' impact on data movement and locality in parallel systems, focusing on stencil applications and hardware interactions.
Findings
Space-filling curves improve data locality for certain application parameters.
Performance benefits depend on hardware characteristics and application specifics.
Space-filling curves influence data sharing patterns in stencil computations.
Abstract
Modern computer systems are characterized by deep memory hierarchies, composed of main memory, multiple layers of cache, and other specialized types of memory. In parallel and distributed systems, additional memory layers are added to this hierarchy. Achieving good performance for computational science applications, in terms of execution time, depends on the efficient use of this diverse and hierarchical memory. This paper revisits the use of space-filling curves to specify the ordering in memory of data structures used in representative scientific applications executing on parallel machines containing clusters of multicore CPUs with attached GPUs. This work examines the hypothesis that space-filling curves, such as Hilbert and Morton ordering, can improve data locality and hence result in more efficient data movement than row or column-based orderings. First, performance results are…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Parallel Computing and Optimization Techniques · Cloud Computing and Resource Management
