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?