Skip to main content

Distributed Programming with Tasks

  • Conference paper
Principles of Distributed Systems (OPODIS 2010)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 6490))

Included in the following conference series:

Abstract

In round-by-round models of distributed computing processes run in a sequence of (synchronous or asynchronous) rounds. The advantage of the round-by-round approach is that invariants established in the first round are preserved in later rounds. An elegant asynchronous round-by-round shared memory model, is the iterated snapshots model (IS). Instead of the snapshots model where processes share an array m[·] that can be accessed any number of times, indexed by process ID, where P i writes to m[i] and can take a snapshot of the entire array, we have processes share a two-dimensional array m[·,·], indexed by iteration number and by process ID, where P i in iteration r writes once to m[r, i] and takes one snapshot of row r, m[r,·]. The IS model lends itself more easily to combinatorial analysis. However, to show that whenever a task is impossible in the IS model the task is impossible in the snapshots model, a simulation is needed. Such a simulation was presented by Borowsky and Gafni in PODC97; namely, it was shown how to take a wait-free protocol for the snapshots model, and transform it into a protocol for the IS model, solving the same task.

In this paper we present a new simulation from the snapshots model to the IS model, and show that it can be extended to work with models stronger that wait-free. The main contribution is to show that the simulation can work with models that have access to certain communication objects, called 01-tasks. This extends the result of Gafni, Rajsbaum and Herlihy in DISC’2006 stating that renaming is strictly weaker than set agreement from the IS model to the usual non-iterated wait-free read/write shared memory model.

