mapping with space filling surfaces

12
Mapping with Space Filling Surfaces Masood Ahmed, Member, IEEE, and Shahid Bokhari, Fellow, IEEE Abstract—The use of space filling curves for proximity-improving mappings is well known and has found many useful applications in parallel computing. Such curves permit a linear array to be mapped onto a 2D (respectively, 3D) structure such that points that are distance d apart in the linear array are distance d 1 2 Þ ðOðd 1 3 ÞÞ apart in the 2D (3D) array and vice versa. We extend the concept of space filling curves to space filling surfaces and show how these surfaces lead to mappings from 2D to 3D so that points at distance d 1 2 on the 2D surface are mapped to points at distance d 1 3 Þ in the 3D volume. Three classes of surfaces, associated respectively with the Peano curve, Sierpi nski carpet, and the Hilbert curve, are presented. A methodology for using these surfaces to map from 2D to 3D is developed. These results permit efficient execution of 2D computations on processors interconnected in a 3D grid. The space filling surfaces proposed by us are the first such fractal objects to be formally defined and are thus also of intrinsic interest in the context of fractal geometry. Index Terms—Fractals, Hilbert curve, proximity-improving mapping, parallel computing, Peano curve, Sierpi nski carpet, space filling curves, space filling surfaces. Ç 1 INTRODUCTION T HE notion of space filling curves has origins in the development (in 1883) of the concept of the Cantor set [1]. Explicit descriptions of such curves were provided by Peano in 1890 [2] and Hilbert in 1891 [3]. Also of interest to the present discussion is the work of Sierpi nski (1916) [4]. Space filling curves are fractal objects (i.e., objects with infinite self- similarity). The literature on the topic is vast and includes the seminal works of Mandelbrot [5], Schroeder [6], and others. We are specifically interested in the use of space filling curves (SFCs) for proximity-improving mappings from linear arrays to higher dimensional meshes. Such mappings have found extensive applications in various fields, such as databases, image processing, and parallel computing, as discussed in Section 2. SFCs permit a linear array to be mapped onto a 2D or 3D mesh in such a way that points that are close together in the linear array become closer in the 2 or 3D mesh. To be more precise, points that are distance d apart in the linear array are mapped so that they are ffiffi d 2 p Þ or ffiffi d 3 p Þ apart on the 2D or 3D mesh, respectively. This property has obvious perfor- mance benefits for parallel computing since we obtain a proximity improvement of d 1 2 Þ or d 1 3 Þ, respectively. The converse operation is also of considerable interest in many applications: Points close together in a 2 or 3D mesh remain close when mapped onto a 1D array. The goal of the research presented in this paper is to extend the concept of space filling curves (SFCs) to space filling surfaces (SFSs). Just as SFCs are convoluted lines that fill 2 or higher dimensional space, SFSs are carefully convoluted 2D surfaces that fill three or higher dimensional spaces. We have been successful in devising three surfaces that fill (or nearly fill) 3D space and can be used to map 2D rectangles (which could represent, for example, a computation on a planar domain) into a 3D array (which represents a parallel computer interconnected as a 3D grid—a currently popular interconnect scheme). Two of our suggested surfaces may be considered higher dimensional versions of the well-known Peano and Hilbert curves, respectively. The third is associated with the Sierpi nski carpet. These surfaces permit mappings in which points d 1 2 Þ apart in the 2D domain are mapped so that they are nearly d 1 3 Þ apart in the 3D domain, leading to proximity improvements of up to d 2 3 Þ. Distance effects in parallel computers, some of which are now 100 meters across, are inevitable and influence the overhead of interprocessor communications. These effects can be mitigated for a given number of processors by using buses or switched interconnects; however, that is not possible in an asymptotic sense, since increasing the number of processors requires more powerful buses, etc. Our approach permits the “folding” of a 2D domain into a 3D array and is independent of the number of processors in the array, which can be increased indefinitely, without redesigning the interconnect. Alternatively, our approach permits the same performance to be obtained from an array with simpler and cheaper interconnects as would be delivered by an array with more complex and expensive interconnects. We start with a brief review of research on the applications of space filling curves in Section 2. In Section 3 of this paper, we discuss the basic definitions related to parallel computing and the issues of mapping computation graphs onto inter- connection graphs. Section 4 introduces concepts relevant to fractals, including the important definition of fractal dimen- sion. This section also introduces some well known fractal curves that are area-filling and volume-filling, and describes how these curves can be used to obtain proximity-improving mappings. Section 5 presents the main results of this paper, namely, three space filling surfaces derived from the fractal objects associated with Peano, Sierpi nski, and Hilbert, respectively. In Section 6, we describe how these SFSs can 1258 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 18, NO. 9, SEPTEMBER 2007 . M. Ahmed was with the Department of Electrical Engineering, University of Engineering and Technology, Lahore, Pakistan. He is deceased. . S. Bokhari is with the Department of Biomedical Informatics, Ohio State University, 3190 Graves Hall, 333 W. 10th Ave., Columbus, OH 43210. E-mail: [email protected]. Manuscript received 19 Dec. 2005; revised 14 June 2006; accepted 20 Sept. 2006; published online 9 Jan. 2007. Recommended for acceptance by D. Bader. For information on obtaining reprints of this article, please send e-mail to: [email protected], and reference IEEECS Log Number TPDS-0510-1205. Digital Object Identifier no. 10.1109/TPDS.2007.1049. 1536-1233/07/$25.00 ß 2007 IEEE Published by the IEEE Computer Society

Upload: shahid

Post on 14-Dec-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mapping with Space Filling Surfaces

Mapping with Space Filling SurfacesMasood Ahmed, Member, IEEE, and Shahid Bokhari, Fellow, IEEE

Abstract—The use of space filling curves for proximity-improving mappings is well known and has found many useful applications in

parallel computing. Such curves permit a linear array to be mapped onto a 2D (respectively, 3D) structure such that points that are

distance d apart in the linear array are distanceOðd12Þ ðOðd1

3ÞÞ apart in the 2D (3D) array and vice versa. We extend the concept of space

filling curves to space filling surfaces and show how these surfaces lead to mappings from 2D to 3D so that points at distance d12 on the 2D

surface are mapped to points at distanceOðd13Þ in the 3D volume. Three classes of surfaces, associated respectively with the Peano curve,

Sierpi�nski carpet, and the Hilbert curve, are presented. A methodology for using these surfaces to map from 2D to 3D is developed. These

results permit efficient execution of 2D computations on processors interconnected in a 3D grid. The space filling surfaces proposed by us

are the first such fractal objects to be formally defined and are thus also of intrinsic interest in the context of fractal geometry.

Index Terms—Fractals, Hilbert curve, proximity-improving mapping, parallel computing, Peano curve, Sierpi�nski carpet, space filling

curves, space filling surfaces.

Ç

1 INTRODUCTION

THE notion of space filling curves has origins in the

development (in 1883) of the concept of the Cantor set

[1]. Explicit descriptions of such curves were provided by

Peano in 1890 [2] and Hilbert in 1891 [3]. Also of interest to the

present discussion is the work of Sierpi�nski (1916) [4]. Space

filling curves are fractal objects (i.e., objects with infinite self-similarity). The literature on the topic is vast and includes the

seminal works of Mandelbrot [5], Schroeder [6], and others.

We are specifically interested in the use of space filling curves

(SFCs) for proximity-improving mappings from linear arrays

to higher dimensional meshes. Such mappings have found

extensive applications in various fields, such as databases,

image processing, and parallel computing, as discussed in

Section 2. SFCs permit a linear array to be mapped onto a 2D or3D mesh in such a way that points that are close together in the

linear array become closer in the 2 or 3D mesh. To be more

