Open Access
Concurrent data representation synthesis
Peter Hawkins,Alex Aiken,Kathleen Fisher,Martin Rinard,Mooly Sagiv +4 more
- 01 Jun 2012
3
TL;DR: In this paper, a compiler takes as input a program written using concurrent relations and synthesizes a representation of the relations as sets of cooperating data structures as well as the placement and acquisition of locks to synchronize concurrent access to those data structures.
read more
Abstract: We describe an approach for synthesizing data representations for concurrent programs. Our compiler takes as input a program written using concurrent relations and synthesizes a representation of the relations as sets of cooperating data structures as well as the placement and acquisition of locks to synchronize concurrent access to those data structures. The resulting code is correct by construction: individual relational operations are implemented correctly and the aggregate set of operations is serializable and deadlock free. The relational specification also permits a high-level optimizer to choose the best performing of many possible legal data representations and locking strategies, which we demonstrate with an experiment autotuning a graph benchmark.
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
Data representation synthesis
Peter Hawkins,Alex Aiken,Kathleen Fisher,Martin Rinard,Mooly Sagiv +4 more
- 01 Jun 2011
TL;DR: A language of decompositions that permit the user to specify different concrete representations for relations, and it is shown that operations on concrete representations soundly implement their relational specification.
54
•Posted Content
Synthesis of Property-Preserving Platform Mappings
TL;DR: This paper provides a formalization of the synthesis problem, and proposes a technique for synthesizing a mapping based on symbolic constraint search, and describes the prototype implementation and a case study demonstrating the application of the technique to synthesizing secure platform mappings for OAuth.
2
Cloud computing based load balancing algorithm for erlang concurrent traffic
TL;DR: The proposed load balancing algorithm for Erlang concurrent tasks (those are and could also be autonomous and unstable.) on VMware workstations is introduced and results based on the proposed method are compared to the existing ones to investigate the fit efficiency.
References
Linearizability: a correctness condition for concurrent objects
TL;DR: This paper defines linearizability, compares it to other correctness conditions, presents and demonstrates a method for proving the correctness of implementations, and shows how to reason about concurrent objects, given they are linearizable.
The notions of consistency and predicate locks in a database system
TL;DR: It is argued that a transaction needs to lock a logical rather than a physical subset of the database, and an implementation of predicate locks which satisfies the consistency condition is suggested.
Software transactional memory
Nir N. Shavit,Dan Touitou +1 more
- 20 Aug 1995
TL;DR: STM is used to provide a general highly concurrent method for translating sequential object implementations to non-blocking ones based on implementing a k-word compare&swap STM-transaction, a novel software method for supporting flexible transactional programming of synchronization operations.
Automated feedback generation for introductory programming assignments
Rishabh Singh,Sumit Gulwani,Armando Solar-Lezama +2 more
- 16 Jun 2013
TL;DR: A simple language for describing error models in terms of correction rules is introduced, and a rule-directed translation strategy is formally defined that reduces the problem of finding minimal corrections in an incorrect program to the problems of synthesizing a correct program from a sketch.
Programming by Refinement, as Exemplified by the SETL Representation Sublanguage
TL;DR: The facilities provided by the representation sublanguage and the run-time data structures that it can generate are described and a heuristic which uses some of the methods of global program analysis and which should be capable of selecting an acceptably efficient representation automatically is given.
107