  The stable allocation problem is a many-to-many generalization of the
well-known stable marriage problem, where we seek a bipartite assignment
between, say, jobs (of varying sizes) and machines (of varying capacities) that
is "stable" based on a set of underlying preference lists submitted by the jobs
and machines. We study a natural "unsplittable" variant of this problem, where
each assigned job must be fully assigned to a single machine. Such unsplittable
bipartite assignment problems generally tend to be NP-hard, including
previously-proposed variants of the unsplittable stable allocation problem. Our
main result is to show that under an alternative model of stability, the
unsplittable stable allocation problem becomes solvable in polynomial time;
although this model is less likely to admit feasible solutions than the model
proposed iby McDermid and Manlove, we show that in the event there is no
feasible solution, our approach computes a solution of minimal total congestion
(overfilling of all machines collectively beyond their capacities). We also
describe a technique for rounding the solution of a stable allocation problem
to produce "relaxed" unsplit solutions that are only mildly infeasible, where
each machine is overcongested by at most a single job.