precise, points that are distance d apart in the linear array are

mapped so that they are Oðffiffiffid2pÞ or Oð

ffiffiffid3pÞ apart on the 2D or

3D mesh, respectively. This property has obvious perfor-

mance benefits for parallel computing since we obtain a

proximity improvement of Oðd12Þ or Oðd1

3Þ, respectively. The

converse operation is also of considerable interest in manyapplications: Points close together in a 2 or 3D mesh remain

close when mapped onto a 1D array.The goal of the research presented in this paper is to

extend the concept of space filling curves (SFCs) to space

filling surfaces (SFSs). Just as SFCs are convoluted lines that

fill 2 or higher dimensional space, SFSs are carefully

convoluted 2D surfaces that fill three or higher dimensionalspaces. We have been successful in devising three surfacesthat fill (or nearly fill) 3D space and can be used to map2D rectangles (which could represent, for example, acomputation on a planar domain) into a 3D array (whichrepresents a parallel computer interconnected as a3D grid—a currently popular interconnect scheme). Twoof our suggested surfaces may be considered higherdimensional versions of the well-known Peano and Hilbertcurves, respectively. The third is associated with theSierpi�nski carpet. These surfaces permit mappings in whichpoints Oðd1

2Þ apart in the 2D domain are mapped so thatthey are nearly Oðd1

3Þ apart in the 3D domain, leading toproximity improvements of up to Oðd2

3Þ.Distance effects in parallel computers, some of which are

now � 100 meters across, are inevitable and influence theoverhead of interprocessor communications. These effectscan be mitigated for a given number of processors by usingbuses or switched interconnects; however, that is notpossible in an asymptotic sense, since increasing thenumber of processors requires more powerful buses, etc.Our approach permits the “folding” of a 2D domain into a3D array and is independent of the number of processors inthe array, which can be increased indefinitely, withoutredesigning the interconnect. Alternatively, our approachpermits the same performance to be obtained from an arraywith simpler and cheaper interconnects as would bedelivered by an array with more complex and expensiveinterconnects.

We start with a brief review of research on the applicationsof space filling curves in Section 2. In Section 3 of this paper,we discuss the basic definitions related to parallel computingand the issues of mapping computation graphs onto inter-connection graphs. Section 4 introduces concepts relevant tofractals, including the important definition of fractal dimen-sion. This section also introduces some well known fractalcurves that are area-filling and volume-filling, and describeshow these curves can be used to obtain proximity-improvingmappings. Section 5 presents the main results of this paper,namely, three space filling surfaces derived from the fractalobjects associated with Peano, Sierpi�nski, and Hilbert,respectively. In Section 6, we describe how these SFSs can

1258 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 18, NO. 9, SEPTEMBER 2007

. M. Ahmed was with the Department of Electrical Engineering, Universityof Engineering and Technology, Lahore, Pakistan. He is deceased.

. S. Bokhari is with the Department of Biomedical Informatics, Ohio StateUniversity, 3190 Graves Hall, 333 W. 10th Ave., Columbus, OH 43210.E-mail: [email protected].

Manuscript received 19 Dec. 2005; revised 14 June 2006; accepted 20 Sept.2006; published online 9 Jan. 2007.Recommended for acceptance by D. Bader.For information on obtaining reprints of this article, please send e-mail to:[email protected], and reference IEEECS Log Number TPDS-0510-1205.Digital Object Identifier no. 10.1109/TPDS.2007.1049.

1536-1233/07/$25.00 � 2007 IEEE Published by the IEEE Computer Society

Page 2: Mapping with Space Filling Surfaces

be used to embed 2D surfaces into 3D space and we discussthe properties of these embeddings. Section 7 discusses howthe SFSs can, in turn, be embedded into 3D arrays, thusproviding proximity-improving mappings of 2D surfacesinto 3D arrays. We present our conclusions and sugges-tions for further research in Section 8.

2 RELATED RESEARCH

Bokhari et al. [7] apply 2D and 3D Hilbert curves to binarydissection of nonuniform domains while taking into accountshape, area, perimeter, or aspect ratio of regions. Ou et al. [8]propose a partitioning based on SFCs that is scalable,proximity-improving and communication minimizing.

In Pilkington and Baden [9], partitioning schemes forcomputations running on MIMD parallel computers based onn-D SFCs are proposed. Aluru and Sevilgen [10] discuss loadbalancing using SFCs. They show how nonuniform anddynamically varying data grids can be mapped onto SFCs,which can then be partitioned over processors. Chatterjeeet al. [11] show the applications of Hilbert curves to matrixmultiplication. Recent research by Zhu and Hu [12] alsodescribes the use of Hilbert curves for load balancing.

Lawder [13], Bartholdi and Goldsman [14], and Mokbelet al. [15] explore IRn ! IR1 bijections using various SFCs.Niedermeier et al. [16] analyze index schemes based onHamiltonian cycles and compare these with Hilbert index-ing in 2D and 3D.

In [17], Jagadish presents an analysis of the Hilbert curvefor representing two dimensional space. Moon et al. [18]analyze the clustering properties of the Hilbert curve andcompare the performance of Hilbert curves with Z-curves.This paper also includes a good historical survey. Kurc et al.[19] describe the use of Hilbert curves for declustering dataacross disks.

Mapping from 2D discrete space IN2 to a 1D array basedon the Lebesgue curve is suggested and is applied to imageprocessing by Alhosni and Berkovich [20]. Other applica-tions of SFCs to image processing are discussed byQuweider and Salari [21] and Patil et al. [22].

The publications of Aftosmis et al. [23], [24] addressmultiresolution adaptive mesh generation using SFCs forengineering computations on massively parallel compu-ters. An algorithm for partitioning for solution of systemsof PDE for atmospheric model based on Hilbert, Peano,and m-Peano SFC is presented by Dennis [25].

Algorithms for generation of n-D SFC including Hilbert,Peano, Sierpi�nski, and Morton curves are presented by Jinand Mellor-Crummey [26]. A nearest neighbor findingalgorithm for IRn space based on SFCs is proposed bySkubalska-Rafajlowicz and Kryzak [27]. Nearest neighborfinding and proximity preserving in data structures isdiscussed in Chen and Chang [28].

Most applications of space filling curves to date haveinvolved mapping from higher dimensions to one dimension,while preserving proximity. In the present paper, we defineand use space filling surfaces to map from lower dimensionsto higher dimensions while improving proximity.

3 THE MAPPING PROBLEM

Various interconnection schemes for parallel computershave been explored (both theoretically and practically) over

the past 30 years. It is usual to describe a scheme in terms ofthe properties of its interconnection graph. Thus, thediameter of an interconnect is the maximum distancebetween any pair of nodes and determines the maximumcommunication latency. The bisection bandwidth is thenumber of links that extend between two halves of thesystem and is a rough measure of the data rearrangementcapability of an interconnect. The cost of an interconnect isproportional to the number of links. The ideal interconnectis a completely connected graph, where every node has adirect link to every other node. This is impractical for anyreasonable number of nodes, n, since Oðn2Þ links areneeded. The simplest interconnect is the linear array, butthis has a large diameter, which leads to long latencies andvery limited capabilities for data movement because of poorbisection width. The complete binary tree reduces thediameter significantly but still suffers from poor bisectionwidth. The hypercube was an interconnect of much interestfor some time because of its low diameter, high bisectionwidth, and moderate cost. It has fallen into disfavor asconstruction of large, scalable systems is difficult due to itslogarithmically increasing node degree. Two-dimensionaland three-dimensional meshes provide attractive compro-mises as they have acceptable diameter and bisection widthalong with tolerable cost. Most large parallel computerstoday have a 3D mesh interconnect.

3.1 Proximity-Improving Mappings

