Proceedings Article10.1145/1806596.1806650
Traceable data types for self-adjusting computation
Umut A. Acar,Guy E. Blelloch,Ruy Ley-Wild,Kanat Tangwongsan,Duru Türkoglu +4 more
- 05 Jun 2010
- Vol. 45, Iss: 6, pp 483-496
TL;DR: A semantics for tracing is developed, an existing self-adjusting language, ΔML, and its implementation are extended to support traceable data types, and an experimental evaluation is presented by considering a number of benchmarks.
read more
Abstract: Self-adjusting computation provides an evaluation model where computations can respond automatically to modifications to their data by using a mechanism for propagating modifications through the computation. Current approaches to self-adjusting computation guarantee correctness by recording dependencies in a trace at the granularity of individual memory operations. Tracing at the granularity of memory operations, however, has some limitations: it can be asymptotically inefficient (\eg, compared to optimal solutions) because it cannot take advantage of problem-specific structure, it requires keeping a large computation trace (often proportional to the runtime of the program on the current input), and it introduces moderately large constant factors in practice.In this paper, we extend dependence-tracing to work at the granularity of the query and update operations of arbitrary (abstract) data types, instead of just reads and writes on memory cells. This can significantly reduce the number of dependencies that need to be kept in the trace and followed during an update. We define an interface for supporting a traceable version of a data type, which reports the earliest query that depends on (is changed by) revising operations back in time, and implement several such structures, including priority queues, queues, dictionaries, and counters. We develop a semantics for tracing, extend an existing self-adjusting language, ΔML, and its implementation to support traceable data types, and present an experimental evaluation by considering a number of benchmarks. Our experiments show dramatic improvements on space and time, sometimes by as much as two orders of magnitude.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
A Basis for a Mathematical Theory of Computation
John J. McCarthy
- 30 Dec 1899
TL;DR: In this paper, the mathematical theory of computation is discussed and several descriptive formalisms with a few examples of their use and theories that enable to prove the equivalence of computations expressed in these formalisms are also presented.
509
Slider: incremental sliding window analytics
Pramod Bhatotia,Umut A. Acar,Flavio Junqueira,Rodrigo Rodrigues +3 more
- 08 Dec 2014
TL;DR: This paper presents self-adjusting contraction trees, a set of data structures and algorithms for transparently updating the output of a sliding window computation as the window moves, while reusing, to the extent possible, results from prior computations.
Two for the price of one: a model for parallel and incremental computation
Sebastian Burckhardt,Daan Leijen,Caitlin Sadowski,Jaeheon Yi,Thomas Ball +4 more
- 22 Oct 2011
TL;DR: This work presents a novel algorithm for parallel self-adjusting computation that extends a deterministic parallel programming model with support for recording and repeating computations and describes programming techniques that proved particularly useful to improve the performance of self- adjustment in practice.
Large-scale incremental data processing with change propagation
Pramod Bhatotia,Alexander Wieder,Istemi Ekin Akkus,Rodrigo Rodrigues,Umut A. Acar +4 more
- 14 Jun 2011
TL;DR: This work describes how Map Reduce can be improved to efficiently handle small input changes by automatically incrementalizing existing MapReduce computations, without breaking backward compatibility or demanding programmers to adopt a new programming approach.
Higher-Order reactive programming with incremental lists
Ingo Maier,Martin Odersky +1 more
- 01 Jul 2013
TL;DR: This work presents a framework, Scala.React, with reactive abstractions for event streams, time-varying values as well as an incremental reactive list that automatically propagates incremental changes and guarantees strong data consistency.
47
References
The quickhull algorithm for convex hulls
TL;DR: This article presents a practical convex hull algorithm that combines the two-dimensional Quickhull algorithm with the general-dimension Beneath-Beyond Algorithm, and provides empirical evidence that the algorithm runs faster when the input contains nonextreme points and that it used less memory.
A Basis for a Mathematical Theory of Computation
John J. McCarthy
- 01 Jan 1962
TL;DR: The chapter explores what practical results can be expected from a suitable mathematical theory and presents several descriptive formalisms with a few examples of their use and theories that enable to prove the equivalence of computations expressed in these formalisms.
•Book
Priority queues
N. K. Jaiswal
- 01 Jan 1968
TL;DR: This interface is suitable for dealing with the line-like-behavior that the system needs to manage, but it ought to require that dequeue return the highest priority item in the queue, regardless of how long it has been in the structure.
691
“Memo” Functions and Machine Learning
TL;DR: A simple but effective rote-learning facility can be provided within the framework of a suitable programming language to improve the efficiency of computer programs during execution.
609
A Basis for a Mathematical Theory of Computation
John J. McCarthy
- 30 Dec 1899
TL;DR: In this paper, the mathematical theory of computation is discussed and several descriptive formalisms with a few examples of their use and theories that enable to prove the equivalence of computations expressed in these formalisms are also presented.
509
Related Papers (5)
Conal Elliott,Paul Hudak +1 more
- 01 Aug 1997
Matthew A. Hammer,Umut A. Acar,Yan Chen +2 more
- 15 Jun 2009
Robert Harper
- 13 Jul 2004