Advertisement

Nonblocking Algorithms and Backward Simulation

  • Simon Doherty
  • Mark Moir
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5805)

Abstract

Optimistic and nonblocking concurrent algorithms are increasingly finding their way into practical use; an important example is software transactional memory implementations. Such algorithms are notoriously difficult to design and verify as correct, and we believe complete, formal, and machine-checked correctness proofs for such algorithms are critical. We have been studying the use of automated tools such as the PVS theorem proving system to model algorithms and their specifications using formalisms such as I/O automata, and using simulation proof techniques to show the algorithms implement their specifications. While it has been relatively rare in the past, optimistic and nonblocking algorithms often require a special flavour of simulation proof, known as backward simulation. In this paper, we present what we believe is by far the most challenging backward simulation proof achieved to date; this proof was developed and completely checked using PVS.

Keywords

Forward Simulation Simulation Relation Proof Script Concurrent Algorithm Push Operation 
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.
    Colvin, R., Groves, L., Luchangco, V., Moir, M.: Formal verification of a lazy concurrent list-based set algorithm. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 475–488. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  2. 2.
    Detlefs, D., Flood, C.H., Garthwaite, A., Martin, P., Shavit, N.N., Steele Jr., G.L.: Even better DCAS-based concurrent deques. In: Proceedings of the 14th International Conference on Distributed Computing, pp. 59–73. IEEE Computer Society Press, Los Alamitos (2000)Google Scholar
  3. 3.
    Doherty, S., Detlefs, D., Groves, L., Flood, C., Luchangco, V., Martin, P., Moir, M., Shavit, N., Steele Jr., G.L.: DCAS is not a silver bullet for nonblocking synchronization. In: Proceedings of the Sixteenth ACM Symposium on Parllelism in Algorithms and Architectures. ACM Press, New York (2004)Google Scholar
  4. 4.
    Doherty, S., Groves, L., Luchangco, V., Moir, M.: Formal verification of a practical lock-free queue algorithm. In: de Frutos-Escrig, D., Núñez, M. (eds.) FORTE 2004. LNCS, vol. 3235, pp. 97–114. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  5. 5.
    Gao, H., Groote, J., Hesselink, W.H.: Lock-free resizable hash-tables with open addressing. Distributed Computing 18(1) (July 2005)Google Scholar
  6. 6.
    Herlihy, M.P., Wing, J.M.: Linearizability: A correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems 12(3), 463–492 (1990)CrossRefGoogle Scholar
  7. 7.
    Lamport, L.: Checking a multithreaded algorithm with +CAL. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 151–163. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  8. 8.
    Lynch, N., Tuttle, M.: Hierarchical correctness proofs for distributed algorithms. In: Proceedings of the Sixth Annual ACM Symposium on Principles of Distributed Computing, pp. 137–151. ACM Press, New York (1987)CrossRefGoogle Scholar
  9. 9.
    Lynch, N., Vaandrager, F.: Forward and backward simulations, i: Untimed systems. Information and Computation 121(2), 214–233 (1995)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann Publishers Inc., San Francisco (1996)zbMATHGoogle Scholar
  11. 11.
    Søgaard-Andersen, J.F., Garland, S.J., Guttag, J.V., Lynch, N.A., Pogosyants, A.: Computer-assisted simulation proofs. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 305–319. Springer, Heidelberg (1993)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Simon Doherty
    • 1
  • Mark Moir
    • 2
  1. 1.Victoria UniversityWellingtonNew Zealand
  2. 2.Sun Microsystems LaboratoriesBurlington

Personalised recommendations