Executing a computation on a parallel computer involvesmapping the graph representing the computation onto thegraph representing the interconnect. Doing so for arbitrarygraphs in an optimal fashion involves solving the mapping

problem [29] which has so far eluded an efficient solution.In the present paper, we will address the proximity-

improving mapping problem for restricted classes of graphs.This is a variant of the mapping problem and may formallybe defined as follows:

Given two graphs G1 ¼ ðV1; E1Þ and G2 ¼ ðV2; E2Þ withjV1j � jV2j, a proximity-improving mapping �ð�Þ ofgraph G1 into graph G2 maps the vertices of V1 into thevertices of V2 such that, for all vi, vj 2 V1, if the distancebetween vi, vj is d, then the distance between �ðviÞ, �ðvjÞ 2V2 is fðdÞ < d.

The function fð�Þ characterizes the interconnection net-work G2 and would be logð�Þ for the case of hypercubes,

ffiffi�2p

for 2D meshes, orffiffi�3p

for 3D meshes. A proximity-improvingmapping thus brings the full power of an interconnectionnetwork to bear on all pairs of possible communications in acomputation graph. We will show, in Section 7, how ourspace filling surfaces allow 2D domains to be embedded in3D meshes so that the distance between any two facets ofthe domain is reduced from Oðn1

2Þ to Oðn13Þ.

A related concept of interest to us is dilation:

If, in the graphs defined above, the nodes vi, vj 2 V1 areadjacent and �ðviÞ, �ðvjÞ 2 V2 have distance � > 1 betweenthem, then the edge joining vi, vj 2 V1 is dilated by anamount �. The dilation of a mapping �ð�Þ is the maximumdilation of any edge in that mapping.

The concept of dilation is important because, whenembedding 2D domains in 3D meshes, the distance betweensome pairs of domain facets may need to be increased in

AHMED AND BOKHARI: MAPPING WITH SPACE FILLING SURFACES 1259

Page 3: Mapping with Space Filling Surfaces

order to allow the maximum dilation to decrease. Thissituation arises in Section 7.

The following concept is also of relevance to ourinvestigation, as we will often be mapping graphs intolarger graphs.

The efficiency of a mapping from G1 into G2 is � ¼ jV1 jjV2 j and

is a measure of how much of G2 is being utilized.

It is often very easy to improve (i.e., reduce) thedilation � of a mapping by reducing its efficiency �. Forexample, it is trivial to embed an n� n 2D mesh into ann� n� n 3D mesh with � ¼ 1 (i.e., no dilation), by onlyusing one of the 2D planes of the 3D mesh. This, however,leads to very poor efficiency, i.e., � ¼ 1

n . We would ideallylike to be able to embed an n

12 � n1

2 2D mesh into an n13 �

n13 � n1

3 3D mesh with � ¼ 1 and � ¼ 1.Thus, the challenge is to obtain mappings that simulta-

neously have low � and high �. Our space filling surfacespermit us to approach this ideal, as described in Sections 6and 7.

4 FRACTALS AND FRACTAL DIMENSION

A fractal is a geometric shape that can be subdivided intoparts, each of which resembles the original shape. Thus, afractal is termed self-similar (contains scaled copies of itself)and has structure on all scales (independent of scale, detailpersists when zoomed arbitrarily), [5], [6], [30], [31], [32],[33]. There are numerous mathematical structures thatsatisfy these properties. These include the Cantor set [1],the Koch curve [34], Sierpi�nski’s triangle and carpet [4], theMenger sponge [35], the Hilbert curve [3], the Mandelbrotset [5], etc. Many real-world objects, such as snowflakes,clouds, mountains, coastlines, and fluid turbulence, that donot resemble simple geometric shapes can very easily bedescribed by fractal structures.

Fractals generally have a noninteger fractal or similaritydimension df , which is not the same as the more familiartopological dimension dtop. Informally, the more convolutedan object, the higher its fractal dimension.

To formally define the fractal dimension for an object, weneed to consider the rule used to generate that object. Sincea fractal is self-similar, each recursive step in its generationinvolves dividing the object into Nð�Þ pieces of scalefactor �. The fractal dimension is then given by

df ¼ limNð�Þ!1

logNð�Þlog 1

� � : ð1Þ

If the ratio on the right hand side is constant with respectto Nð�Þ, then

df ¼logNð�Þlog 1

� � ð2Þ

and the fractal is called a regular fractal.For example, in the Cantor set (Fig. 1) at step 2, Nð�Þ ¼ 2,

and � ¼ 1=3, since there are two pieces of size 13 of the

original shape, giving us df ¼ 0:6309 . . . . At step 3, we havefour pieces of length 1

9 each, again yielding df ¼ 0:6309 . . . .In this particular case, the ratio in succeeding iterations isconstant, so that (2) applies. However this may not alwaysbe the case.

In the Sierpi�nski carpet (Fig. 2), going from step 0 to 1,� ¼ 1=3 since the scale factor is 3 and Nð�Þ ¼ 8, as 8 squaresare used in step 2. This yields df ¼ 1:8928 . . . .

Fractal dimension usually exceeds the topological di-mension, that is, df � dtop. However, there are exceptions, assome fractal structures in nature have df < dtop.

4.1 Space Filling Curves

Space filling curves form an important class of fractals ofrelevance to the present discussion. These include the Peanoand Hilbert curves. These curves have dtop ¼ 1 but df ¼ 2, 3,or more. They can thus completely fill a 2D area, or a 3D orhigher dimensional volume. In essence, a space filling curveis defined to be a surjection that maps a 1D curve onto amultidimensional domain. These curves have some specialproperties: They are infinite length continuous curves thatcan be packed into a finite area. Furthermore, most of theseare continuous everywhere but nowhere differentiable. Acurve “fills” a plane if, given some patch of the plane, itjoins every point in that patch.

4.1.1 Peano Curve

The Peano curve [2] is constructed starting with a unitlength straight line (the initiator) that is divided into threeequal segments, with the center segment replaced by seven

1260 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 18, NO. 9, SEPTEMBER 2007

Fig. 1. Evolution of the Cantor set.

Fig. 2. First four constructions of Sierpi�nski carpet, the initiator, first-stage (generator), second-stage, and the third-stage.

Page 4: Mapping with Space Filling Surfaces

segments of 1/3 the length. Referring to Fig. 3, at each stage

one line segment is replaced by Nð�Þ ¼ 9 segments, scaled

by a factor of � ¼ 1=3. From (1), the fractal dimension is

exactly 2, implying that a 2D surface is filled by this

1D curve.

4.1.2 Hilbert Curve

The Hilbert curve [3] is a space filling curve that visits every

point in a square grid with size of 2i � 2i, where i is an

integer. We are primarily interested in the “H” variant of

the Hilbert curve [7], [16], [36], shown in Fig. 4. The basic

element, made up of four line segments, is replaced with

four versions of half the size, each missing an edge. The

open “U” shapes are linked with four “connectors” (dashed

segments) giving us a closed curve with 16 segments. Thus,

df ¼ logð4iÞ= logð2iÞ at stage i, which is constant at 2. This

variant is of interest to us for two reasons. First, it has the

useful property that ratio logNð�Þlogð1�Þ

is constant giving df ¼ 2 at

any scaling factor. Second, one of the space filling surfaces

we describe later in this paper is a direct extension of this

curve to 3D.

4.1.3 Three-Dimensional Hilbert Curve

This is an extension of the H variant of the Hilbert curve

(Fig. 5) to 3D. In this case,df ! 3 asNð�Þ ! 3 so that this curve

fills a cube. This idea can be extended to n-dimensional cubes,

and has been effectively used for indexing purposes [9],

[14], [16], [18], [23], [37].

