a parallelisation approach for multi-resolution grids based upon the peano space-filling curve...
TRANSCRIPT
A Parallelisation Approach A Parallelisation Approach for Multi-Resolution Grids for Multi-Resolution Grids
Based Upon the Peano Based Upon the Peano Space-Filling CurveSpace-Filling Curve
Student: Adriana BocoiAdvisor: Dipl.-Inf.Tobias Weinzierl
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 2201.04.2007
Content
Domain discretisation
Trees [Computer representation]
Space-Filling Curves [Traversal]
Parallelisation
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 3301.04.2007
Solving Real Life Problems
Model the real life problem Usually we end up with PDE
(Partial Differential Equations) Consider the domain Discretise (grid) Solve the discrete problem
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 4401.04.2007
ParallelisationParallel computing is the division of one task into a set of subtasks
assigned to multiple processors in order to obtain results faster or to reduce memory requirements per processor.
Example: input: a={2,3,4}, b={5,6,1}result: c=a+b={7,9,5}
Serial Parallel (3 processors)
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 5501.04.2007
Domain Partitioning
Domain partitioning is the process of dividing a domain into two or more
regions.
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 6601.04.2007
Domain PartitioningWhich is better ?
hhh
hh
qualityPartition
hhh
hh
qualityPartition
volume
surface
surface
lengthdatalocal
dataedcommunicatqualityPartition
square
stripes
DD
8
22
222
10
4
42
32
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 7701.04.2007
Domain Partitioning
We have (regarding partition quality):
stripes < square
Which is optimal ?
Minimum length/maximum surface -> circle
thus: stripes < square < circle
hh
hqualityPartition circle
222
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 8801.04.2007
Domain Partitioning Types of structured grids:
Regular grids
Adaptive grids
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 9901.04.2007
Pro’s and Con’s
Regular Grid Adaptive Grid
Generation Easy Difficult
Storage Scheme Easy Complicated
Algorithm Implementation Easy Difficult
PrecisionGreat memory and
computational effort
Good
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 101001.04.2007
Conclusion Grids
If we can find a way to memorise and work with adaptive grids
efficiently, they can help us to make more precise
computations with less effort (memory and computation).
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 111101.04.2007
Content
Domain discretisation
Trees [Computer representation]
Space-Filling Curves [Traversal]
Parallelisation
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 121201.04.2007
Data structure - Trees !
Recursivity
=>
Tree data structure
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 131301.04.2007
Data structure - Trees !
Terms that we encounter:
Quadtrees(2D)bipartition
Octrees (3D)
Space Trees Refinement trees – representation of the
refinement process that created the grid [1]
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 141401.04.2007
How to read from that structure We have two traversals:
BFS DFS (Breadth First Search) (Depth First Search)
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 151501.04.2007
Ordering
Deterministic algorithm(Where to go next ?)
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 161601.04.2007
Content
Domain discretisation
Trees [Computer representation]
Space-Filling Curves [Traversal]
Parallelisation
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 171701.04.2007
We need an unique ordering
We have space filling curves to
define the order of the children
The Peano Space - Filling Curve
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 181801.04.2007
How does this actually help ?
We obtain a traversal of the tree given by the Peano
Space - Filling Curve.
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 191901.04.2007
What do we have till now ?
Adaptive grids Methods to handle them on the
computer
Data Structure: Tree Structure
Ordering: Peano Space-Filling Curve
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 202001.04.2007
Content
Domain discretisation
Trees [Computer representation]
Space-Filling Curves [Traversal]
Parallelisation
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 212101.04.2007
Remember the domain partitioning
Adaptive grid
Regular grid
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 222201.04.2007
Parallelisation
What is wrong?
Adaptive grids - One processor has to do more work than the other three!
[Load imbalance]
Regular grids – nothing
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 232301.04.2007
We want a well-balanced workload distribution!
Load balancing is a technique to spread work between processors
in order to get better resource utilisation and, thus, decrease
computing time.
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 242401.04.2007
Partition strategy
split the grid <=> split the tree One strategy [1]:
p processors n nodes in the treewe get approx. [n/p] nodes for each
processor
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 252501.04.2007
How do we find it ? Example:
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 262601.04.2007
How good is the partition ?
The papers in this field [2] tell us that actually domain partitioning
using Peano Space-Filling Curves is besides a constant as good as an
optimal partitioning (circle).
rectangle < square < peano SFC < circle
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 272701.04.2007
Why Peano and not other SFC ?
Because of the 3D projection propriety:
Adriana Bocoi - Peano space filling curveAdriana Bocoi - Peano space filling curve 282801.04.2007
Conclusion
Partitioned Domain+
Trees as data structure+
Peano space filling curve for ordering+
Splitting strategy=
Good parallelisation
Thank you for your attention !!!
Q & A