  In modern computing systems, jobs' resource requirements often vary over
time. Accounting for this temporal variability during job scheduling is
essential for meeting performance goals. However, theoretical understanding on
how to schedule jobs with time-varying resource requirements is limited.
Motivated by this gap, we propose a \emph{new setting} of the stochastic
bin-packing problem in service systems that allows for \emph{time-varying} job
resource requirements, also referred to as `item sizes' in traditional
bin-packing terms. In this setting, a job or `item' must be dispatched to a
server or `bin' upon arrival. Its resource requirement may vary over time while
in service, following a Markovian assumption. Once the job's service is
complete, it departs from the system. Our goal is to minimize the expected
number of active servers, or `non-empty bins', in steady state.
  Under our problem formulation, we develop a job dispatch policy, named
Join-Reqesting-Server (JRS). Broadly, JRS lets each server independently
evaluate its current job configuration and decide whether to accept additional
jobs, balancing the competing objectives of maximizing throughput and
minimizing the risk of resource capacity overruns. The JRS dispatcher then
utilizes these individual evaluations to decide which server to dispatch each
arriving job to. The theoretical performance guarantee of JRS is in the
asymptotic regime where the job arrival rate scales large linearly with respect
to a scaling factor $r$. We show that JRS achieves an additive optimality gap
of $O(\sqrt{r})$ in the objective value, where the optimal objective value is
$\Theta(r)$. When specialized to constant job resource requirements, our result
improves upon the state-of-the-art $o(r)$ optimality gap. Our technical
approach highlights a novel policy conversion framework that reduces the policy
design problem into a single-server problem.
