Skip to main content

On the absence of livelocks in parallel programs

Part of the Lecture Notes in Computer Science book series (LNCS,volume 70)

Abstract

We explore in this paper the subtle correctness criterion of the absence of livelocks in parallel programs. The basic concepts underlying livelocks are formalized. A classification of livelocks into two types according to their causes of formation is introduced. Two techniques for proving the absence of livelocks are also presented. One is based on the notion of problem reduction; the other is an extension of the well-founded set method for proving termination in sequential programs.

Keywords

  • Parallel Program
  • State Sequence
  • Reachable State
  • Instruction Pointer
  • Place Node

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.

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/BFb0022469
  • Chapter length: 19 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   39.99
Price excludes VAT (USA)
  • ISBN: 978-3-540-35163-4
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   49.99
Price excludes VAT (USA)

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ashcroft, E. A.: Proving assertions about parallel programs. J. Comp. Sys. Sci., 10, 1 (Jan., 1975), 110–135.

    Google Scholar 

  2. Courtois, P. J., Heymans, F. and Parnas, D. L.: Concurrent control with "readers" and "writers." Comm. ACM, 14, 10 (Oct., 1971), 667–668.

    CrossRef  Google Scholar 

  3. Dijkstra, E. W.: Solution of a problem in concurrent programming control. Comm. ACM, 8, 9 (Sept., 1965), 569.

    CrossRef  Google Scholar 

  4. Dijkstra, E. W.: Hierarchical ordering of sequential processes. Acta Informatica, 1, 2(Oct., 1971), 115–138.

    CrossRef  Google Scholar 

  5. Floyd, R. W.: Assigning meanings to programs. Proc. Symp. in Applied Math., 19, American Math. Society (1967), 19–32.

    Google Scholar 

  6. Holt, R. C.: Comments on prevention of system deadlocks. Comm. ACM, 14, 1(Jan., 1971), 36–38.

    CrossRef  Google Scholar 

  7. Karp, R. M. and Miller R. E.: Parallel program schemata. J. Comp. Sys. Sci., 3(May, 1969), 147–195.

    Google Scholar 

  8. Keller, R. M.: Parallel program schemata and maximal parallelism. J. ACM, 20, 3(July, 1973), 514–537; and J. ACM, 20, 4(Oct., 1973), 696–710.

    CrossRef  Google Scholar 

  9. Keller, R. M.: A fundamental theorem of asynchronous parallel computation. Parallel Processing, T. Y. Feng (ed.), Springer-Verlag, Berlin (1975).

    Google Scholar 

  10. Keller, R. M.: Formal verification of parallel programs. Comm. ACM, 19, 7(July, 1976), 371–384.

    CrossRef  Google Scholar 

  11. Knuth, D. E.: Additional comments on a problem in concurrent programming control. Comm. ACM, 9, 5(May, 1966), 321–322.

    CrossRef  Google Scholar 

  12. Kwong, Y. S.: On reduction of asynchronous systems. Theoretical Computer Science, 5(1977), 25–50.

    CrossRef  Google Scholar 

  13. Kwong, Y. S.: On reductions and livelocks in asynchronous parallel computation. Ph.D. Dissertation, Dept. of Electrical Engineering and Computer Science, Princeton University, Princeton, N. J. 08540 (1978).

    Google Scholar 

  14. Kwong, Y. S.: Livelocks in parallel programs. Parts I and II. Technical reports 78-CS-15 & 16. Dept. of Applied Math., McMaster University (August, 1978).

    Google Scholar 

  15. Lamport, L.: Proving the correctness of multiprocess program. IEEE Trans. Software Engineering, SE-3, 2(March, 1977), 125–143.

    Google Scholar 

  16. van Lamsweerde, A. and Sintzoff, M.: Formal derivation of strongly correct parallel programs. Report R338, M.B.L.E. Research Laboratory, Brussel, Belgium (Oct., 1976).

    Google Scholar 

  17. Lipton, R. J.: Reduction: A method of proving properties of parallel programs. Comm. ACM, 18, 12(Dec., 1975), 717–721.

    CrossRef  Google Scholar 

  18. Rosen, B. K.: Correctness of parallel programs: The Church-Rosser approach. Theoretical Computer Science, 2(1976), 183–207.

    CrossRef  Google Scholar 

  19. Slutz, D.: The flow graph schemata model of parallel computation. Rep. MAC-TR-53 (Thesis), MIT project MAC (Sept., 1968).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 1979 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kwong, Y.S. (1979). On the absence of livelocks in parallel programs. In: Kahn, G. (eds) Semantics of Concurrent Computation. Lecture Notes in Computer Science, vol 70. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0022469

Download citation

  • DOI: https://doi.org/10.1007/BFb0022469

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-09511-8

  • Online ISBN: 978-3-540-35163-4

  • eBook Packages: Springer Book Archive