497 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
Deterministic blind radio networks
Ad-hoc radio networks and multiple access channels are classical and well-studied models of distributed systems, with a large body of literature on deterministic algorithms for fundamental communications primitives such as broadcasting and wake-up. However, almost all of these algorithms assume knowledge of the number of participating nodes and the range of possible IDs, and often make the further assumption that the latter is linear in the former. These are very strong assumptions for models which were designed to capture networks of weak devices organized in an ad-hoc manner. It was believed that without this knowledge, deterministic algorithms must necessarily be much less efficient.
In this paper we address this fundamental question and show that this is not the case. We present deterministic algorithms for blind networks (in which nodes know only their own IDs), which match or nearly match the running times of the fastest algorithms which assume network knowledge (and even surpass the previous fastest algorithms which assume parameter knowledge but not small labels)
Turning Futexes Inside-Out: Efficient and Deterministic User Space Synchronization Primitives for Real-Time Systems with IPCP
In Linux and other operating systems, futexes (fast user space mutexes) are the underlying synchronization primitives to implement POSIX synchronization mechanisms, such as blocking mutexes, condition variables, and semaphores. Futexes allow one to implement mutexes with excellent performance by avoiding system calls in the fast path. However, futexes are fundamentally limited to synchronization mechanisms that are expressible as atomic operations on 32-bit variables. At operating system kernel level, futex implementations require complex mechanisms to look up internal wait queues making them susceptible to determinism issues. In this paper, we present an alternative design for futexes by completely moving the complexity of wait queue management from the operating system kernel into user space, i. e. we turn futexes "inside out". The enabling mechanisms for "inside-out futexes" are an efficient implementation of the immediate priority ceiling protocol (IPCP) to achieve non-preemptive critical sections in user space, spinlocks for mutual exclusion, and interwoven services to suspend or wake up threads. The design allows us to implement common thread synchronization mechanisms in user space and to move determinism concerns out of the kernel while keeping the performance properties of futexes. The presented approach is suitable for multi-processor real-time systems with partitioned fixed-priority (P-FP) scheduling on each processor. We evaluate the approach with an implementation for mutexes and condition variables in a real-time operating system (RTOS). Experimental results on 32-bit ARM platforms show that the approach is feasible, and overheads are driven by low-level synchronization primitives
Contention resolution in a non-synchronized multiple access channel
Multiple access channel is a well-known communication model that deploys properties of many network systems, such as Aloha multi-access systems, local area Ethernet networks, satellite communication systems, packet radio networks. The fundamental aspect of this model is to provide efficient communication and computation in the presence of restricted access to the communication resource: at most one station can successfully transmit at a time, and a wasted round occurs when more than one station attempts to transmit at the same time. In this work we consider the problem of contention resolution in a multiple access channel in a realistic scenario when up to k stations out of n join the channel at different times. The goal is to let at least one station to transmit alone, which results in successful delivery of the message through the channel. We present three algorithms: two of them working under some constrained scenarios, and achieving optimal time complexity Î\u98(klogâ\u81¡(n/k)+1), while the third general algorithm accomplishes the goal in time O(klogâ\u81¡nlogâ\u81¡logâ\u81¡n)
- …