mapping with space filling surfaces
TRANSCRIPT
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
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
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.
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.
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.
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.
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.
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.
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.).
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.
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
[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