Hi. I am looking for some advice. I model custom HW with 100+ CPUs. The CPUs are working on different parts of one big workload and sometimes have common SW synchronizations points, however, in between those synch points vCPUs seem to run with very different pace depending on how underlying OS schedules the threads (which presents some problems for the analysis).
Thus, my questions: 1. Is there a straightforward way to obtain vCPU "active" time? That is a time when vCPU thread was scheduled by underlying OS to run, when it was executing instructions or waiting for something. In other words, something that would reflect vCPU "time" better than number of executed instructions. 2. Bonus. Assuming I know vCPU "active" time, are there any ways to control pace of vCPUs to at least some extent? I do not need it to be precise, I just want to avoid situations when one vCPU ran near zero time, and another vCPU already executed millions of instructions. Thank you in advance. -Igor