  Cloud computing today is dominated by multi-server jobs. These are jobs that
request multiple servers simultaneously and hold onto all of these servers for
the duration of the job. Multi-server jobs add a lot of complexity to the
traditional one-job-per-server model: an arrival might not "fit" into the
available servers and might have to queue, blocking later arrivals and leaving
servers idle. From a queueing perspective, almost nothing is understood about
multi-server job queueing systems; even understanding the exact stability
region is a very hard problem.
  In this paper, we investigate a multi-server job queueing model under scaling
regimes where the number of servers in the system grows. Specifically, we
consider a system with multiple classes of jobs, where jobs from different
classes can request different numbers of servers and have different service
time distributions, and jobs are served in first-come-first-served order. The
multi-server job model opens up new scaling regimes where both the number of
servers that a job needs and the system load scale with the total number of
servers. Within these scaling regimes, we derive the first results on
stability, queueing probability, and the transient analysis of the number of
jobs in the system for each class. In particular we derive sufficient
conditions for zero queueing. Our analysis introduces a novel way of extracting
information from the Lyapunov drift, which can be applicable to a broader scope
of problems in queueing systems.
