24 research outputs found

    A necessary and sufficient condition for embedding principally decomposable finite lattices into the computably enumerable degrees preserving greatest element

    No full text
    We present a necessary and sufficient condition for embedding principally decomposable finite lattices into the computably enumerable (c.e.) degrees preserving greatest element. In the earlier work Lerman [19] gave a necessary and sufficient condition for embeddings of principally decomposable lattices into the c.e. degrees that do not preserve greatest element. Here, we present the construction of an embedding of a principally decomposable lattice that preserves greatest element, prove that Lerman\u27s condition is sufficient for such an embedding construction and show that the necessity of the condition follows from [19].

    Abstract Developing and Refining an Adaptive Token-Passing Strategy

    No full text
    Token rotation algorithms play an important role in distributed computing, to support such activities as mutual exclusion, round-robin scheduling, group membership and group communication protocols. Ring-based protocols maximize throughput in busy systems, but can incur a linear, in the number of processors, delay when a processor needs to obtain a token to perform an operation. This paper synthesizes these two algorithmic techniques thereby improving performance (responsiveness) of logical ring protocols. The parameterized technique preserves the safety properties of ring protocols and maintains high throughput in busy systems, while reducing the delay in lightly loaded systems from a linear to the logarithmic function in the number of processors. The algorithmic development is done using term rewriting systems where our parameterized protocol is developed in a series of safetypreserving refinements of a basic specification.

    Abstract Fast Collect in the absence of contention

    No full text
    Multi-Reader (SWMR) Shared-Memory in an asynchronous system in which a processor updates its cell and then reads in any order all the other cells. Our simple implementation of Fast Collect uses some Multi-Writer, Multi-Reader (MWMR) variables and one local boolean per processor, such that eventually, in the absence of contention, i.e. if only a single processor repeatedly performs collect, the amortized cost per each collect is a constant. At the example of Disk Paxos we show, how Fast Collect can be used as a building block in wait-free algorithms.

    Adaptive Algorithms using Bounded Memory are Inherently Non-Uniform

    No full text
    Abstract. Distributed protocols that run in dynamic environments such as the Internet are often not able to use an upper bound on the number of potentially participating processes. In these settings adaptive and uniform algorithms are desirable where the step complexity of all operations is a function of the number of concurrently participating processes (adaptive) and the algorithm does not need to know an upper bound on the number of participating processes (uniform). Adaptive algorithms, however, are generally not adaptive with respect to their memory consumption- if no upper bound on the number of participating processes is known in advance- they require unbounded MWMR registers and an unbounded number of such registers (even if only finitely many distinct processes appear), making them impractical for real systems. In this paper we ask whether this must be the case: Can adaptive algorithms where no upper bound on the number of participating processes is known in advance be uniformly implemented with finite memory (if only finitely many distinct processes keep reappearing)? We will show that in the dynamic setting it is impossible to implement long-lived adaptive splitters, collect and renaming with infinitely many bounded MWMR registers, making such adaptive algorithms impractical in dynamic settings. On the positive side we provide algorithms that implement a long-lived uniform adaptive splitter if unbounded registers are available and that implement a non-uniform adaptive splitter with finitely many bounded registers if an upper bound on the number of participating processes is known in advance.

    On the Cost of Uniform Protocols whose Memory Consumption is Adaptive to Interval Contention (Extended Abstract)

    No full text
    Abstract. A distributed shared memory protocol is called memoryadaptive, if all writes to MWMR registers are ”close to the beginning of shared memory”, that is the indices of all MWMR registers processes write to when executing the protocol are functions of the contention. The notion of memory-adaptiveness captures what it means for a distributed protocol to most efficiently make use of its shared memory. We previously considered a store/release protocol where processes are required to store a value in shared MWMR memory so that it cannot be overwritten until it has been released by the process. We showed that there do not exist uniformly wait-free store/release protocols using only the basic operations read and write that are memory-adaptive to point contention. We further showed that there exists a uniformly wait-free store/release protocol using only the basic operations read, write, and read-modifywrite that is memory-adaptive to interval contention and time-adaptive to total contention. This left a significant gap which we close in this paper. We show that no uniform store/release protocol can exist that is memory adaptive to interval contention and only uses read/write (no read-modify-write) registers. We furthermore illustrate the validity and practicality of the concept of memory adaptiveness by providing a uniform, memory-adaptive to interval contention store/release protocol for Network Attached Disks.

    Brief Announcement: An Efficient Long-Lived Adaptive Collect Algorithm ⋆

    No full text
    Abstract. We present a new long-lived, efficient, adaptive collect algorithm. Namely, our algorithm adapts to K-contention- it has the property that if during an operation the interval contention k exceeds a predetermined constant K the step complexity is O(N). If, it falls below K, the processors executions will eventually have adaptive step complexity of O(k 3). Moreover, for K such that K 3 ≤ N our algorithm requires only O(N 2) shared memory registers.
    corecore