Earlier Version

Quantitative synthesis for concurrent programs

K. Chatterjee, P. Cerny, T.A. Henzinger, A. Radhakrishna, R. Singh, Quantitative Synthesis for Concurrent Programs, IST Austria, 2010.

Download
OA 429.10 KB

Technical Report | Published | English
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
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.
Main File(s)
Access Level
OA Open Access
Last Uploaded
2018-12-12T11:53:53Z


Material in IST:
Later Version

Export

Marked Publications

Open Data IST Research Explorer

Search this title in

Google Scholar