Specifying Concurrent Problems: Beyond Linearizability and up to Tasks
Tasks and objects are two predominant ways of specifying distributed problems. A task specifies for each set of processes (which may run concurrently) the valid outputs of the processes. An object specifies the outputs the object may produce when it is accessed sequentially. Each one requires its own implementation notion, to tell when an execution satisfies the specification. For objects linearizability is commonly used, while for tasks implementation notions are less explored.
Sequential specifications are very convenient, especially important is the locality property of linearizability, which states that linearizable objects compose for free into a linearizable object. However, most well-known tasks have no sequential specification. Also, tasks have no clear locality property.
The paper introduces the notion of interval-sequential object. The corresponding implementation notion of interval-linearizability generalizes linearizability. Interval-linearizability allows to specify any task. However, there are sequential one-shot objects that cannot be expressed as tasks, under the simplest interpretation of a task. The paper also shows that a natural extension of the notion of a task is expressive enough to specify any interval-sequential object.
KeywordsConcurrent object Task Linearizability Sequential specification
Unable to display preview. Download preview PDF.
- 4.Borowsky, E., Gafni, E.: Immediate atomic snapshots and fast renaming. In: Proc. 12th ACM Symposium on Principles of Distributed Computing (PODC 1993). ACM Press, pp. 41–51 (1993)Google Scholar
- 7.Castañeda, A., Rajsbaum, S., Raynal, M.: Specifying Concurrent Problems: Beyond Linearizability. http://arxiv.org/abs/1507.00073
- 9.Conde, R., Rajsbaum, S.: The complexity gap between consensus and safe-consensus. In: Halldórsson, M.M. (ed.) SIROCCO 2014. LNCS, vol. 8576, pp. 68–82. Springer, Heidelberg (2014) Google Scholar
- 12.Gafni, E.: Round-by-round fault detectors: unifying synchrony and asynchrony. In: Proc. 17th ACM Symposium on Principles of Distributed Computing (PODC 1998). ACM Press, pp. 143–152 (1998)Google Scholar
- 13.Gafni, E., Snapshot for time: the one-shot case. arXiv:1408.3432v1, p. 10 (2014)
- 16.Hemed, N., Rinetzky, N.: Brief announcement: concurrency-aware linearizability. In: Proc. 33th ACM Symposium on Principles of Distributed Computing (PODC 2014), pp. 209–211. ACM Press (2014). Full version to appear in these proceedingsGoogle Scholar
- 17.Herlihy, M., Kozlov, D., Rajsbaum, S.: Distributed computing through ombinatorial topology. Morgan Kaufmann (2014)Google Scholar
- 19.Herlihy, M., Shavit, N.: The art of multiprocessor programming. Morgan Kaufmann (2008)Google Scholar
- 21.Neiger, G.: Set-linearizability. brief announcement. In: Proc. 13th ACM Symposium on Principles of Distributed Computing (PODC 1994). ACM Press, p. 396 (1994)Google Scholar
- 22.Raynal, M.: Concurrent programming: algorithms, principles, and foundations. Springer (2013)Google Scholar