The Assignment Problem

In the allocation problem, asynchronous processors must partition a set of items so that each processor leave knowing all items exclusively allocated to it. We introduce a new variant of the allocation problem called the assignment problem, in which processors might leave having only partial knowledge of their assigned items. The missing items in a processor's assignment must eventually be announced by other processors. While allocation has consensus power 2, we show that the assignment problem is solvable read-write wait-free when k processors compete for at least 2k --1 items. Moreover, we propose a long-lived read-write wait-free assignment algorithm which is fair, allocating no more than 2 items per processor, and in which a slow processor may delay the assignment of at most n items, where n is the number of processors. The assignment problem and its read-write solution may be of practical interest for implementing resource allocators and work queues, which are pervasive concurrent programming patterns, as well as stream-processing systems.

[1]  Gary L. Peterson,et al.  The ambiguity of choosing , 1989, PODC '89.

[2]  G. S. Graham A New Solution of Dijkstra ' s Concurrent Programming Problem , 2022 .

[3]  Eli Gafni,et al.  Immediate atomic snapshots and fast renaming , 1993, PODC '93.

[4]  Aggelos Kiayias,et al.  Solving the at-most-once problem with nearly optimal effectiveness , 2011, PODC '11.

[5]  Joseph Y. Halpern,et al.  Performing work efficiently in the presence of faults , 1992, PODC '92.

[6]  Leslie Lamport,et al.  The PlusCal Algorithm Language , 2009, ICTAC.

[7]  Pierre Fraigniaud,et al.  Asynchronous Coordination Under Preferences and Constraints , 2016, SIROCCO.

[8]  Allan Borodin,et al.  Distributed FIFO allocation of identical resources using small shared space , 1985, TOPL.

[9]  Mark Moir,et al.  Wait-Free Algorithms for Fast, Long-Lived Renaming , 1995, Sci. Comput. Program..

[10]  Alexander A. Shvartsman,et al.  Efficient parallel algorithms can be made robust , 1989, PODC '89.

[11]  Gary L. Peterson,et al.  Myths About the Mutual Exclusion Problem , 1981, Inf. Process. Lett..

[12]  Mark Moir,et al.  Fast, long-lived renaming improved and simplified , 1996, PODC '96.

[13]  Yehuda Afek,et al.  The Instancy of Snapshots and Commuting Objects , 1999, J. Algorithms.

[14]  S Faine,et al.  Musical chairs. , 1999, Michigan health & hospitals.

[15]  Michel Raynal,et al.  Test & Set, Adaptive Renaming and Set Agreement: a Guided Visit to Asynchronous Computability , 2007, 2007 26th IEEE International Symposium on Reliable Distributed Systems (SRDS 2007).

[16]  Aggelos Kiayias,et al.  At-most-once semantics in asynchronous shared memory , 2009, SPAA '09.

[17]  S. M. García,et al.  2014: , 2020, A Party for Lazarus.

[18]  Aggelos Kiayias,et al.  The Strong At-Most-Once Problem , 2012, DISC.

[19]  Leslie Lamport,et al.  Model Checking TLA+ Specifications , 1999, CHARME.

[20]  Nir Shavit,et al.  Atomic snapshots of shared memory , 1990, JACM.

[21]  Leslie Lamport,et al.  On interprocess communication , 1986, Distributed Computing.

[22]  Hagit Attiya,et al.  Renaming in an asynchronous environment , 1990, JACM.

[23]  Hagit Attiya,et al.  Achievable cases in an asynchronous environment , 1987, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[24]  Mark Moir,et al.  Fast, Long-Lived Renaming Improved and Simplified , 1996, WDAG.