Distributed Computing

, Volume 21, Issue 3, pp 163–181 | Cite as

Implementing dataflow with threads

  • Leslie LamportEmail author


A general algorithm is presented for implementing dataflow computations with multiple threads that communicate using only reads and writes of shared memory.


Dataflow Multiprocess synchronization Marked graphs 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alpha Architecture Committee: Alpha Architecture Reference Manual, 3rd edn. Digital Press, Boston (1998)Google Scholar
  2. 2.
    Commoner F., Holt A.W., Even S., Pnueli A.: Marked directed graphs. J. Comput. Syst. Sci. 5(6), 511–523 (1971)zbMATHMathSciNetGoogle Scholar
  3. 3.
    Dijkstra E.W.: Cooperating sequential processes. In: Genuys, F.(eds) Programming Languages, Academic Press, New York (1968)Google Scholar
  4. 4.
    Hill, J.M.D., Skillicorn, D.B.: Practical barrier synchronisation. In: 6th Euromicro Workshop on Parallel and Distributed Processing. IEEE, Computer Society Press (1998)Google Scholar
  5. 5.
    Lamport, L.: The + CAL algorithm language. URL The page can also be found by searching the Web for the 25-letter string obtained by removing the “–” from uid-lamportpluscalhomepage.
  6. 6.
    Lamport L.: Proving the correctness of multiprocess programs. IEEE Trans. Softw. Eng. SE-3(2), 125–143 (1977)CrossRefMathSciNetGoogle Scholar
  7. 7.
    Lamport L.: How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. Comput. C-28(9), 690–691 (1979)CrossRefGoogle Scholar
  8. 8.
    Lamport L.: On interprocess communication. Distrib. Comput. 1, 77–101 (1986)zbMATHCrossRefGoogle Scholar
  9. 9.
    Lamport L.: Arbiter-free synchronization. Distrib. Comput. 16(2–3), 219–237 (2003)CrossRefGoogle Scholar
  10. 10.
    Lamport, L.: Specifying Systems. Addison-Wesley, Boston (2003). Also available on the Web via a link at
  11. 11.
    Lamport, L., Schneider, F.B.: Pretending atomicity. Research Report 44, Digital Equipment Corporation, Systems Research Center (1989)Google Scholar
  12. 12.
    Mellor-Crummey J.M., Scott M.L.: Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Trans. Comput. Syst. 9(1), 272–314 (1991)CrossRefGoogle Scholar
  13. 13.
    Reisig W.: Elements of Distributed Algorithms: Modeling and Analysis with Petri Nets. Springer, Heidelberg (1998)zbMATHGoogle Scholar

Copyright information

© Springer-Verlag 2008

Authors and Affiliations

  1. 1.Microsoft ResearchMountain ViewUSA

Personalised recommendations