An Optimal and Practical Cache-Oblivious Algorithm for Computing Multiresolution Rasters.

ALGORITHMS - ESA 2013(2013)

引用 7|浏览23
暂无评分
摘要
In many scientific applications it is required to reconstruct a raster dataset many times, each time using a different resolution. This leads to the following problem; let G be a raster of root N x root N cells. We want to compute for every integer 2 <= mu <= root N a raster G(mu) of inverted right perpendicular root N/mu inverted left perpendicular x inverted right perpendicular root N/mu inverted left perpendicular cells where each cell of G(mu) stores the average of the values of mu x mu cells of G. Here we consider the case where G is so large that it does not fit in the main memory of the computer. We present a novel algorithm that solves this problem in O(scan(N)) data block transfers from/to the external memory, and in Theta(N) CPU operations; here scan(N) is the number of block transfers that are needed to read the entire dataset from the external memory. Unlike previous results on this problem, our algorithm achieves this optimal performance without making any assumptions on the size of the main memory of the computer. Moreover, this algorithm is cache-oblivious; its performance does not depend on the data block size and the main memory size. We have implemented the new algorithm and we evaluate its performance on datasets of various sizes; we show that it clearly outperforms previous approaches on this problem. In this way, we provide solid evidence that non-trivial cache-oblivious algorithms can be implemented so that they perform efficiently in practice.
更多
查看译文
关键词
Main Memory, External Memory, Input Size, Internal Memory, Block Transfer
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要