1,064 research outputs found
Delay, memory, and messaging tradeoffs in distributed service systems
We consider the following distributed service model: jobs with unit mean,
exponentially distributed, and independent processing times arrive as a Poisson
process of rate , with , and are immediately dispatched
by a centralized dispatcher to one of First-In-First-Out queues associated
with 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
, expected queueing delay is zero when either (i) the number of
memory bits grows logarithmically with and the message rate grows
superlinearly with , or (ii) the number of memory bits grows
superlogarithmically with and the message rate is at least .
Furthermore, when the number of memory bits grows only logarithmically with
and the message rate is proportional to , 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 (no matter how small), if our
policy only uses a linear message rate , the resulting asymptotic
delay is upper bounded, uniformly over all ; this is in sharp
contrast to the delay obtained when no messages are used (), which
grows as when , or when the popular
power-of--choices is used, in which the delay grows as
A Configurable Transport Layer for CAF
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
- …