1,064 research outputs found

    Delay, memory, and messaging tradeoffs in distributed service systems

    Get PDF
    We consider the following distributed service model: jobs with unit mean, exponentially distributed, and independent processing times arrive as a Poisson process of rate λn\lambda n, with 0<λ<10<\lambda<1, and are immediately dispatched by a centralized dispatcher to one of nn First-In-First-Out queues associated with nn identical servers. The dispatcher is endowed with a finite memory, and with the ability to exchange messages with the servers. We propose and study a resource-constrained "pull-based" dispatching policy that involves two parameters: (i) the number of memory bits available at the dispatcher, and (ii) the average rate at which servers communicate with the dispatcher. We establish (using a fluid limit approach) that the asymptotic, as nn\to\infty, expected queueing delay is zero when either (i) the number of memory bits grows logarithmically with nn and the message rate grows superlinearly with nn, or (ii) the number of memory bits grows superlogarithmically with nn and the message rate is at least λn\lambda n. Furthermore, when the number of memory bits grows only logarithmically with nn and the message rate is proportional to nn, we obtain a closed-form expression for the (now positive) asymptotic delay. Finally, we demonstrate an interesting phase transition in the resource-constrained regime where the asymptotic delay is non-zero. In particular, we show that for any given α>0\alpha>0 (no matter how small), if our policy only uses a linear message rate αn\alpha n, the resulting asymptotic delay is upper bounded, uniformly over all λ<1\lambda<1; this is in sharp contrast to the delay obtained when no messages are used (α=0\alpha = 0), which grows as 1/(1λ)1/(1-\lambda) when λ1\lambda\uparrow 1, or when the popular power-of-dd-choices is used, in which the delay grows as log(1/(1λ))\log(1/(1-\lambda))

    A Configurable Transport Layer for CAF

    Full text link
    The message-driven nature of actors lays a foundation for developing scalable and distributed software. While the actor itself has been thoroughly modeled, the message passing layer lacks a common definition. Properties and guarantees of message exchange often shift with implementations and contexts. This adds complexity to the development process, limits portability, and removes transparency from distributed actor systems. In this work, we examine actor communication, focusing on the implementation and runtime costs of reliable and ordered delivery. Both guarantees are often based on TCP for remote messaging, which mixes network transport with the semantics of messaging. However, the choice of transport may follow different constraints and is often governed by deployment. As a first step towards re-architecting actor-to-actor communication, we decouple the messaging guarantees from the transport protocol. We validate our approach by redesigning the network stack of the C++ Actor Framework (CAF) so that it allows to combine an arbitrary transport protocol with additional functions for remote messaging. An evaluation quantifies the cost of composability and the impact of individual layers on the entire stack
    corecore