4.2 Embedding Using Space Filling Curves

Finite linear arrays can be embedded into rectangular

meshes using space filling curves. Embedding requires

labeling the linear array elements which means indexing

the nodes along the space filling curve, as described in

Fig. 4, for i ¼ 2. This procedure is applicable to rectangular

and adaptive meshes used in parallel algorithms [9], [13],

[14], [37], [38], computer graphics [39], and 3D design and

analysis [23]. Similarly, labeling using 3D Hilbert curves is

done to embed linear arrays into 3D meshes and vice versa.The proximity-improving property of these embeddings

can be illustrated by referring to Fig. 4. At any stage in the

recursion, the curve is confined to a unit square. At stage i, the

curve has n ¼ 22i points and is mapped onto a 2i � 2i grid.

Thus, no point on this curve is more than distance O�n

12

away from any other point. Because of self-similarity, any

subinterval of length d < 2j of this curve will lie wholly

within a subregion of size 2djþ1

2 e � 2djþ1

2 e. This is a worst-case

expression: In Fig. 4 ði ¼ 3Þ, the 8 ¼ 23 node subinterval AB

lies within a 22 � 22 subregion, but this is not always the

case, as subinterval BC (also eight nodes) does not fit in a

subregion smaller than 23 � 23 (the subregions of stage i

correspond to the entire regions of stages � i). Two points a

distance d apart on the original array will be embedded in

the grid so that they are no more than Oðd12Þ apart. A similar

analysis for embeddings into 3D meshes reveals that points

distance d apart in the array will be no more than Oðd13Þ

apart in the 3D mesh.

5 SPACE FILLING SURFACES

Just as a space filling curve bends in such a way as to fill up a

plane, a space filling surface (SFS) folds in a fashion that fills,

or nearly fills, a volume. The extent of volume filling can be

established by determining the fractal dimension, df . A

surface with df ¼ 3 will completely fill a volume; one with

df < 3 will not. Space filling structures exist in Nature—ex-

amples include circulatory systems of plants and animals, e.g.

arterial, venous, pulmonary, and kidney systems.For our efforts toward exploring the application of space

filling surfaces in parallel processing, we have developed

three types of surfaces, which we now describe in detail.

AHMED AND BOKHARI: MAPPING WITH SPACE FILLING SURFACES 1261

Fig. 3. The initiator and first two stages in the construction of the Peano curve. For clarity, the corners of the polygons have been rounded slightly.

Fig. 4. Evolution of the “H” variant of the Hilbert curve. Fig. 5. Evolution of the 3D Hilbert curve.

Page 5: Mapping with Space Filling Surfaces

5.1 SFS-1

This surface is an extension of the Peano curve to 3D. The

initiator for this surface is a unit square that is divided into

nine identical squares of size 13� 1

3 (Fig. 6).The center square is removed and replaced with

11 similar squares organized as two cubes, one above the

other. The square side common to the two cubes needs to be

connected in such a way as to preserve continuity. This is

illustrated in Fig. 7. The common square is connected to two

adjacent sides of the upper cube and to the opposite two

sides of the lower cube. This preserves continuity and the

3D object shown is one continuous surface.In this case, one square is replaced by 19 squares of size 1

3

resulting in a fractal dimension of df ¼ logð19Þ= logð1= 13Þ ¼

2:6801 . . . . This process is repeated recursively, as shown in

Fig. 8.

SFS-1 is confined to a 3D bipyramid that stands on a

square of size 1� 1. The distance between the apexes of the

pyramids is 2P1

i¼113

� �i¼ 1. The fractal dimension of SFS-1 is

slightly less than three, implying that this is not a perfect

volume filling surface. This is evident in Fig. 8, where it can

be seen that the shape of the surface tends toward a square

bipyramid, but some gaps clearly remain.

5.2 SFS-2

To construct a stage-1 SFS-2, we start with a stage-1Sierpi�nski carpet (Fig. 2) and add four extra facets to eachcorner. We call the resulting object an augmented carpet. Theaugmented carpet is then folded while displacing the extrafacets in the z direction, as shown in Fig. 9. A stage-2 SFS-2is constructed from 12 stage-1 augmented carpets arrangedas shown in Fig. 10. Each of the 12 constituent augmentedcarpets is first folded into a stage-1 SFS-2. The resultant12 SFS-2s, arranged in the form of an augmented carpet arethen folded into a stage-2 SFS-2, as shown in the figure.Successive stages are formed using larger augmentedcarpets.

A stage-i SFS-2 has 12i facets that occupy a cuboid that

has 12 ð3i þ 1Þ � 1

2 ð3i þ 1Þ � 12 ð3i � 1Þ facets in the x, y, and

z directions. Since we start with a Sierpi�nski carpet of unit

size, the physical size of the stage-i SFS-2 is 3iþ12�3i � 3iþ1

2�3i � 3i�12�3i .

We apply a rescaling factor of fi ¼ 2�3i3iþ1 at stage i to make

the size of SFS-2 approach a unit cube. The fractal

1262 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 18, NO. 9, SEPTEMBER 2007

Fig. 6. The initiator and first element of Space Filling Surface-1 (SFS-1),

a 3D extension of the Peano curve.

Fig. 7. A 2D square, partitioned as shown, can be distorted into SFS-1 without cutting or tearing, demonstrating that SFS-1 is one continuous

surface. The shaded diagonal rhombus rotates about its long axis, and stretches to become the common square facet between the upper and lower

cubes. (An animation is available at bmi.osu.edu/~shahid/sfs/sfs1.html).

Fig. 8. Evolution of SFS-1 (stages 2, 3 & 4). At each succeeding stage, each facet is replaced with a continuous surface with 19 facets. Thus each of

the shapes shown represents one continuous surface. For clarity, we have omitted the boundaries between facets lying in the same plane.

Page 6: Mapping with Space Filling Surfaces

dimension for this rescaled SFS-2 is df ¼ logð12iÞ= logð 1ð13Þ

ifiÞ,

which approaches 1þ log 4log 3 ¼ 2:2601 . . . as i!1.

5.3 SFS-3

The SFS-3 surface is based on the H-variant of Hilbert curve,

described in Fig. 4. In the first stage we start with a12� 1

2� 12 cube and generate eight copies of 1

2 scale, each with

one facet missing (Figs. 11a and b). These are attached to a

toroidal connector (Fig. 11c) whose function is analogous to

that of the dashed edges in Fig. 4. The resulting second

stage SFS-3 (Fig. 11e) has 64 facets each of scale 14 , giving

df ¼ logð64Þ= logð 11=4Þ ¼ 3.

The third stage of SFS-3 is obtained (Fig. 12) by taking eight

stage-2 SFS-3s, scaling them by 12 , removing one facet from

each, and again joining these with a toroidal connector. It is

instructive to compute df explicitly for this stage: We have

8� ð64� 1Þ facets from the eight stage-2 SFS-3 (since one facet

is removed from each). The toroidal connector has 24 facets.

Nð�Þ is thus 528, giving us df ¼ logð528Þlogð8Þ ¼ 3:0147 . . . . Since the

number of facets in the connector remains constant at 24 for all

stages, and since we use only one additional connector at each

stage, the fractal dimension df approaches 3 as the number of

stages increases. SFS-3 is thus a perfect volume filling surface:

If the recursive construction described is carried out a large

number of times, it will completely fill the unit cube.

AHMED AND BOKHARI: MAPPING WITH SPACE FILLING SURFACES 1263

Fig. 9. A stage-1 Sierpi�nski carpet with four additional facets is folded into a stage-1 SFS-2. (An animation is available at bmi.osu.edu/~shahid/sfs/

sfs21.html).

