39 research outputs found
Optimal resource allocation algorithms for cloud computing
Cloud computing is emerging as an important platform for business, personal and mobile computing applications. We consider a stochastic model of a cloud computing cluster, where jobs arrive according to a random process and request virtual machines (VMs), which are specified in terms of resources
such as CPU, memory and storage space. The jobs are first routed to one of the servers when they arrive and are queued at the servers. Each server then
chooses a set of jobs from its queues so that it has enough resources to serve all of them simultaneously.
There are many design issues associated with such systems. One important issue is the resource allocation problem, i.e., the design of algorithms for load
balancing among servers, and algorithms for scheduling VM configurations. Given our model of a cloud, we define its capacity, i.e., the maximum rates at which jobs can be processed in such a system. An algorithm is said
to be throughput-optimal if it can stabilize the system whenever the load is within the capacity region. We show that the widely-used Best-Fit scheduling
algorithm is not throughput-optimal.
We first consider the problem where the jobs need to be scheduled nonpreemptively on servers. Under the assumptions that the job sizes are known
and bounded, we present algorithms that achieve any arbitrary fraction of the capacity region of the cloud. We then relax these assumptions and present
a load balancing and scheduling algorithm that is throughput optimal when job sizes are unknown. In this case, job sizes (durations) are modeled as
random variables with possibly unbounded support.
Delay is a more important metric then throughput optimality in practice. However, analysis of delay of resource allocation algorithms is difficult, so we
study the system in the asymptotic limit as the load approaches the boundary of the capacity region. This limit is called the heavy traffic regime. Assuming
that the jobs can be preempted once after several time slots, we present delay optimal resource allocation algorithms in the heavy traffic regime. We study
delay performance of our algorithms through simulations
Stochastic Approximation for Nonlinear Discrete Stochastic Control: Finite-Sample Bounds
We consider a nonlinear discrete stochastic control system, and our goal is
to design a feedback control policy in order to lead the system to a
prespecified state. We adopt a stochastic approximation viewpoint of this
problem. It is known that by solving the corresponding continuous-time
deterministic system, and using the resulting feedback control policy, one
ensures almost sure convergence to the prespecified state in the discrete
system. In this paper, we adopt such a control mechanism and provide its
finite-sample convergence bounds whenever a Lyapunov function is known for the
continuous system. In particular, we consider four cases based on whether the
Lyapunov function for the continuous system gives exponential or
sub-exponential rates and based on whether it is smooth or not. We provide the
finite-time bounds in all cases. Our proof relies on constructing a Lyapunov
function for the discrete system based on the given Lyapunov function for the
continuous system. We do this by appropriately smoothing the given function
using the Moreau envelope. We present numerical experiments corresponding to
the various cases, which validate the rates we establish.Comment: 42 pages, 6 figure