Optimal Cache-Oblivious Mesh Layout

نویسندگان

  • Michael A. Bender
  • Bradley C. Kuszmaul
  • Shang-Hua Teng
چکیده

This paper shows how to generate a cache-oblivious memory layout of a well-shaped finite-element mesh G. This cache-oblivious mesh layout enables asymptotically optimal mesh updates, in which each vertex communicates with all of its neighbors. Mesh updates is the building block of iterative linear system solver. For block size B and cache size M, the mesh update cost is O(1+ |G|/B), assuming the tall cache assumption M = Ω(Bd), where d is the dimensionality of the mesh’s geometric domain. The layout algorithm runs cache-obliviously in O(|G| log2 |G|) operations and O(1+ |G| log2 |G|/B) memory transfers with high probability. The approach combines ideas from VLSI theory, graph separators, and I/O-efficient computing, and presents simplified and improved methods for building fully-balanced decomposition trees from the VLSI literature and k-way partitioning from the graph-separator literature. We then introduce the relaxedbalanced decomposition tree and show that with M = Ω(Bd), mesh update cost is O(1+ |G|/B). We give a layout algorithm for relaxed-balanced decomposition trees, which runs cache-obliviously in O(|G| log |G| log log |G|) operations and O(1+ |G| log |G| log log |G|) memory transfers with high probability.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Simple and Efficient Mesh Layout with Space-Filling Curves

We present a simple and efficient algorithm to compute cache-friendly layouts of unstructured geometric data. Coherent mesh layouts minimize cache misses and page faults by laying out vertices, triangles or tetrahedra in a spatially structured manner. Recently, Yoon et al. have shown that it is possible to construct an optimal cache-oblivious mesh layout (COML) for surface and volume data. Howe...

متن کامل

EÆcient Tree Layout in a Multilevel Memory Hierarchy

We consider the problem of laying out a tree with xed parent/child structure in hierarchical memory. The goal is to minimize the expected number of block transfers performed during a search along a root-to-leaf path, subject to a given probability distribution on the leaves. This problem was previously considered by Gil and Itai, who developed optimal algorithms when the block-transfer size B i...

متن کامل

Efficient Tree Layout in a Multilevel Memory Hierarchy

We consider the problem of laying out a tree with fixed parent/child structure in hierarchical memory. The goal is to minimize the expected number of block transfers performed during a search along a root-to-leaf path, subject to a given probability distribution on the leaves. This problem was previously considered by Gil and Itai, who developed optimal algorithms when the block-transfer size i...

متن کامل

A Fast Cache Oblivious Mesh Layout with Theoretical Guarantees

One important bottleneck when visualizing large data sets is the data transfer between processor and memory. Cache-aware (CA) and cacheoblivious (CO) algorithms take into consideration the memory hierarchy to design cache efficient algorithms. CO approaches have the advantage to adapt to unknown and varying memory hierarchies. Recent CA and CO algorithms developed for 3D mesh layouts significan...

متن کامل

Worst-Case Optimal Tree Layout in a Memory Hierarchy

Consider laying out a fixed-topology tree of N nodes into external memory with block size B so as to minimize the worst-case number of block memory transfers required to traverse a path from the root to a node of depth D. We prove that the optimal number of memory transfers is Θ   D lg(1+B) when D = O(lgN) lgN lg ( 1+ lg N D ) when D = Ω(lgN) and D = O(B lgN) D B when D ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007