  Understanding the performance of a pool of servers is crucial for proper
dimensioning. One of the main challenges is to take into account the complex
interactions between servers that are pooled to process jobs. In particular, a
job can generally not be processed by any server of the cluster due to various
constraints like data locality. In this paper, we represent these constraints
by some assignment graph between jobs and servers. We present a recursive
approach to computing performance metrics like mean response times when the
server capacities are shared according to balanced fairness. While the
computational cost of these formulas can be exponential in the number of
servers in the worst case, we illustrate their practical interest by
introducing broad classes of pool structures that can be exactly analyzed in
polynomial time. This extends considerably the class of models for which
explicit performance metrics are accessible.