Fig. 10. A stage-2 Sierpi�nski carpet, in which each constituent stage-1 carpet has been augmented with four squares, is folded twice to obtain a

stage-2 SFS-2. Some corner facets have been deleted in the first two figures to aid visualization. (An animation is available at bmi.osu.edu/~shahid/

sfs/sfs22.html).

Fig. 11. First and second stage of construction of H-curve based Space

Filling Surface SFS-3. The initiator (a) is a unit cube. The first stage is

obtained by scaling this unit cube by 12 (inner cube in (a)). The next stage

is obtained by taking eight such cubes, of size 12� 1

2� 12 and further

scaling them by a factor of 12 . Half of these cubes have their bottom (b) or

top (d) facets removed. These eight open cubes are joined to a toroidal

connector (c) made up of eight similar cubes, with eight facets removed.

Shading indicates missing facets. The end result (e) is the second stage

of SFS-3, which has 64 facets.

Fig. 12. Third stage of construction of SFS-3. (a) Eight half-scale stage-2

SFS-3s are linked to the toroidal connector (identical to the one in

Fig. 11c). (b) The end result is the 528-facet, third stage SFS-3.

Page 7: Mapping with Space Filling Surfaces

6 EMBEDDING OF 2D SURFACES INTO 3DUSING SFSS

6.1 Mapping a Square Domain onto SFS-1

A square domain can be mapped onto SFS-1 by partitioningit into 19 trapezoids of equal area, as illustrated in Fig. 13.The domain can then be distorted so that it forms a firststage SFS-1 (as illustrated in Fig. 7). This mapping ensuresthat facets adjacent in the rectangular domain remainadjacent on SFS-1. This process is repeated recursively:Each of the trapezoidal domains is further subdivided andeach facet of the SFS-1 is refined into another SFS-1. Thecorresponding trapezoidal subdomains are mapped ontothe corresponding subfaces. Mapping to and fromrectangles to trapezoids is required during this process.That is, the trapezoidal regions need to be distorted intosquares and further partitioned into 19 regions. It isstraightforward to choose the sizes of the trapezoids so thattheir areas are equal. Fig. 13, which is not to scale, shows thedimensions of the trapezoids required to achieve equalareas, assuming a square domain with an area of 19 units.

6.2 Mapping a Rectangular Domain onto SFS-2

A 3� 4 rectangular domain, numbered as shown in Fig. 14,can be associated with the 12 facets that make up anaugmented Sierpi�nski carpet. When the carpet is folded into

SFS-2, as shown in Fig. 9, no facet of the rectangular domainis dilated more than 2. This process can be continuedrecursively by grouping 3� 4 rectangular domains ofsize 3� 4 each, mapping them onto a stage-2 augmentedSierpi�nski carpet and folding the carpet into a stage-2 SFS-2.

6.3 Mapping into SFS-3

We now investigate how to map a rectangular domain intoSFS-3. The technique that we describe permits squaresubdomains of a larger rectangular subdomain to bemapped onto almost all the facets of an SFS-3. A very smallproportion of the facets of SFS-3 are left unmapped, so this isan into mapping. We will investigate the proportion of thefacets of SFS-3 that are mapped onto: This corresponds to theefficiency � of the mapping.

Fig. 15a shows a rectangular domain of size 16� 4 thathas been tiled with eight pentominoes and 24 individualsquares. The pentominoes are mapped onto the open cubesof a stage-2 SFS-3 while the individual squares are placedon the facets of the toroidal connector. In Fig. 15b, a stage-2SFS-3 has been distorted into a torus and flattened out to a2D representation so as to clarify the mapping process. Thetiling of Fig. 15a has been carefully contrived so that no twoadjacent squares in the rectangular domain fall on facets ofSFS-3 that are more than distance 2 apart. Thus regions onthe rectangular domain that are distance d apart will remaindistance OðdÞ apart on the SFS-3.

The mapping shown in Fig. 15 puts 64 subdomains ontothe 64 facets of a stage-2 SFS-3. At the next stage, we cancombine eight such rectangular domains and map theseonto the eight stage-2 SFS-3s that comprise a stage-3 SFS-3.It is important to appreciate that 16 of the 528 facets of thestage-3 SFS-3 are not mapped onto. This process can berepeated recursively as shown in Fig. 16 by taking eightstage-i SFS-3s and combining them into a stage-ðiþ 1Þ SFS-3and ignoring 16 facets of the toroidal connector in each case.The eight rectangles in Fig. 16b represent eight copies of thedomain of Fig. 15a, each of which is mapped onto one of theeight stage-2 SFS-3s of Fig. 12b.

7 EMBEDDING SURFACES IN 3D MESHES

At this stage in our presentation, we have described theconstruction of space filling surfaces and the mapping ofrectangular domains onto these surfaces. Our mappingsfrom domains to SFSs are proximity preserving since regionsthat are distance d apart in the rectangular domain aremapped onto facets that are OðdÞ apart on the surfaces. Wenow turn our attention to the issue of embedding the

1264 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 18, NO. 9, SEPTEMBER 2007

Fig. 13. Mapping a rectangular domain onto SFS-1. A square domain is

divided into 19 trapezoids of equal area, with indicated dimensions. This

domain can be distorted into the square subdomain that serves as the

starting point in Fig. 7 and further distorted to form SFS-1.

Fig. 14. (a), (b), and (c) Mapping a 3� 4 rectangular domain onto an SFS-2 (some facets of which have been deleted for clarity). (d) Larger domains

can be mapped by using groups of 3 � 4 domains.

Page 8: Mapping with Space Filling Surfaces

surfaces in 3D arrays so that proximity improving mappingsare obtained.

All the space filling surfaces presented in this paper aremade up of square facets, each of which is adjacent to atmost 12 other facets, as exemplified by node 7 in Fig. 17b.The interconnection graph of each surface can be obtainedby constructing its dual graph: Each facet is represented bya node and there are edges between two nodes if and only ifthe corresponding facets are adjacent. For each of the threespace filling surfaces, this graph is a subgraph of a 3D meshwith a 27 nearest-neighbor (NN) interconnect. The inter-connection graph of any of our surfaces can be embedded ina 27 NN array without dilation (defined in Section 3.1).Thus, if a rectangular domain can be mapped onto a spacefilling surface without dilation, it can also be mapped onto a3D, 27 NN array without dilation.

Three-dimensional arrays of processors ordinarily use a6 NN interconnect. As the 27 NN array can be embedded ina 6 NN array with dilation 2, we can conclude that theoriginal 2D domain can be mapped onto a 6NN array withdilation 2. It thus follows that the space filling surfacesdescribed in this paper permit rectangular domains to bemapped into a conventional 6 NN 3D array such thatregions in the domain that are distance d apart in thedomain are mapped onto facets that are Oðd1

3Þ apart in the6 NN array. We refine these notions in the followingdiscussion.

7.1 SFS-1

The partitioning of a square domain of Fig. 13 isreproduced in Fig. 17a with each face labeled. The dual

graph of a stage-1 SFS-1 is shown in Fig. 17b with nodeslabeled to match Fig. 17a. This graph can be distorted sothat all nodes lie on the nodes of a 3D grid (Fig. 17c). Thus,the square domain can be partitioned into 19 facets andmapped onto SFS-1 so that there is no dilation betweenfacets, and these facets can be mapped into the nodes of a3� 3� 3, 6 NN mesh so that no two facets are more thandistance 2 apart. This process can be repeated recursively:each facet is replaced by 19 facets organized as a stage-1SFS-1 or, equivalently, each node in the dual graph isreplaced by the 19 node dual graph of SFS-1. For stage-2,there will be 192 nodes mapped into a 9� 9� 9 mesh sothat no two facets are mapped onto nodes that are morethan 3� ð9� 1Þ ¼ 24 apart (this expression equals the sumof the sides of the mesh). In general, for stage i,n ¼ 19i nodes are mapped into a 3i � 3i � 3i mesh, so thatthe maximum distance is d ¼ 3� ð3i � 1Þ. In this case,d ¼ Oðn0:373...Þ, which is slightly worse than Oðn1

