  This paper investigates a general version of the multiple choice model called
the $(k,d)$-choice process in which $n$ balls are assigned to $n$ bins. In the
process, $k<d$ balls are placed into $k$ least loaded out of $d$ bins chosen
independently and uniformly at random in each of $\frac{n}{k}$ rounds. The
primary goal is to derive tight bounds on the maximum bin load for
$(k,d)$-choice for any $1 \leq k < d \leq n$. Our results enable one to choose
suitable parameters $k$ and $d$ for which the $(k,d)$-choice process achieves
the optimal tradeoff between the maximum bin load and message cost: a constant
maximum load and $2n$ messages. It is also shown that the maximum load for a
heavily loaded case, in which $m>n$ balls are placed into $n$ bins, if $d \geq
2k$. Potential applications are also discussed such as distributed storage as
well as parallel job scheduling in a cluster.
