36,124 research outputs found
The complexity of resolving conflicts on MAC
We consider the fundamental problem of multiple stations competing to
transmit on a multiple access channel (MAC). We are given stations out of
which at most are active and intend to transmit a message to other stations
using MAC. All stations are assumed to be synchronized according to a time
clock. If stations node transmit in the same round, then the MAC provides
the feedback whether , (collision occurred) or . When ,
then a single station is indeed able to successfully transmit a message, which
is received by all other nodes. For the above problem the active stations have
to schedule their transmissions so that they can singly, transmit their
messages on MAC, based only on the feedback received from the MAC in previous
round.
For the above problem it was shown in [Greenberg, Winograd, {\em A Lower
bound on the Time Needed in the Worst Case to Resolve Conflicts
Deterministically in Multiple Access Channels}, Journal of ACM 1985] that every
deterministic adaptive algorithm should take rounds
in the worst case. The fastest known deterministic adaptive algorithm requires
rounds. The gap between the upper and lower bound is
round. It is substantial for most values of : When constant and (for any constant , the lower bound is
respectively and O(n), which is trivial in both cases. Nevertheless,
the above lower bound is interesting indeed when poly(). In this
work, we present a novel counting argument to prove a tight lower bound of
rounds for all deterministic, adaptive algorithms, closing
this long standing open question.}Comment: Xerox internal report 27th July; 7 page
Poly-Logarithmic Adaptive Algorithms Require Unconditional Primitives
This paper studies the step complexity of adaptive algorithms using primitives stronger than reads and writes. We first consider unconditional primitives, like fetch&inc, which modify the value of the register to which they are applied, regardless of its current value. Unconditional primitives admit snapshot algorithms with O(log(k)) step complexity, where k is the total or the point contention. These algorithms combine a renaming algorithm with a mechanism for propagating values so they can be quickly collected.
When only conditional primitives, e.g., compare&swap or LL/SC, are used (in addition to reads and writes), we show that any collect algorithm must perform Omega(k) steps, in an execution with total contention k in O(log(log(n))). The lower bound applies for snapshot and renaming, both one-shot and long-lived. Note that there are snapshot algorithms whose step complexity is polylogarithmic in n using only reads and writes, but there are no adaptive algorithms whose step complexity is polylogarithmic in the contention, even when compare&swap and LL/SC are used
An Almost Tight RMR Lower Bound for Abortable Test-And-Set
We prove a lower bound of Omega(log n/log log n) for the remote memory reference (RMR) complexity of abortable test-and-set (leader election) in the cache-coherent (CC) and the distributed shared memory (DSM) model. This separates the complexities of abortable and non-abortable test-and-set, as the latter has constant RMR complexity [Wojciech Golab et al., 2010].
Golab, Hendler, Hadzilacos and Woelfel [Wojciech M. Golab et al., 2012] showed that compare-and-swap can be implemented from registers and test-and-set objects with constant RMR complexity. We observe that a small modification to that implementation is abortable, provided that the used test-and-set objects are atomic (or abortable). As a consequence, using existing efficient randomized wait-free implementations of test-and-set [George Giakkoupis and Philipp Woelfel, 2012], we obtain randomized abortable compare-and-swap objects with almost constant (O(log^* n)) RMR complexity
Recoverable, Abortable, and Adaptive Mutual Exclusion with Sublogarithmic RMR Complexity
We present the first recoverable mutual exclusion (RME) algorithm that is simultaneously abortable, adaptive to point contention, and with sublogarithmic RMR complexity. Our algorithm has O(min(K,log_W N)) RMR passage complexity and O(F + min(K,log_W N)) RMR super-passage complexity, where K is the number of concurrent processes (point contention), W is the size (in bits) of registers, and F is the number of crashes in a super-passage. Under the standard assumption that W = ?(log N), these bounds translate to worst-case O((log N)/(log log N)) passage complexity and O(F + (log N)/(log log N)) super-passage complexity. Our key building blocks are:
- A D-process abortable RME algorithm, for D ? W, with O(1) passage complexity and O(1+F) super-passage complexity. We obtain this algorithm by using the Fetch-And-Add (FAA) primitive, unlike prior work on RME that uses Fetch-And-Store (FAS/SWAP).
- A generic transformation that transforms any abortable RME algorithm with passage complexity of B < W, into an abortable RME lock with passage complexity of O(min(K,B))
- …