|
ABSTRACT
Because they are continuous and self-similar, space-filling curves have been widely used in mathematics to transform multi-dimensional problems into one-dimensional forms. For scientific applications, reordering computation by certain space-filling curves can significantly improve data reuse because of the locality properties of these curves. However, when space-filling curves are used in programs for reordering data, traversal or indexing of the curves must be efficient. To address this problem, we present the table-driven framework SFCGen to efficiently generate multi-dimensional space-filling curves on the fly. The framework is general and easy enough to be used in any application that can be partitioned recursively in multiple dimensions. We describe a movement specification table, a universal turtle algorithm to enumerate points along a space-filling curve, a table-based indexing algorithm to transform coordinates of a point into its position along the curve and an algorithm to pregenerate the table automatically. As examples, we show how high-dimensional Hilbert, Morton, and Peano curves and a two-dimensional Sierpiński curve can be generated with our algorithms. We present performance results for Hilbert, Morton, and Peano curves and compare the efficiency of our curve generation algorithm with the most recent work on generating Hilbert curves. Our experimental results on three modern microprocessor-based platforms show that SFCGen performs up to 63&percent; faster than the most recent recursive algorithm on 2D curve generation and up to a factor of 132 faster than two previous byte-oriented non-recursive implementations. On curve indexing, SFCGen performs as much as a factor of three faster than the byte-oriented implementation. Our results on 4D space-filling curves also show that SFCGen scales very well with curve level for higher dimensional spaces.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Abel, D. J. and Mark, D. M. 1990. A comparative analysis of some two-dimensional orderings. Int. J. Geog. Info. Syst. 4, 1, 21--31.
|
 |
2
|
|
| |
3
|
|
| |
4
|
|
| |
5
|
Bially, T. 1969. Space-filling curves: Their generation and their application to bandwidth reduction. IEEE Trans. Info. Theory IT-15, 6 (Nov.), 658--664.
|
 |
6
|
|
 |
7
|
|
| |
8
|
S. Browne , J. Dongarra , N. Garner , K. London , P. Mucci, A scalable cross-platform infrastructure for application performance tuning using hardware counters, Proceedings of the 2000 ACM/IEEE conference on Supercomputing (CDROM), p.42-es, November 04-10, 2000, Dallas, Texas, United States
|
| |
9
|
Butz, A. R. 1968. Space filling curves and mathematical programming. Information and Control 12, 314--330.
|
| |
10
|
Butz, A. R. 1969. Convergence with Hilbert's space filling curve. J. Comput. Syst. Sci. 3, 2, 128--146.
|
| |
11
|
Butz, A. R. 1971. Alternative algorithm for Hilbert's space-filling curve. IEEE Trans. Comput. C-20, 4 (Apr.), 424--426.
|
 |
12
|
Siddhartha Chatterjee , Alvin R. Lebeck , Praveen K. Patnala , Mithuna Thottethodi, Recursive array layouts and fast parallel matrix multiplication, Proceedings of the eleventh annual ACM symposium on Parallel algorithms and architectures, p.222-231, June 27-30, 1999, Saint Malo, France
[doi> 10.1145/305619.305645]
|
| |
13
|
Cole, A. J. 1981. A note on space filling curves. Software--Practice and Experience 13, 12 (Dec.), 1181--1189.
|
| |
14
|
Drakopoulos, V., Tziovaras, A., Böhm, A., and Dalla, L. 1999. Fractal interpolation techniques for the generation of space-filling curves. In Hellenic European Research on Computer Mathematics and Its Applications, E. A. Lipitakis, Ed. LEA, 843--850.
|
 |
15
|
|
| |
16
|
Goldschlager, L. M. 1981. Short algorithms for space-filling curves. Software--Practice and Experience 11, 1 (Jan.), 99--100.
|
| |
17
|
Hilbert, D. 1891. Über die stetige abbildung einer linie auf ein flachenstück. Math. Ann. 38, 459--460.
|
| |
18
|
Y. Charlie Hu , Alan Cox , Willy Zwaenepoel, Improving fine-grained irregular shared-memory benchmarks by data reordering, Proceedings of the 2000 ACM/IEEE conference on Supercomputing (CDROM), p.33-es, November 04-10, 2000, Dallas, Texas, United States
|
 |
19
|
|
 |
20
|
|
| |
21
|
|
 |
22
|
S. Kuo , M. Winslett , Y. Cho , J. Lee , Y. Chen, Efficient input and output for scientific simulations, Proceedings of the sixth workshop on I/O in parallel and distributed systems, p.33-44, May 05-05, 1999, Atlanta, Georgia, United States
[doi> 10.1145/301816.301828]
|
| |
23
|
Lamarque, C. H. and Robert, F. 1996. Image analysis using space-filling curves and 1D wavelet bases. Pattern Recognition 29, 8, 1309--1322.
|
 |
24
|
|
| |
25
|
Lindenmayer, A. 1968. Mathematical models for cellular interaction in development, parts I and II. J. Theore. Biol. 18, 280--315.
|
| |
26
|
|
 |
27
|
|
| |
28
|
Moghaddam, B., Hintz, K. J., and Stewart, C. V. 1991. Space-filling curves for image compression. In Proceedings of the SPIE. 414--421.
|
 |
29
|
|
| |
30
|
|
| |
31
|
Moore, D. 2000. http://www.caam.rice.edu/~dougm/twiddle/Hilbert.
|
| |
32
|
Morton, G. M. 1966. A computer oriented geodetic data base and a new technique in file sequencing. Technique Report, IBM, Canada.
|
| |
33
|
Musgrave, K. 1991. A Peano curve generation algorithm. In Graphics Gems II, J. Arvo, Ed. Academic Press, San Diego, CA, 25.
|
| |
34
|
Ohno, Y. and Ohyama, K. 1991. A catalog of symmetric self-similar space-filling curves. J. Recreational Math. 23, 161--173.
|
| |
35
|
Peano, G. 1890. Sur une courbe qui remplit toute une aire plane. Mathematishe Annalen 36, 157--160.
|
 |
36
|
|
| |
37
|
Prusinkiewicz, P., Lindenmayer, A., and Fracchia, F. D. 1991. Synthesis of space-filling curves on the square grid. In Fractals in the Fundamental and Applied Sciences, H. O. Peitgen, J. M. Henriques, and L. F. Penedo, Eds. Elsevier Science Publisher BV, Amsterdam, The Netherlands, 341--366.
|
| |
38
|
Sagan, H. 1992. On the geometrization of the Peano curve and the arithmetization of the Hilbert curve. Int. J. Math. Educ. Sci. Tech. 23, 403--411.
|
| |
39
|
Sagan, H. 1993. A three-dimensional Hilbert curve. Int. J. Math. Educ. Sci. Tech. 24, 541--545.
|
| |
40
|
Sagan, H. 1994. Space-Filling Curves. Springer-Verlag, New York, NY.
|
| |
41
|
Sierpiński, W. 1912. Sur une nouvelle courbe countinue qui remplit toute une aire plane. Bull. Acad. Sci. de Cracovie (Sci. math. et nat., Série A), 462--478.
|
| |
42
|
Stevens, R. J., Lehar, A. F., and Preston, F. H. 1983. Manipulation and presentation of multidimensional image data using the Peano scan. IEEE Trans. Pattern Anal. Mach. Intell. 5, 520--526.
|
 |
43
|
|
| |
44
|
Witten, I. H. and Wyvill, B. 1983. On the generation and use of space-filling curves. Software--Practice and Experience 13, 519--525.
|
 |
45
|
|
|