Advertisement

Between Linearizability and Quiescent Consistency

Quantitative Quiescent Consistency
  • Radha Jagadeesan
  • James Riely
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8573)

Abstract

Linearizability is the de facto correctness criterion for concurrent data structures. Unfortunately, linearizability imposes a performance penalty which scales linearly in the number of contending threads. Quiescent consistency is an alternative criterion which guarantees that a concurrent data structure behaves correctly when accessed sequentially. Yet quiescent consistency says very little about executions that have any contention.

We define quantitative quiescent consistency (QQC), a relaxation of linearizability where the degree of relaxation is proportional to the degree of contention. When quiescent, no relaxation is allowed, and therefore QQC refines quiescent consistency, unlike other proposed relaxations of linearizability. We show that high performance counters and stacks designed to satisfy quiescent consistency continue to satisfy QQC. The precise assumptions under which QQC holds provides fresh insight on these structures. To demonstrate the robustness of QQC, we provide three natural characterizations and prove compositionality.

Keywords

Partial Order Operational Trace Full Paper Sequential Trace Open Call 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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)CrossRefGoogle Scholar
  2. 2.
    Aiello, W., Busch, C., Herlihy, M., et al.: Supporting increment and decrementoperations in balancing networks. Chicago J. Theor. Comput. Sci. (2000)Google Scholar
  3. 3.
    Aspnes, J., Herlihy, M., Shavit, N.: Counting networks. J. ACM 41(5), 1020–1048 (1994)CrossRefzbMATHMathSciNetGoogle Scholar
  4. 4.
    Batty, M., Dodds, M., Gotsman, A.: Library abstraction for C/C++ concurrency. In: POPL (2013)Google Scholar
  5. 5.
    Busch, C., Mavronicolas, M.: The strength of counting networks (abstract). In: Burns, J.E., Moses, Y. (eds.) PODC, p. 311. ACM (1996)Google Scholar
  6. 6.
    Dwork, C., Herlihy, M., Waarts, O.: Contention in shared memory algorithms. J. ACM 44(6), 779–805 (1997)CrossRefzbMATHMathSciNetGoogle Scholar
  7. 7.
    Haas, A., Lippautz, M., Henzinger, T.A., et al.: Distributed queues in shared memory. In: Conf. Computing Frontiers, p. 17. ACM (2013)Google Scholar
  8. 8.
    Hendler, D., Incze, I., Shavit, N., Tzafrir, M.: Flat combining and the synchronization-parallelism tradeoff. In: SPAA, pp. 355–364 (2010)Google Scholar
  9. 9.
    Henzinger, T.A., Kirsch, C.M., Payer, H., Sezgin, A., Sokolova, A.: Quantitative relaxation of concurrent data structures. In: POPL, pp. 317–328 (2013)Google Scholar
  10. 10.
    Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann (2008)Google Scholar
  11. 11.
    Herlihy, M., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM TOPLAS 12(3), 463–492 (1990)CrossRefGoogle Scholar
  12. 12.
    Lamport, L.: How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. Comput. 28(9), 690–691 (1979)CrossRefzbMATHGoogle Scholar
  13. 13.
    Sezgin, A.: Private correspondence (March 18, 2014)Google Scholar
  14. 14.
    Shavit, N.: Data structures in the multicore age. Commun. ACM 54(3), 76–84 (2011)CrossRefGoogle Scholar
  15. 15.
    Shavit, N., Touitou, D.: Elimination trees and the construction of pools and stacks (preliminary version). In: SPAA, pp. 54–63 (1995)Google Scholar
  16. 16.
    Shavit, N., Touitou, D.: Elimination trees and the construction of pools and stacks. Theory Comput. Syst. 30(6), 645–670 (1997)zbMATHMathSciNetGoogle Scholar
  17. 17.
    Shavit, N., Zemach, A.: Diffracting trees. ACM Trans. Comput. Syst. 14(4), 385–428 (1996)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Radha Jagadeesan
    • 1
  • James Riely
    • 1
  1. 1.DePaul UniversityUSA

Personalised recommendations