3Þ. Since19i regions are mapped into 33i mesh nodes, we have� ¼ ð19

27Þi. Although this is asymptotically zero, it drops

slowly: from 0:703 . . . for stage-1 (19 nodes) to 0:245 . . . forstage-4 (13,0321 nodes).

7.2 SFS-2

A stage-i SFS-2 has 12i facets that occupy a cuboid thathas 1

2 ð3i þ 1Þ � 12 ð3i þ 1Þ � 1

2 ð3i � 1Þ facets in the x, y andz directions. Our objective is to find an injection from thesefacets to the grid points formed by the corners of thesefacets, which constitute a 1

2 ð3i þ 3Þ � 12 ð3i þ 3Þ � 1

2 ð3i þ 1Þ3D grid. For this purpose, we first define injections forthe horizontal and vertical stage-1 SFS-2s that make up astage-2 SFS-2. Subsequent stages are recursively made upof these building blocks.

Fig. 18a shows a horizontally oriented stage-1 SFS-2 with12 marked grid points. A stage-1 SFS 2 has 12 facets and sitsinside a 3� 3� 2 grid. The spheres in this diagram are the12 out of 18 grid points that are mapped onto by facets. Thelines in this figure indicate the injection of facets to gridpoints. The injection has been designed to limit the dilationto 3 (i.e., no adjacent facets are mapped to grids points atdistance greater than 3). Fig. 18b shows a vertically orientedstage-1 SFS-2. In this case, one of the facets needs to bemapped into a grid point that is outside the 3� 3� 2 gridcontaining the SFS-2. This allows all facets to be injected

AHMED AND BOKHARI: MAPPING WITH SPACE FILLING SURFACES 1265

Fig. 15. Mapping a rectangular domain onto SFS-3. When the facets from (a) are mapped onto the regions of (b) no two adjacent regions in (a) havedilation more than 2. (a) A 16� 4 rectangular domain can be tiled with shapes that correspond to the cubes and facets of a stage-2 SFS-3. The eightpentominoes correspond to the Upper and Lower open cubes of Figs. 11b and Figs. 11d, respectively. The individual squares correspond to thefacets of the Toroidal connector of Fig. 11c: 12 outer facets denoted Ton, and four each upper ðTunÞ, inner ðTinÞ and bottom ðTbnÞ facets. (b) Thefacets of a stage-2 SFS-3 laid out as a torus. Squares from the rectangular domain (a) are mapped onto the corresponding facets in this figure.Arrows represent a mapping from facets to nodes of a 3D mesh, as explained in Section 7.

Fig. 16. The 16� 4 rectangular domain can be used to construct larger

domains for mapping onto SFS-3. (a) 16� 4. (b) 8� ð16� 4Þ ¼ 32� 16.

(c) 8� ð32� 16Þ ¼ 64� 64.

Page 9: Mapping with Space Filling Surfaces

into the next stage-2 SFS-2 by taking advantage of the“empty” space in the stage-2 SFS-2. The end result is shownin the exploded view of a stage-2 SFS-2 in Fig. 18c. A stage-2SFS-2 has 122 ¼ 144 facets and fits inside a 6� 6� 5 grid.Fig. 18c shows that by carefully orienting the constituentstage-1 SFS-2s, we can ensure that no grid point is occupiedby more than one facet, i.e., the mapping is a correctinjection.

For any subsequent stage-iþ 1, we are only concerned

with the occupied grid points that lie on the outside edges

of the constituent stage-i SFS-2s. Our injection, described

above, is such that there is never a clash at any grid point, as

shown in Fig. 19.

A stage-1 SFS-2 is confined to a grid no larger than 33 and

has dilation 3. Subsequent stage-i SFS-2s are confined to12 ð3i þ 3Þ� �3

grids. The maximum distance between the n ¼12i facets of a stage-i SFS-2 is no more than d ¼ 3 1

2 ð3i þ 1Þ� �

which is Oðn0:442...Þ. The efficiency � ¼ 12i= 12 ð3i þ 3Þ��

12 ð3i þ 3Þ � 1

2 ð3i þ 1Þ�, which is competitive with SFS-1 for

i ¼ 1, 2, and 3 (Fig. 20).

7.3 SFS-3

The mapping of a 4� 16 facet rectangular domain onto thefacets of a stage-2 SFS-3 is shown in Fig. 15. Recall that

Fig. 15b is, in fact, an unfolding of Fig. 11e. The 3D mesh ontowhich we ultimately wish to map the facets is isomorphic tothe graph obtained by using the vertices and edges of Fig. 11eas processors and links, respectively. What is needed is a

1266 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 18, NO. 9, SEPTEMBER 2007

Fig. 17. The facets of SFS-1 can be mapped into a 3D mesh so that each edge has dilation at most 2. (a) The square domain of Fig. 13 with regionslabeled. (b) Dual graph of a stage-1 SFS-1. The dashed lines show the facets of SFS-1. (c) The dual graph can be distorted so that all nodes lie onthe nodes of a 3D grid (dashed lines).

Fig. 18. (a) & (b) Horizontally and vertically oriented stage-1 SFS-2s showing the injection of facets to grid points. In (b), one facet is placed outsidethe 3� 3� 2 grid. (c) An exploded view of a stage-2 SFS-2 that is made up of differently oriented copies of (a) and (b) (edges that touch each otherhave been separated for clarity). Each grid point is mapped onto by at most one facet (indicated by a sphere). (An animation is available atbmi.osu.edu/~shahid/sfs/sfs21.avi.).

Fig. 19. A stage-3 SFS-2 is made up of 12 stage-2 SFS-2s, only theenclosing cuboids of 7 of which are shown here for clarity. The patternof occupied grid points on the outer edges of the cuboid enclosing the12 SFS2s allow subsequent stages to be constructed withoutinterference. (An animation is available at bmi.osu.edu/~shahid/sfs/sfs22.avi.).

Page 10: Mapping with Space Filling Surfaces

bijection from facets to vertices. The arrows in Fig. 15bprovide one such bijection that maps the 4� 16 facets of therectangular domain onto a 4� 4� 4 mesh.

In general, the mapping from a rectangular domain toSFS-3 is into as it does not map onto all nodes of the mesh. Thisis because, as discussed in Section 6.3 above, after stage 2, weomit the toroidal connector from our mapping. This meansthat an entire 2D layer of the 3D mesh that contains theconnector is unutilized and the z-dimension of the mesh has tobe slightly larger than

ffiffiffin3p

for an n region problem. Moreprecisely, the size of the 3D mesh, < cx; cy; cz > , is

cxðiÞ ¼ 2i; cyðiÞ ¼ 2i; czðiÞ ¼ 2i þ 2i�2 � 1; i � 2:

We can thus map a 2D planar domain with n ¼ 23i2 �

23i2 facets into a 2i � 2i � ð2i þ 2i�2 � 1Þ 3D mesh so that the

maximum distance between any two nodes is no more than3 � 2i þ 2i�2 � 1, improving proximity from Oðn1

2Þ to Oðn13Þ,

as desired.We have described an onto mapping for stage-2 SFS-3

with 64 facets. This mapping is then used to constructmappings for stage-i, i > 2, as shown in Fig. 16. At eachstage beyond i ¼ 2, 16 of the 24 facets belonging to thetoroidal connector are not mapped onto. The efficiency� ¼ 23i=ð23i þ 23i�2 � 22iÞ, which is 1 for i ¼ 2 and asympto-tically approaches 0.8 for large i.

