  We propose throughput and cost optimal job scheduling algorithms in cloud
computing platforms offering Infrastructure as a Service. We first consider
online migration and propose job scheduling algorithms to minimize job
migration and server running costs. We consider algorithms that assume
knowledge of job-size on arrival of jobs. We characterize the optimal cost
subject to system stability. We develop a drift-plus-penalty framework based
algorithm that can achieve optimal cost arbitrarily closely. Specifically this
algorithm yields a trade-off between delay and costs. We then relax the
job-size knowledge assumption and give an algorithm that uses readily offered
service to the jobs. We show that this algorithm gives order-wise identical
cost as the job size based algorithm. Later, we consider offline job migration
that incurs migration delays. We again present throughput optimal algorithms
that minimize server running cost. We illustrate the performance of the
proposed algorithms and compare these to the existing algorithms via
simulation.
