Quantitative relaxation of concurrent data structures
Henzinger TA, Kirsch C, Payer H, Sezgin A, Sokolova A. 2013. Quantitative relaxation of concurrent data structures. Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming language. POPL: Principles of Programming Languages, 317–328.
Download
Conference Paper
| Published
| English
Scopus indexed
Author
Department
Abstract
There is a trade-off between performance and correctness in implementing concurrent data structures. Better performance may be achieved at the expense of relaxing correctness, by redefining the semantics of data structures. We address such a redefinition of data structure semantics and present a systematic and formal framework for obtaining new data structures by quantitatively relaxing existing ones. We view a data structure as a sequential specification S containing all "legal" sequences over an alphabet of method calls. Relaxing the data structure corresponds to defining a distance from any sequence over the alphabet to the sequential specification: the k-relaxed sequential specification contains all sequences over the alphabet within distance k from the original specification. In contrast to other existing work, our relaxations are semantic (distance in terms of data structure states). As an instantiation of our framework, we present two simple yet generic relaxation schemes, called out-of-order and stuttering relaxation, along with several ways of computing distances. We show that the out-of-order relaxation, when further instantiated to stacks, queues, and priority queues, amounts to tolerating bounded out-of-order behavior, which cannot be captured by a purely syntactic relaxation (distance in terms of sequence manipulation, e.g. edit distance). We give concurrent implementations of relaxed data structures and demonstrate that bounded relaxations provide the means for trading correctness for performance in a controlled way. The relaxations are monotonic which further highlights the trade-off: increasing k increases the number of permitted sequences, which as we demonstrate can lead to better performance. Finally, since a relaxed stack or queue also implements a pool, we actually have new concurrent pool implementations that outperform the state-of-the-art ones.
Publishing Year
Date Published
2013-01-01
Proceedings Title
Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming language
Publisher
ACM
Acknowledgement
and an Elise Richter Fellowship (Austrian Science Fund V00125).
Page
317 - 328
Conference
POPL: Principles of Programming Languages
Conference Location
Rome, Italy
Conference Date
2013-01-23 – 2013-01-25
ISBN
IST-REx-ID
Cite this
Henzinger TA, Kirsch C, Payer H, Sezgin A, Sokolova A. Quantitative relaxation of concurrent data structures. In: Proceedings of the 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Language. ACM; 2013:317-328. doi:10.1145/2429069.2429109
Henzinger, T. A., Kirsch, C., Payer, H., Sezgin, A., & Sokolova, A. (2013). Quantitative relaxation of concurrent data structures. In Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming language (pp. 317–328). Rome, Italy: ACM. https://doi.org/10.1145/2429069.2429109
Henzinger, Thomas A, Christoph Kirsch, Hannes Payer, Ali Sezgin, and Ana Sokolova. “Quantitative Relaxation of Concurrent Data Structures.” In Proceedings of the 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Language, 317–28. ACM, 2013. https://doi.org/10.1145/2429069.2429109.
T. A. Henzinger, C. Kirsch, H. Payer, A. Sezgin, and A. Sokolova, “Quantitative relaxation of concurrent data structures,” in Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming language, Rome, Italy, 2013, pp. 317–328.
Henzinger TA, Kirsch C, Payer H, Sezgin A, Sokolova A. 2013. Quantitative relaxation of concurrent data structures. Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming language. POPL: Principles of Programming Languages, 317–328.
Henzinger, Thomas A., et al. “Quantitative Relaxation of Concurrent Data Structures.” Proceedings of the 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Language, ACM, 2013, pp. 317–28, doi:10.1145/2429069.2429109.
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
Access Level
Open Access
Date Uploaded
2018-12-12
MD5 Checksum
adf465e70948f4e80e48057524516456