Hacker News new | ask | show | jobs
by isaacg 1338 days ago
While an M/M/n is a good starting point, there are several extra important features to capture.

First, many of these applications have a load-balancing step, where arriving jobs are dispatched to queues at each of the machines. The performance will depend on how this load-balancing is done.

Second, some applications will parallelize across many cores or machine, while others will run each job on a single core or machine. This obviously has major implications for performance.

Third, your application may have variance in interarrival times or in job completion lengths. This is also important to measure and incorporate into a model. Something like Kingman's formula can be useful: https://en.wikipedia.org/wiki/Kingman%27s_formula

1 comments

That is very helpful, thank you! Good point on load balancing, and also retries, back pressure, etc. would change it as well.