Our approach in embedding regions into SFS-3 has beento start with a dilation 2 mapping of a 16� 4 domain onto astage-2 SFS-3 and then to embed this SFS-3 in a 4� 4� 4mesh. This achieves a mapping of the domain onto themesh. Larger mappings (corresponding to stages beyond 2)are then built up using this basic mapping but, since somemesh nodes are not mapped onto, these mappings areinjections and not bijections. It is conceivable that a dilation 2mapping of a 16� 32 domain onto a stage-3 SFS-3 could bediscovered. Mappings for stages beyond stage-3 could thenbe constructed from this elemental mapping, giving ushigher efficiencies: � ¼ 1 for stage 3, � ¼ 4096=ð16� 16�17Þ ¼ 0:94 . . . for stage 4, and so on. This is an interestingchallenge for future research.

8 CONCLUSIONS AND DISCUSSION

We have described three classes of space filling surfaces:SFS-1 (based on the Peano curve), SFS-2 (obtained byfolding the Sierpi�nski carpet) and SFS-3 (based on a variant

of the Hilbert curve). Fig. 20 summarizes our results. To ourknowledge, these are the first extensions of the well-knownspace filling curves to higher dimensions and are of interestin the context of fractal geometry. However, our motivationin carrying out this research has been to explore theapplications of fractal structures to parallel processing. Inthis regard, we have presented techniques for mapping2D rectangular domains onto these space filling surfacesand have shown how the surfaces can, in turn, beembedded into 3D arrays of processors. This permitsefficient computation on 2D domains using 3D arrays.

A number of problems remain open and this researchalso suggests new directions that could be pursued. Amongthe parallel computing issues that arise from this researchare the following:

1. We have presented recursive techniques for mapping2D domains onto our space filling surfaces. It wouldbe useful to have closed form expressions for thesemappings. We would like, given a rectangular domainmade up of, say, m� n subdomains to compute themapping of each of the mn subdomains onto theprocessors of a given 3D mesh in constant time.

2. The mappings we obtained are proximity-improvingbecause of the recursive nature of their generation.Our discussion has been in the context of maximumdilation. Exact expressions for the average dilation ofthese mappings would be useful to know.

3. In SFS-1, trapezoidal subdomains have to be used topreserve proximity when mapping. The perimetersof the trapezoids obviously have an impact oninterprocessor communication. The trade-off be-tween load balancing and interprocessor commu-nication needs to be evaluated in this case.

4. For the case of SFS-3, it will be useful to obtain a betterelemental mapping for stage-3, so that efficiencies ofmappings for stages beyond 3 are improved.

5. When used in “production” mode, array processorsare often partitioned and allocated to severalindependent jobs. Thus, the possibility exists ofbeing able to use the surfaces that fill awkwardlyshaped volumes, as the unused processors that willremain in a traditional cuboid mesh can be allocatedto other jobs. The trade-offs involved in thisapproach need to be evaluated.

6. We have proposed a two-stage mapping process:from a planar domain to a space filling surface and

AHMED AND BOKHARI: MAPPING WITH SPACE FILLING SURFACES 1267

Fig. 20. Summary of SFS properties.

Page 11: Mapping with Space Filling Surfaces

from the surface to a 3D mesh. Our space fillingsurfaces themselves suggest new interconnectionnetworks (obtained by drawing dual graphs of thesurfaces). The usefulness of the interconnects sug-gested by these surfaces needs to be explored. This isparticularly interesting in the case of SFS-3, whichperfectly fills a 3D cube and can thus be preciselyembedded in a conventional 3D mesh. Perhaps a3D mesh with hierarchically increasing bandwidthscorresponding to the levels of SFS-3 would havesome performance benefits.

7. Some parallel computing applications of spacefilling curves involve the selective refinement ofsome parts of the curve in response to a greater needfor accuracy in some areas of the domain [23]. It is ofgreat interest to explore the equivalent process forspace filling surfaces.

The fractal objects we have developed are among the firstspace filling surfaces to have been proposed and may be ofintrinsic interest in the context of fractal geometry. Forexample,

8. SFS-1 is an extension of the Peano curve to twodimensions. Does it suggest similar extensions ofother well-known space filling curves to higherdimensions?

9. SFS-1 has fractal dimension less than 3. It is an openchallenge to develop a Peano-based surface withfractal dimension exactly 3.

10. The three objects described in this research fill (ornearly fill) a unit volume with a surface of infinite area.This could be useful in filter or membrane design,especially in the case of SFS-2 or SFS-3. SFS-3 canpossibly serve as a simple model for exploring theproperties of space filling surfaces found in Nature.

Space filling surfaces appear to be a useful developmentin the field of fractal geometry. Their applications to parallelcomputing, data mapping, graphics, and related fields arelikely to be of interest to researchers and practitioners. Wehave presented the basic ideas underlying the applicationsof SFSs to parallel computing and see great scope for theirextension, improvement, and amplification.

ACKNOWLEDGMENTS

Masood Ahmad was supported by a doctoral fellowship atthe University of Engineering and Technology, Lahore.Shahid Bokhari carried out part of this work at theDepartment of Biomedical Informatics at Ohio State Uni-versity and was supported by US National ScienceFoundation grants ANI-0330612 and CNS-0426241. Theauthors thank the anonymous referees for their detailedcomments that have helped to improve the presentationconsiderably. Discussions with Tom Crockett, James Meiss,Edward Odell, John van Rosendale, and Harold Stone havebeen very useful. The authors also thank Associate EditorDavid Bader and Transactions Assistant Jennifer Carruthfor their efficient processing of the manuscript.

REFERENCES

[1] G. Cantor, “Uber Unendliche, Lineare PunktmannigfaltigkeitenV,” Mathematische Annalen, vol. 21, pp. 545-591, 1883.

[2] G. Peano, “Sur une Courbe, Qui Remplit Toute une Aire Plane,”Mathematische Annalen, vol. 36, pp. 157-160, 1890.

[3] D. Hilbert, “Uber die Stetige Abbildung Einer Linie auf EinFlachenstuck,” Mathematische Annalen, vol. 38, pp. 459-460, 1891.

[4] W. Sierpi�nski, “Sur une Courbe Cantorienne Qui Contient uneImage Biunivoque et Continue de Toute Courbe Donnee,” ComptesRendus de l’Academie des Sciences, Paris, vol. 162, pp. 629-632, 1916.

[5] B.B. Mandelbrot, The Fractal Geometry of Nature. W.H. Freemanand Co., 1977.

[6] M. Schroeder, Fractals, Chaos, Power Laws: Minutes from an InfiniteParadise. W.H. Freeman and Co., 1991.

[7] S.H. Bokhari, T.W. Crockett, and D.M. Nicol, “Parametric BinaryDissection,” Technical Report 93-39, Inst. for Computer Applica-tions in Science and Eng., 1993.

[8] C.-W. Ou, M. Gunwani, and S. Ranka, “Architecture-IndependentLocality-Improving Transformations of Computational GraphsEmbedded in k-Dimensions,” Proc. Ninth ACM Int’l Conf. Super-computing, pp. 289-297, July 1995.

[9] J.R. Pilkington and S.B. Baden, “Dynamic Partitioning of Non-Uniform Structured Workloads with Spacefilling Curves,” IEEETrans. Parallel and Distributed Systems, vol. 7, no. 3, pp. 288-300,Mar. 1996.

[10] S. Aluru and F. Sevilgen, “Parallel Domain Decomposition andLoad Balancing Using Space-Filling Curves,” Proc. Fourth IEEEInt’l Conf. High Performance Computing, pp. 230-235, 1997.

