arXivDaily arXiv每日学术速递 周一至周五更新
北美退伍军人节(Veterans Day),12 日无更新
arXiv 0705.1033cs.DScs.CEcs.MScs.NAmath.NA
收藏

最优缓存无关网格布局

Optimal Cache-Oblivious Mesh Layouts

Stony Brook University(石溪大学);Tokutek, Inc.(Tokutek公司);Computer Science and Artificial Intelligence Laboratory, Massachusetts Institute of Technology(麻省理工学院计算机科学与人工智能实验室);University of Southern California(南加州大学);Akamai Technologies, Inc.(Akamai科技公司);Boston University(波士顿大学)

Michael A. Bender, Bradley C. Kuszmaul, Shang-Hua Teng, Kebin Wang

AI总结:

本文针对d维网格的更新操作,提出了一种缓存无关的布局方法,使得在任意缓存参数下内存传输次数渐近最优,并给出了两种高效的布局算法。

摘要:

网格是一种将物理空间划分为规则形状区域的图。网格计算构成了许多应用的基础,例如有限元方法、图像渲染和碰撞检测。在一种称为网格更新的重要网格原语中,每个网格顶点存储一个值,并基于所有相邻顶点存储的值重复更新该值。网格更新的性能取决于网格在内存中的布局。本文展示了如何找到一种内存布局,保证对于任何内存参数集,网格更新具有渐近最优的内存性能。这种内存布局称为缓存无关的。形式上,对于一个$d$维网格$G$,块大小$B$和缓存大小$M$(其中$M=\Omega(B^d)$),$G$的网格更新使用$O(1+|G|/B)$次内存传输。本文还展示了当缓存较小($M=o(B^d)$)时网格更新性能如何下降。然后,本文给出了两种寻找缓存无关网格布局的算法。第一种布局算法在RAM上以期望和高概率运行时间为$O(|G|\log^2|G|)$。在缓存无关和磁盘访问机器(DAM)模型中,它期望使用$O(1+|G|\log^2(|G|/M)/B)$次内存传输,高概率使用$O(1+(|G|/B)(\log^2(|G|/M) + \log|G|))$次内存传输。该布局通过找到$G$的完全平衡分解树,然后对树的叶子进行中序遍历得到。第二种算法在三种内存模型中以期望和高概率运行速度几乎快$\log|G|/\log\log|G|$倍。该布局通过找到$G$的松弛平衡分解树,然后对树的叶子进行中序遍历得到。

英文摘要:

A mesh is a graph that divides physical space into regularly-shaped regions. Meshes computations form the basis of many applications, e.g. finite-element methods, image rendering, and collision detection. In one important mesh primitive, called a mesh update, each mesh vertex stores a value and repeatedly updates this value based on the values stored in all neighboring vertices. The performance of a mesh update depends on the layout of the mesh in memory. This paper shows how to find a memory layout that guarantees that the mesh update has asymptotically optimal memory performance for any set of memory parameters. Such a memory layout is called cache-oblivious. Formally, for a $d$-dimensional mesh $G$, block size $B$, and cache size $M$ (where $M=Ω(B^d)$), the mesh update of $G$ uses $O(1+|G|/B)$ memory transfers. The paper also shows how the mesh-update performance degrades for smaller caches, where $M=o(B^d)$. The paper then gives two algorithms for finding cache-oblivious mesh layouts. The first layout algorithm runs in time $O(|G|\log^2|G|)$ both in expectation and with high probability on a RAM. It uses $O(1+|G|\log^2(|G|/M)/B)$ memory transfers in expectation and $O(1+(|G|/B)(\log^2(|G|/M) + \log|G|))$ memory transfers with high probability in the cache-oblivious and disk-access machine (DAM) models. The layout is obtained by finding a fully balanced decomposition tree of $G$ and then performing an in-order traversal of the leaves of the tree. The second algorithm runs faster by almost a $\log|G|/\log\log|G|$ factor in all three memory models, both in expectation and with high probability. The layout obtained by finding a relax-balanced decomposition tree of $G$ and then performing an in-order traversal of the leaves of the tree.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