bounds on the geometric mean of arc lengths for bounded-degree planar graphs
DESCRIPTION
Bounds on the Geometric Mean of Arc Lengths for Bounded-Degree Planar Graphs. M. K. Hasan Sung-eui Yoon Kyung-Yong Chwa KAIST, Republic of Korea. Image Rendering. Image Rendering. Image Rendering. Image Rendering. Image Rendering. Two Level I/O Memory Model. 2-block cache. a. c. e. - PowerPoint PPT PresentationTRANSCRIPT
Bounds on the Geometric Mean of Arc Lengths for Bounded-Degree Planar
Graphs
M. K. HasanSung-eui Yoon
Kyung-Yong Chwa
KAIST, Republic of Korea
Image Rendering
Image Rendering
Image Rendering
Image Rendering
Image Rendering
Two Level I/O Memory Model
a
c
d
b
f
e
g
h
2-block cache
Memory with infinite capacity
Memory Layout
a
c
d
b
f
e
g
h
2-block cache
Memory with infinite capacity
a b c d e f gh
…
Performance of the Layout
a
c
d
b
f
e
g
h
2-block cache
Memory with infinite capacity
Not AvailableIn Cache
h a b c d e f g …
Performance of the Layout
a
c
d
b
f
e
g
h
2-block cache
Memory with infinite capacityNumber of misses: 1
h a b c d e f g …a b c
Performance of the Layout
a
c
d
b
f
e
g
h
2-block cache
Memory with infinite capacityNumber of misses: 1
h
a b c
d e f g …
Hit !
a b c
Performance of the Layout
a
c
d
b
f
e
g
h
2-block cache
Memory with infinite capacityNumber of misses: 1
h
a b c
d e f g …
Hit !
a b c
Performance of the Layout
a
c
d
b
f
e
g
h
2-block cache
Memory with infinite capacityNumber of misses: 1
h
a b c
d e f g …
Not AvailableIn Cache
a b c
Performance of the Layout
a
c
d
b
f
e
g
h
2-block cache
Memory with infinite capacityNumber of misses: 2
h
a b c
d e f g …a b c d e f
Performance of the Layout
a
c
d
b
f
e
g
h
2-block cache
Memory with infinite capacityNumber of misses: 2
h
a b c
d e f g …a b c
d e f
Performance of the Layout
a
c
d
b
f
e
g
h
2-block cache
Memory with infinite capacityNumber of misses: 2
h
a b c
d e f g …a b c
d e fHit !
Performance of the Layout
a
c
d
b
f
e
g
h
2-block cache
Memory with infinite capacityNumber of misses: 2
h
a b c
d e f g …a b c
d e fHit !
Performance of the Layout
a
c
d
b
f
e
g
h
2-block cache
Memory with infinite capacityNumber of misses: 2
h
a b c
d e f g …a b c
d e f
Not AvailableIn Cache
Performance of the Layout
a
c
d
b
f
e
g
h
2-block cache
Memory with infinite capacityNumber of misses: 3
h
a b c
d e f g …a b c
d e f
hg …
Performance of the Layout
a
c
d
b
f
e
g
h
2-block cache
Memory with infinite capacityNumber of misses: 3
h d e f g …a b c
d e fhg …
Performance of the Layout
a
c
d
b
f
e
g
h
2-block cache
Memory with infinite capacityNumber of misses: 3
h d e f g …a b c
d e fhg …Hit !
Example of a “Bad Layout”
a
c
d
b
f
e
g
h a h g c b f d e …
2-block cache
Memory with infinite capacityNumber of misses = 4
Cache Parameters
• In reality we do not know the block size and cache size
• In the Cache-Oblivious environment our objective is to develop efficient algorithm and/or layout without knowing the cache parameters
• Reducing the number of cache misses is the only goal. It does not matter how bad the algorithm is (in terms of complexity) as long as it is polynomial.
Cache-Oblivious Mesh Layout
• Optimization problem: Find the layout of a mesh which minimizes the number of cache misses for a set of applications:
– Rendering – Collision Detection – Ray Tracing
We Need a Metric
• Given a layout
– We want to know the number of cache misses for a particular class of applications
– How can we get that if we do not know the cache parameters (cache size, block size)?
– We need a metric which reflects the expected number of cache misses for the application class
– The metric must be related to the layout and must not be dependent on the cache parameters
Cache-Obliviousness
Efficient Layout
• Suppose we have chosen a metric which reflects the expected number of cache misses for our target application.
• Now, our objective is to develop a layout of the input mesh such that the metric value is minimized
Related Work : Derivation of Metrics [Yoon and Lindstrom(2006)]
• Consider two types of block size progressions– 1, 2, 3, …– 20, 21, 22, …
• The second one is more reasonable choice, e.g., 32 and 128 bytes for L1 and L2 caches and 4KB for the virtual page
• Based on these progressions we find two metrics
– Arithmetic mean of edge spans:
– Logarithm of geometric mean of edge spans:
a
c
bd
da cb
Ajiija l
AM
),(||
1
5||,3,2,1 Alllll adbdcdbcab
||
1
),(
logA
Ajiijg lM
Mesh Layout
Related Work : Comparison of Two Metrics
[Yoon and Lindstrom(2006)]
Related Work :Multi-level Construction Algorithm
[Yoon and Lindstrom(2006)]
Algorithm:• Partition the input graph using
graph partitioning tool.
• Make the layout of each small component using Mg metric
• Marge the layout of each component to get the layout of the whole graph
Average query times for collision detection between the Lucy model and Dragon Model
Result:• Experimental results show nice
performance of multi-level construction algorithm
• However there is no theoretical bound for the performance and the complexity of the algorithm
Our Contribution
• We have given an algorithm which gives a layout for bounded-degree planar graph such that the Mg value of the layout is within a constant factor of the Mg value of the optimal layout (optimal in terms of Mg value).
• Our algorithm is simple and easy to implement. The time complexity of our algorithm is O(nⅹlog2n)
Separator Theorem For Planar Graphs [Lipton and
Tarjan(1979)]
BA
|C| 2ⅹ21/2ⅹn1/2
No edge between A and B
|A|≤2ⅹn/3 |B|≤2ⅹn/3C
Planar Graph with n vertices
Algorithm: Given Bounded-Degree Planar Graph G
with n (a power of 2 ) Vertices
G
Algorithm: Split G Into Three Parts A, B and C
BA
C
|C|=O(n1/2)
|B|≤n/2|A|≤n/2
Number of external edges = O(n1/2)Number of internal edges = O(n1/2)
No edge between A and B
Algorithm: Split C into C1 and C2
BA
C1
|A|+|C1|=n/2
C2
|B|+|C2|=n/2
Each edge is either
an external or an internal edge crossing
Number of crossing edges = O(n1/2)
Algorithm: Combine A,C1 and B,C2
|A|+|C1|=n/2 |B|+|C2|=n/2
BA
C1 C2
Algorithm: Recurse on A ’ and B ’
Make Layout of A ’ with 1…n/2 and B ’ with n/2+1…n recursively
A ’ = A∪C1 B ’ = B∪C2
1 2 3 4 5 6 7 8
Cost of The Split of a n Vertices Bounded Degree Planar Graph
Layout with values [1…n./2]
A ’ = A∪C1 B ’ = B∪C2
Number of crossing edges = O(n1/2)
Cost of crossing edges = O(n1/2 log n)
Aji
ijg lA
M),(
)log(||
1Cost
Layout with values [n/2…n]
i j
nijlij log|)log(|)log( i j
1i nj
Bounding MG Value
……………………………………
l=0
l=1........
lll
l
nncCost
2log
22
2
1
…………………………
l
lCost Cost
Number of subgraphs
Number of crossing edges
Cost of each crossing edge
Aji
ijg lA
M),(
)log(||
1
l
nl
2 is levelat subgraph each of Size
)1(),(|| Assuming OMnA g
)(nO
Results Summary• Value of Mg metric of the layout generated by the recursive
algorithm is O(1), where,
• Lower bound of Mg of any layout is Ω (1) under suitable assumptions
• The recursive algorithm gives a constant approximation factor for Mg
• The upper bound of Mg value for any layout is O (log n)
• The time complexity of our algorithm is O(nⅹlog2n)
Ajiij
A
Ajiijg l
AlM
),(
||
1
),(
)log(||
1log
Future Works
• We can extend the algorithm to handle three dimensional mesh
• For applications like streaming
mesh and mesh smoothing, we can develop good metrics and cache-oblivious layouts based on those metrics