1 / 40

Bounds on the Geometric Mean of Arc Lengths for Bounded-Degree Planar Graphs

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.

Télécharger la présentation

Bounds on the Geometric Mean of Arc Lengths for Bounded-Degree Planar Graphs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Image Rendering

  3. Image Rendering

  4. Image Rendering

  5. Image Rendering

  6. Image Rendering

  7. Two Level I/O Memory Model 2-block cache a c e g b d f h Memory with infinite capacity

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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.

  24. 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

  25. 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

  26. 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

  27. 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

  28. Related Work : Comparison of Two Metrics [Yoon and Lindstrom(2006)]

  29. 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

  30. 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)

  31. 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

  32. Algorithm: Given Bounded-Degree Planar Graph Gwith n(a power of 2 ) Vertices G

  33. 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)

  34. 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)

  35. Algorithm: CombineA,C1 and B,C2 |A|+|C1|=n/2 |B|+|C2|=n/2 C1 C2 A B

  36. 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

  37. 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

  38. Bounding MG Value l=0 l=1 . . . . . . . . Number of crossing edges Number of subgraphs ………………………… …………………………………… Cost of each crossing edge

  39. 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)

  40. 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

More Related