Abstract
We propose a relaxation scheme for defining specifications of relaxed data structures. It can produce a relaxed specification parameterized with a specification of a standard data structure, a transition cost function and a relaxation strategy represented by a finite automaton. We show that this relaxation scheme can cover the known specifications of typical relaxed queues and stacks.
We then propose a method to reduce a relaxed specification defined under the relaxation scheme into a finite number of finite automata called witness automata. By applying this method we prove that the specifications of typical relaxed queues and stacks can be equivalently characterized by a finite number of witness automata. Thus, the problem whether a relaxed queue or stack is linearizable with respect to its relaxed specification can be efficiently checked through automata-theoretic approaches. Moreover, all these witness automata can be generated automatically. In this way, our relaxation scheme can well balance the expressiveness of relaxation strategies with the complexity of verification.
This work is partially supported by the National Natural Science Foundation of China under Grants No. 60721061, No. 60833001, No. 61672504, No. 61572478, No. 61672503, No. 61100069, and No. 61161130530.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Abdulla, P.A., Haziza, F., Holík, L., Jonsson, B., Rezine, A.: An integrated specification and verification technique for highly concurrent data structures. In: Piterman, N., Smolka, S.A. (eds.) TACAS 2013. LNCS, vol. 7795, pp. 324–338. Springer, Heidelberg (2013). doi:10.1007/978-3-642-36742-7_23
Adhikari, K., Street, J., Wang, C., Liu, Y., Zhang, S.J.: Verifying a quantitative relaxation of linearizability via refinement. In: Bartocci, E., Ramakrishnan, C.R. (eds.) SPIN 2013. LNCS, vol. 7976, pp. 24–42. Springer, Heidelberg (2013). doi:10.1007/978-3-642-39176-7_3
Afek, Y., Korland, G., Yanovsky, E.: Quasi-linearizability: relaxed consistency for improved concurrency. In: Lu, C., Masuzawa, T., Mosbah, M. (eds.) OPODIS 2010. LNCS, vol. 6490, pp. 395–410. Springer, Heidelberg (2010). doi:10.1007/978-3-642-17653-1_29
Bouajjani, A., Emmi, M., Enea, C., Hamza, J.: On reducing linearizability to state reachability. In: Halldórsson, M.M., Iwama, K., Kobayashi, N., Speckmann, B. (eds.) ICALP 2015. LNCS, vol. 9135, pp. 95–107. Springer, Heidelberg (2015). doi:10.1007/978-3-662-47666-6_8
Bouajjani, A., Emmi, M., Enea, C., Hamza, J.: Verifying concurrent programs against sequential specifications. In: Felleisen, M., Gardner, P. (eds.) ESOP 2013. LNCS, vol. 7792, pp. 290–309. Springer, Heidelberg (2013). doi:10.1007/978-3-642-37036-6_17
Haas, A., Lippautz, M., Henzinger, T.A., Payer, H., Sokolova, A., Kirsch, C.M., Sezgin, A.: Distributed queues in shared memory: multicore performance and scalability through quantitative relaxation. In: CF 2013, p. 17: 1–17: 9 (2013)
Henzinger, T.A., Kirsch, C.M., Payer, H., Sezgin, A., Sokolova, A.: Quantitative relaxation of concurrent data structures. POPL 2013, 317–328 (2013)
Henzinger, T.A., Sezgin, A., Vafeiadis, V.: Aspect-Oriented Linearizability Proofs. In: D’Argenio, P.R., Melgratti, H. (eds.) CONCUR 2013. LNCS, vol. 8052, pp. 242–256. Springer, Heidelberg (2013). doi:10.1007/978-3-642-40184-8_18
Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)
Kirsch, C.M., Lippautz, M., Payer, H.: Fast and scalable, lock-free k-FIFO queues. In: Malyshkin, V. (ed.) PaCT 2013. LNCS, vol. 7979, pp. 208–223. Springer, Heidelberg (2013). doi:10.1007/978-3-642-39958-9_18
Kirsch, C.M., Payer, H., Röck, H., Sokolova, A.: Performance, scalability, and semantics of concurrent FIFO queues. In: ICA3p. 2012, Part I, pp. 273–287 (2012)
Liang, H., Feng, X.: Modular verification of linearizability with non-fixed linearization points. PLDI 2013, 459–470 (2013)
Michael, M.M., Scott, M.L.: Simple, fast, and practical non-blocking and blocking concurrent queue algorithms. PODC 1996, 267–275 (1996)
Wang, C., Lv, Y., Wu, P.: Decomposable relaxation for concurrent data structures. Technical report ISCAS-SKLCS-16-01, State Key Laboratory of Computer Science, ISCAS, CAS (2016). http://lcs.ios.ac.cn/ lvyi/files/ISCAS-SKLCS-16-01.pdf
Wang, C., Lv, Y., Liu, G., Wu, P.: Quasi-linearizability is undecidable. In: Feng, X., Park, S. (eds.) APLAS 2015. LNCS, vol. 9458, pp. 369–386. Springer, Heidelberg (2015). doi:10.1007/978-3-319-26529-2_20
Wolper, P.: Expressing interesting properties of programs in propositional temporal logic. POPL 18986, 184–193 (1986)
Zhang, L., Chattopadhyay, A., Wang, C.: Round-up: runtime checking quasi linearizability of concurrent data structures. ASE 2013, 4–14 (2013)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Wang, C., Lv, Y., Wu, P. (2017). Decomposable Relaxation for Concurrent Data Structures. In: Steffen, B., Baier, C., van den Brand, M., Eder, J., Hinchey, M., Margaria, T. (eds) SOFSEM 2017: Theory and Practice of Computer Science. SOFSEM 2017. Lecture Notes in Computer Science(), vol 10139. Springer, Cham. https://doi.org/10.1007/978-3-319-51963-0_15
Download citation
DOI: https://doi.org/10.1007/978-3-319-51963-0_15
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-51962-3
Online ISBN: 978-3-319-51963-0
eBook Packages: Computer ScienceComputer Science (R0)