Efficient and fair allocation of multiple types of resources is a crucial objective in a cloud/distributed computing cluster. Users may have diverse resource needs. Furthermore, diversity in server properties/capabilities may mean that only a subset of servers may be usable by a given user. In platforms with such heterogeneity, we identify important limitations in existing multi-resource fair allocation mechanisms, notably Dominant Resource Fairness and its follow-up work. To overcome such limitations, we propose a new server-based approach; each server allocates resources by maximizing a per-server utility function. We propose a specific class of utility functions which, when appropriately parameterized, adjusts the trade-off between efficiency and fairness, and captures a variety of fairness measures (such as our recently proposed Per-Server Dominant Share Fairness). We establish conditions for the proposed mechanism to satisfy certain properties that are generally deemed desirable, e.g., envy-freeness, sharing incentive, bottleneck fairness, and Pareto optimality. To implement our resource allocation mechanism, we develop an iterative algorithm which is shown to be globally convergent. Subsequently, we show how the proposed mechanism could be implemented in a distributed fashion. Finally, we carry out extensive trace-driven simulations to show the enhanced performance of our proposed mechanism over the existing ones.
A geometric tail decay of the stationary distribution has been recently studied for the GI/G/1 type Markov chain with both countable level and background states. This method is essentially the matrix analytic approach, and simplicity is an obvious advantage of this method. However, so far it can be only applied to the α-positive case (or the jittered case, as referred to in the literature). In this paper, we specialize the GI/G/1 type to a quasi-birth-and-death process. This not only refines some expressions because of the matrix geometric form for the stationary distribution, but also allows us to extend the study, in terms of the matrix analytic method, to non-α-positive cases. We apply the result to a generalized join-the-shortest-queue model, which only requires elementary computations. The obtained results enable us to discuss when the two queues are balanced in the generalized join-the-shortest-queue model, and establish the geometric tail asymptotics along the direction of the difference between the two queues.