Earlier Version
Quantitative synthesis for concurrent programs
Chatterjee K, Cerny P, Henzinger TA, Radhakrishna A, Singh R. 2010. Quantitative synthesis for concurrent programs, IST Austria, 17p.
Download
Technical Report
| Published
| English
Author
Chatterjee, KrishnenduISTA ;
Cerny, PavolISTA;
Henzinger, Thomas AISTA ;
Radhakrishna, ArjunISTA;
Singh, Rohit
Department
Series Title
IST Austria Technical Report
Abstract
We present an algorithmic method for the synthesis of concurrent programs that are optimal with respect to quantitative performance measures. The input consists of a sequential sketch, that is, a program that does not contain synchronization constructs, and of a parametric performance model that assigns costs to actions such as locking, context switching, and idling. The quantitative synthesis problem is to automatically introduce synchronization constructs into the sequential sketch so that both correctness is guaranteed and worst-case (or average-case) performance is optimized. Correctness is formalized as race freedom or linearizability.
We show that for worst-case performance, the problem can be modeled
as a 2-player graph game with quantitative (limit-average) objectives, and
for average-case performance, as a 2 1/2 -player graph game (with probabilistic transitions). In both cases, the optimal correct program is derived from an optimal strategy in the corresponding quantitative game. We prove that the respective game problems are computationally expensive (NP-complete), and present several techniques that overcome the theoretical difficulty in cases of concurrent programs of practical interest.
We have implemented a prototype tool and used it for the automatic syn- thesis of programs that access a concurrent list. For certain parameter val- ues, our method automatically synthesizes various classical synchronization schemes for implementing a concurrent list, such as fine-grained locking or a lazy algorithm. For other parameter values, a new, hybrid synchronization style is synthesized, which uses both the lazy approach and coarse-grained locks (instead of standard fine-grained locks). The trade-off occurs because while fine-grained locking tends to decrease the cost that is due to waiting for locks, it increases cache size requirements.
Publishing Year
Date Published
2010-10-07
Publisher
IST Austria
Page
17
ISSN
IST-REx-ID
Cite this
Chatterjee K, Cerny P, Henzinger TA, Radhakrishna A, Singh R. Quantitative Synthesis for Concurrent Programs. IST Austria; 2010. doi:10.15479/AT:IST-2010-0004
Chatterjee, K., Cerny, P., Henzinger, T. A., Radhakrishna, A., & Singh, R. (2010). Quantitative synthesis for concurrent programs. IST Austria. https://doi.org/10.15479/AT:IST-2010-0004
Chatterjee, Krishnendu, Pavol Cerny, Thomas A Henzinger, Arjun Radhakrishna, and Rohit Singh. Quantitative Synthesis for Concurrent Programs. IST Austria, 2010. https://doi.org/10.15479/AT:IST-2010-0004.
K. Chatterjee, P. Cerny, T. A. Henzinger, A. Radhakrishna, and R. Singh, Quantitative synthesis for concurrent programs. IST Austria, 2010.
Chatterjee K, Cerny P, Henzinger TA, Radhakrishna A, Singh R. 2010. Quantitative synthesis for concurrent programs, IST Austria, 17p.
Chatterjee, Krishnendu, et al. Quantitative Synthesis for Concurrent Programs. IST Austria, 2010, doi:10.15479/AT:IST-2010-0004.
All files available under the following license(s):
Copyright Statement:
This Item is protected by copyright and/or related rights. [...]
Main File(s)
File Name
IST-2010-0004_IST-2010-0004.pdf
429.10 KB
Access Level
Open Access
Date Uploaded
2018-12-12
MD5 Checksum
da38782d2388a6fa32109d10bb9bad67