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
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!