|
ABSTRACT
Many applications need to respond to incremental modifications to data. Being incremental, such modification often require incremental modifications to the output, making it possible to respond to them asymptotically faster than recomputing from scratch. In many cases, taking advantage of incrementality therefore dramatically improves performance, especially as the input size increases. As a frame of reference, note that in parallel computing speedups are bounded by the number of processors, often a (small) constant. Designing and developing applications that respond to incremental modifications, however, is challenging: it often involves developing highly specific, complex algorithms. Self-adjusting computation offers a linguistic approach to this problem. In self-adjusting computation, programs respond automatically and efficiently to modifications to their data by tracking the dynamic data dependences of the computation and incrementally updating their output as needed. In this invited talk, I present an overview of self-adjusting computation and briefly discuss the progress in developing the approach and present some recent advances.
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
|
MLton. http://mlton.org/.
|
| |
2
|
|
 |
3
|
|
 |
4
|
Umut A. Acar , Guy E. Blelloch , Matthias Blume , Kanat Tangwongsan, An experimental analysis of self-adjusting computation, Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation, June 11-14, 2006, Ottawa, Ontario, Canada
|
 |
5
|
|
| |
6
|
Umut A. Acar , Guy E. Blelloch , Robert Harper , Jorge L. Vittes , Shan Leung Maverick Woo, Dynamizing static algorithms, with applications to dynamic trees and history independence, Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms, January 11-14, 2004, New Orleans, Louisiana
|
| |
7
|
|
| |
8
|
Umut A. Acar , Guy E. Blelloch , Kanat Tangwongsan , Jorge L. Vittes, Kinetic algorithms via self-adjusting computation, Proceedings of the 14th conference on Annual European Symposium, p.636-647, September 11-13, 2006, Zurich, Switzerland
[doi> 10.1007/11841036_57]
|
| |
9
|
Umut A. Acar, Guy E. Blelloch, and Jorge L. Vittes. An experimental analysis of change propagation in dynamic trees. In Workshop on Algorithm Engineering and Experimentation (ALENEX), 2005.
|
| |
10
|
Umut A. Acar, Matthias Blume, and Jacob Donham. A consistent semantics of self-adjusting computation. In Proceedings of the 16th Annual European Symposium on Programming (ESOP), 2007.
|
| |
11
|
Umut A. Acar, Benoit Hudson, Kanat Tangwongsan, and Duru Turkoglu. Maintaining well-spaced point sets under dynamic changes, November 2008. In preparation.
|
| |
12
|
Umut A. Acar, Alexander Ihler, Ramgopal Mettu, and Ozgur Sumer. Adaptive Bayesian Inference. In Neural Information Processing Systems (NIPS), 2007.
|
| |
13
|
Umut A. Acar, Alexander Ihler, Ramgopal Mettu, and Ozgur Sumer. Adaptive Inference on General Graphical Models. In Uncertainty in Artificial Intelligence (UAI), 2008.
|
 |
14
|
Pankaj K. Agarwal , Leonidas J. Guibas , Herbert Edelsbrunner , Jeff Erickson , Michael Isard , Sariel Har-Peled , John Hershberger , Christian Jensen , Lydia Kavraki , Patrice Koehl , Ming Lin , Dinesh Manocha , Dimitris Metaxas , Brian Mirtich , David Mount , S. Muthukrishnan , Dinesh Pai , Elisha Sacks , Jack Snoeyink , Subhash Suri , Ouri Wolefson, Algorithmic issues in modeling motion, ACM Computing Surveys (CSUR), v.34 n.4, p.550-572, December 2002
[doi> 10.1145/592642.592647]
|
| |
15
|
David Eppstein, Zvi Galil, and Giuseppe F. Italiano. Dynamic graph algorithms. In Mikhail J. Atallah, editor, Algorithms and Theory of Computation Handbook, chapter 8. CRC Press, 1999.
|
 |
16
|
Matthew Hammer , Umut A. Acar , Mohan Rajagopalan , Anwar Ghuloum, A proposal for parallel self-adjusting computation, Proceedings of the 2007 workshop on Declarative aspects of multicore programming, p.3-9, January 16-16, 2007, Nice, France
[doi> 10.1145/1248648.1248651]
|
 |
17
|
|
| |
18
|
Matthew A. Hammer, Umut A. Acar, and Yan Chen. CEAL: A C-based language for self-adjusting computation. Technical report, Toyota Technological Institute, November 2008.
|
| |
19
|
|
 |
20
|
|
 |
21
|
|
| |
22
|
|
| |
23
|
|
 |
24
|
|
| |
25
|
|
INDEX TERMS
Primary Classification:
D.
Software
D.3
PROGRAMMING LANGUAGES
D.3.1
Formal Definitions and Theory
Subjects:
Semantics
General Terms:
Algorithms,
Design,
Experimentation,
Languages,
Performance
Keywords:
asymptotic complexity,
change propagation,
compilers,
continuations,
dependence graphs,
incremental modification,
language design,
performance,
self-adjusting computation
|