ACM Home Page
Please provide us with feedback. Feedback
An experimental analysis of self-adjusting computation
Full text PdfPdf (361 KB)
Source Conference on Programming Language Design and Implementation archive
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation table of contents
Ottawa, Ontario, Canada
SESSION: Dynamic techniques table of contents
Pages: 96 - 107  
Year of Publication: 2006
ISBN:1-59593-320-4
Also published in ...
Authors
Umut A. Acar  Toyota Technological Institute
Guy E. Blelloch  Carnegie Mellon University
Matthias Blume  Toyota Technological Institute
Kanat Tangwongsan  Carnegie Mellon University
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 1,   Downloads (12 Months): 56,   Citation Count: 9
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1133981.1133993
What is a DOI?

ABSTRACT

Dependence graphs and memoization can be used to efficiently update the output of a program as the input changes dynamically. Recent work has studied techniques for combining these approaches to effectively dynamize a wide range of applications. Toward this end various theoretical results were given. In this paper we describe the implementation of a library based on these ideas, and present experimental results on the efficiency of this library on a variety of applications. The results of the experiments indicate that the approach is effective in practice, often requiring orders of magnitude less time than recomputing the output from scratch. We believe this is the first experimental evidence that incremental computation of any type is effective in practice for a reasonably broad set of applications.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
 
3
U. A. Acar, G. E. Blelloch, M. Blume, R. Harper, and K. Tangwongsan. A library for self-adjusting computation. In ACM SIGPLAN Workshop on ML, 2005.
4
5
 
6
 
7
U. A. Acar, G. E. Blelloch, K. Tangwongsan, and J. Vittes. Kinetic algorithms via self-adjusting computation. Technical Report CMU-CS-06-115, Department of Computer Science, Carnegie Mellon University, March 2006.
 
8
U. A. Acar, G. E. Blelloch, and J. L. Vittes. An experimental analysis of change propagation in dynamic trees. In Workshop on Algorithm Engineering and Experimentation, 2005.
9
 
10
 
11
 
12
13
 
14
T. M. Chan. Optimal output-sensitive convex hull algorithms in two and three dimensions. Discrete and Computational Geometry, 16:361--368, 1996.
15
 
16
Y.-J. Chiang and R. Tamassia. Dynamic algorithms in computational geometry. Proceedings of the IEEE, 80(9):1412--1434, 1992.
17
18
 
19
D. Eppstein, Z. Galil, and G. F. Italiano. Dynamic graph algorithms. In M. J. Atallah, editor, Algorithms and Theory of Computation Handbook, chapter 8. CRC Press, 1999.
 
20
R. L. Graham. An efficient algorithm for determining the convex hull of a finite planar set. Information Processing Letters, 1:132--133, 1972.
21
 
22
 
23
24
25
 
26
J. McCarthy. A Basis for a Mathematical Theory of Computation. In P. Braffort and D. Hirschberg, editors, Computer Programming and Formal Systems, pages 33- 70. North-Holland, Amsterdam, 1963.
 
27
D. Michie. Memo functions and machine learning. Nature, 218:19--22, 1968.
 
28
M. H. Overmans and J. van Leeuwen. Maintenance of configurations in the plane. Journal of Computer and System Sciences, 23:166--204, 1981.
 
29
W. Pugh. Incremental computation via function caching. PhD thesis, Department of Computer Science, Cornell University, August 1988.
30
31
32
 
33
 
34
R. Wenger. Randomized quickhull. Algorithmica, 17(3):322--329, 1997.

CITED BY  9

Collaborative Colleagues:
Umut A. Acar: colleagues
Guy E. Blelloch: colleagues
Matthias Blume: colleagues
Kanat Tangwongsan: colleagues