400 likes | 416 Views
This study presents an algorithm for generating a layout of a bounded-degree planar graph that minimizes the geometric mean of arc lengths, with a focus on improving cache performance. Experimental results show the effectiveness of the algorithm.
E N D
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
Two Level I/O Memory Model 2-block cache a c e g b d f h Memory with infinite capacity
Memory Layout 2-block cache a c e g b d f a b c d e f g h … h Memory with infinite capacity
Performance of the Layout Not Available In Cache 2-block cache a c e g b d f a b c d e f g h … h Memory with infinite capacity
Performance of the Layout 2-block cache a c e g b d f a a b b c c d e f g h … h Number of misses: 1 Memory with infinite capacity
Performance of the Layout 2-block cache a c Hit ! e a b c g b d f a b c d e f g h … h Number of misses: 1 Memory with infinite capacity
Performance of the Layout 2-block cache a c Hit ! e a b c g b d f a b c d e f g h … h Number of misses: 1 Memory with infinite capacity
Performance of the Layout Not Available In Cache 2-block cache a c e a b c g b d f a b c d e f g h … h Number of misses: 1 Memory with infinite capacity
Performance of the Layout 2-block cache a c e a b c g b d f a b c d d e e f f g h … h Number of misses: 2 Memory with infinite capacity
Performance of the Layout 2-block cache a c e a b c d e f g b d f a b c d e f g h … h Number of misses: 2 Memory with infinite capacity
Performance of the Layout 2-block cache a c Hit ! e a b c d e f g b d f a b c d e f g h … h Number of misses: 2 Memory with infinite capacity
Performance of the Layout 2-block cache a c Hit ! e a b c d e f g b d f a b c d e f g h … h Number of misses: 2 Memory with infinite capacity
Performance of the Layout Not Available In Cache 2-block cache a c e a b c d e f g b d f a b c d e f g h … h Number of misses: 2 Memory with infinite capacity
Performance of the Layout 2-block cache a c e a b c d e f g b d f a b c d e f g g h h … … h Number of misses: 3 Memory with infinite capacity
Performance of the Layout 2-block cache a c e g h … d e f g b d f a b c d e f g h … h Number of misses: 3 Memory with infinite capacity
Performance of the Layout 2-block cache a c Hit ! e g h … d e f g b d f a b c d e f g h … h Number of misses: 3 Memory with infinite capacity
Example of a “Bad Layout” 2-block cache a c e g b d f a hgc b f d e … h Number of misses = 4 Memory with infinite capacity
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 bedependent on the cache parameters Cache-Obliviousness
Efficient Layout • Suppose we have chosen a metric which reflects the expected number of cachemisses 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 d b a b c d c 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 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 Average query times for collision detection between the Lucy model and Dragon Model
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)] |C| 2ⅹ21/2ⅹn1/2 C |A|≤2ⅹn/3 |B|≤2ⅹn/3 B A No edge between A and B Planar Graph with n vertices
Algorithm: Given Bounded-Degree Planar Graph Gwith n(a power of 2 ) Vertices G
Algorithm: Split G Into Three Parts A, B and C |C|=O(n1/2) |A|≤n/2 |B|≤n/2 C No edge between A and B A B Number of external edges = O(n1/2) Number of internal edges = O(n1/2)
Algorithm: Split C into C1 and C2 Each edge is either anexternal or an internal edge crossing |A|+|C1|=n/2 |B|+|C2|=n/2 C1 C2 A B Number of crossing edges= O(n1/2)
Algorithm: CombineA,C1 and B,C2 |A|+|C1|=n/2 |B|+|C2|=n/2 C1 C2 A B
Algorithm: Recurse on A ’ and B ’ Make Layout of A ’ with 1…n/2 and B ’ with n/2+1…n recursively 1 2 3 4 5 6 7 8 B ’ = B∪C2 A ’ = A∪C1
Cost of The Split of a n Vertices Bounded Degree Planar Graph Number of crossing edges = O(n1/2) Cost of crossing edges = O(n1/2log n) Cost Layout with values [1…n./2] Layout with values [n/2…n] B ’ = B∪C2 A ’ = A∪C1
Bounding MG Value l=0 l=1 . . . . . . . . Number of crossing edges Number of subgraphs ………………………… …………………………………… Cost of each crossing edge
Results Summary • Value of Mgmetric of the layout generated by the recursive algorithm is O(1), where, • Lower bound of Mgof any layout is Ω(1)under suitable assumptions • The recursive algorithm gives a constant approximation factor for Mg • The upper bound of Mgvalue for any layout is O (log n) • The time complexity of our algorithm is O(nⅹlog2n)
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