We also show that our simulation works with t-resilient models and the more general dependent process failure model of Junqueira and Marzullo. This version of the simulation extends previous results by Herlihy and Rajsbaum in PODC’2010 and DISC’2010 about the topological connectivity of a protocol complex in an iterated dependent process failure model, to the corresponding non-iterated model.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Afek, Y., Attiya, H., Dolev, D., Gafni, E., Merrit, M., Shavit, N.: Atomic Snapshots of Shared Memory. J. ACM 40(4), 873–890 (1993)

    Article  MATH  Google Scholar 

  2. Aguilera, M.K., Toueg, S.: A Simple Bivalency Proof that t-Resilient Consensus Requires t + 1 Rounds. Inf. Process. Lett. 71(3-4), 155–158 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  3. Attiya, H., Bar-Noy, A., Dolev, D.: Sharing Memory Robustly in Message-Passing Systems. J. ACM 42(1), 124–142 (1995)

    Article  MATH  Google Scholar 

  4. Attiya, H., Bar-Noy, A., Dolev, D., Peleg, D., Reischuk, R.: Renaming in an Asynchronous Environment. J. ACM 37(3), 524–548 (1990)

    Article  MathSciNet  MATH  Google Scholar 

  5. Afek, Y., Gafni, E., Rajsbaum, S., Raynal, M., Travers, C.: Simultaneous Consensus Tasks: A Tighter Characterization of Set-Consensus. In: Chaudhuri, S., Das, S.R., Paul, H.S., Tirthapura, S. (eds.) ICDCN 2006. LNCS, vol. 4308, pp. 331–334. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  6. Baldoni, R., Raynal, M.: Fundamentals of Distributed Computing: A Practical Tour of Vector Clock Systems. IEEE Distributed Systems Online 3(2) (2002)

    Google Scholar 

  7. Biran, O., Moran, S., Zaks, S.: A Combinatorial Characterization of the Distributed 1-Solvable Tasks. J. Algorithms 11(3), 420–440 (1990)

    Article  MathSciNet  MATH  Google Scholar 

  8. Borowsky, E., Gafni, E.: Generalized FLP Impossibility Results for t-Resilient Asynchronous Computations. In: Proc. 25th ACM Symposium on the Theory of Computing (STOC 1993), pp. 91–100. ACM Press, New York (1993)

    Google Scholar 

  9. Borowsky, E., Gafni, E.: A Simple Algorithmically Reasoned Characterization of Wait-Free Computations (Extended Abstract). In: Proc. 16th ACM Symposium on Principles of Distributed Computing (PODC 1997), pp. 189–198. ACM Press, New York (August 1997)

    Chapter  Google Scholar 

  10. Borowsky, E., Gafni, E., Lynch, N., Rajsbaum, S.: The BG Distributed Simulation Algorithm. Distributed Computing 14(3), 127–146 (2001)

    Article  Google Scholar 

  11. Brit, H., Moran, S.: Wait-Freedom vs. Bounded-Freedom in Public Data Structures. J. UCS 2(1), 2–19 (1996)

    MathSciNet  MATH  Google Scholar 

  12. Chou, C.-T., Gafni, E.: Understanding and Verifying Distributed Algorithms Using Stratified Decomposition. In: Proc. 7th ACM Symposium on Principles of Distributed Computing (PODC), Toronto, Ontario, Canada, August 15-17, pp. 44–65. ACM Press, New York (1988)

    Google Scholar 

  13. Castañeda, A., Rajsbaum, S.: New combinatorial topology upper and lower bounds for renaming. In: Proc. 27th ACM Symposium on Principles of Distributed Computing (PODC), Toronto, Canada, August 18-21, pp. 295–304 (2008)

    Google Scholar 

  14. Charron-Bost, B., Schiper, A.: The Heard-Of model: computing in distributed systems with benign faults. Distributed Computing 22(1), 49–71 (2009)

    Article  MATH  Google Scholar 

  15. Chaudhuri, S.: More Choices Allow More Faults: Set Consensus Problems in Totally Asynchronous Systems. Information and Computation 105, 132–158 (1993)

    Article  MathSciNet  MATH  Google Scholar 

  16. Delporte-Gallet, C., Fauconnier, H., Guerraoui, R., Tielmann, A.: The Disagreement Power of an Adversary. In: Keidar, I. (ed.) DISC 2009. LNCS, vol. 5805, pp. 8–21. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  17. Elrad, T., Francez, N.: Decomposition of Distributed Programs into Communication-Closed Layers. Sci. Comput. Program. 2(3), 155–173 (1982)

    Article  MATH  Google Scholar 

  18. Fidge, C.J.: Logical Time in Distributed Computing Systems. IEEE Computer 24(8), 28–33 (1991)

    Article  Google Scholar 

  19. Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of Distributed Consensus with One Faulty Process. Journal of the ACM 32(2), 374–382 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  20. Gafni, E.: Round-by-Round Fault Detectors: Unifying Synchrony and Asynchrony (Extended Abstract). In: Proc. 17nth ACM Symposium on Principles of Distributed Computing (PODC), Puerto Vallarta, Mexico, June 28-July 2, pp. 143–152 (1998)

    Google Scholar 

  21. Gafni, E.: The 0-1-Exclusion Families of Tasks. In: Baker, T.P., Bui, A., Tixeuil, S. (eds.) OPODIS 2008. LNCS, vol. 5401, pp. 246–258. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  22. Gafni, E., Merritt, M., Taubenfeld, G.: The Concurrency Hierarchy, and Algorithms for Unbounded Concurrency. In: Proc. 21st ACM Symposium on Principles of Distributed Computing (PODC 2001), pp. 161–169. ACM Press, New York (2001)

    Google Scholar 

  23. Gafni, E., Rajsbaum, S.: Musical Benches. In: Fraigniaud, P. (ed.) DISC 2005. LNCS, vol. 3724, pp. 63–77. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  24. Gafni, E., Rajsbaum, S.: Recursion in distributed computing. In: Dolev, S., Cobb, J., Fischer, M., Yung, M. (eds.) SSS 2010. LNCS, vol. 6366, pp. 362–376. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  25. Gafni, E., Rajsbaum, S., Herlihy, M.: Subconsensus Tasks: Renaming Is Weaker Than Set Agreement. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 329–338. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  26. Gafni, E., Rajsbaum, S., Raynal, M., Travers, C.: The Committee Decision Problem. In: Correa, J.R., Hevia, A., Kiwi, M. (eds.) LATIN 2006. LNCS, vol. 3887, pp. 502–514. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  27. Herlihy, M.: Wait-Free Synchronization. ACM Transactions on Programming Languages and Systems 11(1), 124–149 (1991)

    Article  Google Scholar 

  28. Herlihy, M.: Linearizability. In: Kao, M.-Y. (ed.) Encyclopedia of Algorithms, Springer, Heidelberg (2008)

    Google Scholar 

  29. Herlihy, M., Rajsbaum, S.: The Topology of Shared-Memory Adversaries. In: Proc. of the 29th ACM Symposium on Principles of Distributed Computing (PODC), Zurich, Switzerland, July 25-28, pp. 105–113 (2010)

    Google Scholar 

  30. Herlihy, M., Rajsbaum, S.: Concurrent Computing and Shellable Complexes. In: Lynch, N., Shvartsman, A. (eds.) DISC 2010. LNCS, vol. 6343, pp. 109–123. Springer, Heidelberg (2010)

    Google Scholar 

  31. Herlihy, M., Rajsbaum, S., Tuttle, M.R.: Unifying Synchronous and Asynchronous Message-Passing Models. In: Proc. 17nth ACM Symposium on Principles of Distributed Computing (PODC), Puerto Vallarta, Mexico, June 28-July 2, pp. 133–142 (1998)

    Google Scholar 

  32. Herlihy, M., Shavit, N.: A simple constructive computability theorem for wait-free computation. In: Proc. 26th ACM Symposium on Theory of Computing (STOC), Montreal, Quebec, Canada, May 23-25, pp. 243–252 (1994)

    Google Scholar 

  33. Herlihy, M., Shavit, N.: The Topological Structure of Asynchronous Computability. Journal of the ACM 46(6), 858–923 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  34. Junqueira, F.P., Marzullo, K.: Designing Algorithms for Dependent Process Failures. In: Schiper, A., Shvartsman, M.M.A.A., Weatherspoon, H., Zhao, B.Y. (eds.) Future Directions in Distributed Computing. LNCS, vol. 2584, pp. 24–28. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  35. Lamport, L.: Time, Clocks, and the Ordering of Events in a Distributed System. ACM Commun. 21(7), 558–565 (1978)

    Article  MATH  Google Scholar 

  36. Mattern, F.: Virtual Time and Global States of Distributed Systems. In: Proc. Parallel and Distributed Algorithms Conf., pp. 215–226. Elsevier Science, Amsterdam (1988)

    Google Scholar 

  37. Moses, Y., Rajsbaum, S.: A Layered Analysis of Consensus. SIAM J. Comput. 31(4), 989–1021 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  38. Rajsbaum, S.: Iterated Shared Memory Models. In: López-Ortiz, A. (ed.) LATIN 2010. LNCS, vol. 6034, pp. 407–416. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  39. Rajsbaum, S., Raynal, M., Travers, C.: An impossibility about failure detectors in the iterated immediate snapshot model. Inf. Process. Lett. 108(3), 160–164 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  40. Rajsbaum, S., Raynal, M., Travers, C.: The Iterated Restricted Immediate Snapshot Model. In: Hu, X., Wang, J. (eds.) COCOON 2008. LNCS, vol. 5092, pp. 487–497. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  41. Saks, M.E., Zaharoglou, F.: Wait-Free k-Set Agreement is Impossible: The Topology of Public Knowledge. SIAM Journal on Computing 29(5), 1449–1483 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  42. Zielinski, P.: Anti-Omega: the weakest failure detector for set agreement. In: Bazzi, R.A., Patt-Shamir, B. (eds.) Proc. 27nth ACM Symp. Principles of Distributed Computing (PODC), Toronto, Canada, August 18-21, pp. 55–64 (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gafni, E., Rajsbaum, S. (2010). Distributed Programming with Tasks. In: Lu, C., Masuzawa, T., Mosbah, M. (eds) Principles of Distributed Systems. OPODIS 2010. Lecture Notes in Computer Science, vol 6490. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-17653-1_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-17653-1_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-17652-4

  • Online ISBN: 978-3-642-17653-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics