Skip to main content

Turning Adversaries into Friends: Simplified, Made Constructive, and Extended

  • Conference paper

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

Abstract

A liveness contract is an agreement between the specifier of a system and a task to solve, and the programmer who makes her living by delivering protocols. In a shared-memory system, a liveness contract specifies infinite suffixes of executions in which the programmer is required to solve a distributed task. If the behavior of the system does not comply with the specification, no output is required. A convenient way to describe a large class of liveness contracts was recently proposed by Delporte et al. For a system Π of n processes, an adversary is a set \(\mathcal{A}\) of subsets of Π. The system is required to make progress only in executions in which the set of correct processes is in \(\mathcal{A}\).

Given an adversary \(\mathcal{A}\) and a task T, should the programmer sign the contract? Can she deliver?

In this paper, we give a very simple resolution of this question for colorless tasks that contrasts with more involved arguments of the original paper of Delpote et al. More importantly, our resolution is constructive — it tells the programmer how to use \(\mathcal{A}\) to solve T, when it is solvable.

Our framework naturally generalizes to systems enriched with more powerful objects than read-write registers. We determine necessary and sufficient conditions for an adversary \(\mathcal{A}\) to solve consensus using j-process consensus objects and read-write registers, which resolves an open question raised recently by Taubenfeld.

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

Buying options

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

Learn about 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., Merritt, M., Shavit, N.: Atomic snapshots of shared memory. Journal of the ACM 40(4), 873–890 (1993)

    Article  MATH  Google Scholar 

  2. 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–341. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  3. Borowsky, E., Gafni, E.: Generalized FLP impossibility result for t-resilient asynchronous computations. In: STOC, pp. 91–100. ACM Press, New York (May 1993)

    Google Scholar 

  4. Borowsky, E., Gafni, E., Lynch, N.A., Rajsbaum, S.: The BG distributed simulation algorithm. Distributed Computing 14(3), 127–146 (2001)

    Article  Google Scholar 

  5. Chandra, T.D., Hadzilacos, V., Toueg, S.: The weakest failure detector for solving consensus. Journal of the ACM 43(4), 685–722 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  6. Chandra, T.D., Toueg, S.: Unreliable failure detectors for reliable distributed systems. Journal of the ACM 43(2), 225–267 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  7. 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 

  8. Fich, F.E., Luchangco, V., Moir, M., Shavit, N.: Obstruction-free algorithms can be practically wait-free. In: Fraigniaud, P. (ed.) DISC 2005. LNCS, vol. 3724, pp. 493–494. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  9. 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 

  10. Gafni, E.: Round-by-round fault detectors (extended abstract): Unifying synchrony and asynchrony. In: Proceedings of the 17th Symposium on Principles of Distributed Computing (1998)

    Google Scholar 

  11. Gafni, E., Guerraoui, R.: Generalizing state machine replication. Technical report, EPFL (2010), http://infoscience.epfl.ch/record/150307

  12. Gafni, E., Koutsoupias, E.: Three-processor tasks are undecidable. SIAM J. Comput. 28(3), 970–983 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  13. Gafni, E., Kuznetsov, P.: On set consensus numbers. In: Keidar, I. (ed.) DISC 2009. LNCS, vol. 5805, pp. 35–47. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  14. Gafni, E., Kuznetsov, P.: L-resilient adversaries and hitting sets. CoRR, abs/1004.4701 (2010) (to appear in ICDCN 2011), http://arxiv.org/abs/1004.4701

  15. 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 

  16. Herlihy, M., Rajsbaum, S.: The decidability of distributed decision tasks (extended abstract). In: STOC, pp. 589–598 (1997)

    Google Scholar 

  17. Herlihy, M., Rajsbaum, S.: The topology of shared-memory adversaries. In: PODC (2010)

    Google Scholar 

  18. Imbs, D., Raynal, M., Taubenfeld, G.: On asymmetric progress conditions. In: PODC (2010)

    Google Scholar 

  19. Karp, R.M.: Reducibility among combinatorial problems. Complexity of Computer Computations, 85–103 (1972)

    Google Scholar 

  20. Loui, M.C., Abu-Amara, H.H.: Memory requirements for agreement among unreliable asynchronous processes. Advances in Computing Research 4, 163–183 (1987)

    MathSciNet  Google Scholar 

  21. Taubenfeld, G.: The computational structure of progress conditions. In: Lynch, N.A., Shvartsman, A.A. (eds.) DISC 2010. LNCS, vol. 6343, pp. 221–235. Springer, Heidelberg (2010)

    Google Scholar 

  22. Yang, J., Neiger, G., Gafni, E.: Structured derivations of consensus algorithms for failure detectors. In: Proceedings of the 17th ACM Symposium on Principles of Distributed Computing, pp. 297–306 (1998)

    Google Scholar 

  23. Zieliński, P.: Anti-omega: the weakest failure detector for set agreement. In: PODC (August 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., Kuznetsov, P. (2010). Turning Adversaries into Friends: Simplified, Made Constructive, and Extended. 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_28

Download citation

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

  • 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