[11] S. Chatterjee, A. Lebeck, P. Patnala, and M. Thottethodi,“Recursive Array Layouts and Fast Parallel Matrix Multiplica-tion,” Proc. Ann. ACM Symp. Parallel Algorithms and Architectures(SPAA), pp. 222-231, 1999.

[12] Y. Zhu and Y. Hu, “Efficient, Proximity-Aware Load Balancing forDHT-Based P2P Systems,” IEEE Trans. Parallel and DistributedSystems, vol. 16, no. 4, pp. 349-361, Apr. 2005.

[13] J.K. Lawder, “Calculation of Mappings between One andn-Dimensional Values Using the Hilbert Space-Filling Curve,”www.dcs.bbk.ac.uk/TriStarp/pubs/JL1_00.ps.Z, Aug. 2000.

[14] J.J. Bartholdi III and P. Goldsman, “Vertex-Labeling Algorithmsfor the Hilbert Spacefilling Curve,” Software—Practice and Experi-ence, vol. 31, no. 5, pp. 395-408, 2001.

[15] M.F. Mokbel, W.G. Aref, and I. Kamel, “Performance of Multi-Dimensional Space-Filling Curves,” Proc. 10th ACM Int’l Symp.Advances in Geographical Infomation Systems, pp. 149-154, 2002.

[16] R. Niedermeier, K. Reinhardt, and P. Sanders, “Towards OptimalLocality in Mesh-Indexings,” Discrete Applied Mathematics,vol. 117, no. 1-3, pp. 211-237, 2002.

[17] H.V. Jagadish, “Analysis of the Hilbert Curve for RepresentingTwo-Dimensional Space,” Information Processing Letters, vol. 62,pp. 17-22, 1997.

[18] B. Moon, H.V. Jagadish, C. Faloutsos, and J.H. Saltz, “Analysisof the Clustering Properties of the Hilbert Space-Filling Curve,”IEEE Trans. Knowledge and Data Eng., vol. 13, no. 1, pp. 124-141,Jan.-Feb. 2001.

[19] T. Kurc, U. Catalyurek, C. Chang, A. Sussman, and J. Saltz,“Visualization of Large Data Sets with the Active Data Reposi-tory,” IEEE Computer Graphics and Applications, vol. 21, pp. 24-33,July/Aug. 2001.

[20] A. Alhosni and S.Y. Berkovich, “Application of Lebesgue SpaceFilling Curve in Progressive Image Transmission,” Proc. ThirdIASTED Int’l Conf. Visualization, Imaging, and Image Processing,Sept. 2003.

[21] M. Quweider and E. Salari, “Use of Space Filling Curves in FastEncoding of VQ Images,” Proc. Int’l Conf. Image Processing, vol. 3,p. 3101, 1995.

[22] S. Patil, S.R. Das, and A. Nasipuri, “Serial Data Fusion UsingSpace-Filling Curves in Wireless Sensor Networks,” Proc. IEEEComm. Soc. Conf. Sensors and Ad Hoc Comm. and Networks, vol. 1,pp. 182-190, Oct. 2004.

[23] M.J. Aftosmis, M.J. Berger, and S. Murman, “Applications ofSpace Filling Curves to Cartesian Methods for CFD,” Proc. 42ndAIAA Aerospace Sciences Meeting, 2004.

[24] D.J. Mavriplis, M.J. Aftosmis, and M. Berger, “High ResolutionAerospace Applications Using the NASA Columbia Supercom-puter,” Proc. Conf. High-Performance Networking and Computing (SC’05), Nov. 2005.

[25] J.M. Dennis, “Partitioning with Space-Filling Curves on theCubed-Sphere,” Proc. 17th Int’l Parallel and Distributed ProcessingSymp. (IPDPS ’03), p. 269, Apr. 22-26, 2003.

1268 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 18, NO. 9, SEPTEMBER 2007

Page 12: Mapping with Space Filling Surfaces

[26] G. Jin and J. Mellor-Crummey, “Sfcgen: A Framework for EfficientGeneration of Multi-Dimensional Space-Filling Curves by Recur-sion,” ACM Trans. Mathematical Software, vol. 31, pp. 120-148, Mar.2005.

[27] E. Skubalska-Rafajlowicz and A. Krzyzak, “Fast k-NN Classifica-tion Rule Using Metric on Space-Filling Curves,” Proc. 13th Int’lConf. Pattern Recognition, vol. 2, pp. 121-125, 1996.

[28] H.-L. Chen and Y.-I. Chang, “Neighbor-Finding Based on Space-Filling Curves,” Infomation Systems, vol. 30, pp. 205-226, May 2005.

[29] S.H. Bokhari, “On the Mapping Problem,” IEEE Trans. Computers,vol. C-30, pp. 207-214, Mar. 1981.

[30] K. Falconer, Fractal Geometry: Mathematical Foundations andApplications. John Wiley & Sons, 1990.

[31] H. Sagan, Space-Filling Curves. Springer-Verlag, 1994.[32] “Chaotic Dynamics and Fractals,” Notes and Reports in Mathematics

in Science and Engineering, M.F. Barnsley and S.G. Demko, eds.,vol. 2, 1986.

[33] M.F. Barnsley, Fractals Everywhere, second ed. Academic Press,1993.

[34] H. von Koch, “Sur Une Courbe Continue Sans Tangente, ObtenuePar une Construction Geometrique �Elementaire,” Arkiv forMatematik, vol. 1, pp. 681-704, 1904.

[35] K. Menger, “Allgemeine Raume und Cartesische Raume,” Proc.Koniklijke Akademie van Wetenschappen te Amsterdam, vol. 29,pp. 1125-1128, 1926.

[36] S.H. Bokhari, T.W. Crockett, and D.M. Nicol, “Binary Dissection:Variants and Applications,” Technical Report 97-29, Inst. forComputer Applications in Science and Eng., www.compsci.wm.edu/~tom/97-29.pdf, 1997.

[37] C. Gotsman and M. Lindenbaum, “On the Metric Propertiesof Discrete Space-Filling Curves,” www.cs.technion.ac.il/~gotsman/AmendedPubl/OnTheMetric/OnTheMetric.pdf, July1996.

[38] G. Chochia and M. Cole, “Recursive 3D Mesh Indexing withImproved Locality,” Proc. Int’l Conf. and Exhibition High-Perfor-mance Computing and Networking (HPCN Europe), pp. 1014-1015,1997.

[39] A.J. Cole, “Compaction Techniques for Raster Scan GraphicsUsing Space-Filling Curves,” Computer J., vol. 30, no. 1, pp. 87-92,1987.

Masood Ahmed received the BSc degree inelectrical engineering from the University ofEngineering and Technology (UET), Lahore,Pakistan, in 1981, and the MS degree inelectrical engineering from the University ofTexas at Austin, in 1990. He was on the facultyof the Department of Electrical Engineering,UET, Lahore, from 1982 until his death on 2 April2007. His research interests included chaostheory and fractals and their applications to

computer networks. He was a member of the IEEE and counselor of theIEEE student branch at UET, Lahore.

Shahid Bokhari received the BSc degree inelectrical engineering from the University ofEngineering and Technology, Lahore, Pakistan,in 1974 and the MS and PhD degrees inelectrical and computer engineering from theUniversity of Massachusetts, Amherst, in 1976and 1978, respectively. His research is directedtoward the application of high-performancecomputing to problems in bioinformatics. Heis a fellow of the IEEE, the IEEE Computer

Society, and the ACM.

. For more information on this or any other computing topic,please visit our Digital Library at www.computer.org/publications/dlib.

AHMED AND BOKHARI: MAPPING WITH SPACE FILLING SURFACES 1269