A large-scale service system with packing constraints: Minimizing the   number of occupied servers
  We consider a large-scale service system model motivated by the problem of efficient placement of virtual machines to physical host machines in a network cloud, so that the total number of occupied hosts is minimized. Customers of different types arrive to a system with an infinite number of servers. A server packing configuration is the vector $k = (k_i)$, where $k_i$ is the number of type-$i$ customers that the server "contains". Packing constraints are described by a fixed finite set of allowed configurations. Upon arrival, each customer is placed into a server immediately, subject to the packing constraints; the server can be idle or already serving other customers. After service completion, each customer leaves its server and the system.   It was shown recently that a simple real-time algorithm, called Greedy, is asymptotically optimal in the sense of minimizing $\sum_k X_k^{1+\alpha}$ in the stationary regime, as the customer arrival rates grow to infinity. (Here \alpha >0, and $X_k$ denotes the number of servers with configuration $k$.) In particular, when parameter \alpha is small, Greedy approximately solves the problem of minimizing $\sum_k X_k$, the number of occupied hosts. In this paper we introduce the algorithm called Greedy with sublinear Safety Stocks (GSS), and show that it asymptotically solves the exact problem of minimizing $\sum_k X_k$. An important feature of the algorithm is that sublinear safety stocks of $X_k$ are created automatically - when and where necessary - without having to determine a priori where they are required. Moreover, we also provide a tight characterization of the rate of convergence to optimality under GSS. The GSS algorithm is as simple as Greedy, and uses no more system state information than Greedy does. 
Alexander L. Stolyar and Yuan Zhong
math.OC