Let's have n users with each having a ball and m boxes. The users put their ball in a random box. It takes exactly 10 seconds for all balls to be put in a random box (independently to the number of users). When the 10 seconds are passed, we remove the boxes with at least one ball and start the process again (each user get a new ball) until there is no boxes left.
We know that each iteration takes exactly 10 seconds, hence:
average_execution_time = average_iteration_count * 10
How can we calculate the average iteration count?
Here I describe an analog problem but it will help modelling a distributed computing problem.