How to make Dedicated CPUs yield consistent run time?


I’m running an online judge on the CPU-optimized server. I have 4 judges, each judge is running with 2 different vCPUs (I assign the CPUs via Docker)

I noticed that if more than one of them is judging, their judging time will increase about 10~30% (compare to when there is only one of them is running). Also, note that the judging process usually raises the CPU consumption to 100% for 30~60 seconds.

I know that Dedicated CPUs are still hyperthread(s), that is why I assign 2 vCPUs for each judge (so I think 2 vCPU is on the same physical CPU core, correct me if I’m wrong). However, I expected that the judging time should be consistent.

So I wonder, does the Dedicated CPUs run slower if others CPUs are on heavy load?

Because the online judge should not yield inconsistent results, how can I make the CPUs yield consistent run time?

Submit an answer

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer