On 03.05.25 13:39, Will Godfrey wrote:
The thing that's still puzzling is that on a first time start up in the
morning, and with one of the more complex voice patches, I'll get about a
dozen xruns on the first note, but no Xruns on any further playing of the
same patch, nor any *other* patch. If I then completely shut everything down
and switch the computer off, then about 10 minutes later switch on and try
the same actions... no Xruns at all.

And such is not limited to Yoshimi.

In Lumiera, I have a test for the Scheduler, which has to dispatch work tasks.
This test first calibrates the current setup, by performing a compute-intensive
task some million times. So that it is then possible to construct a load which
takes a well predetermined time to complete /on average/.

The actual test then loads half of the machine's CPUs with such tasks to
100% (using the Scheduler). If after 1 second the load was less then 90%
on all used Cores, the test fails.

And it fails indeed, sporadically, intermittently.
Failures are never reproducible. But the probability of a failure is
much higher, when I run this test as part of the build process, i.e. immediately
after all cores and all IO of the machine was maxed out for several minutes.

Just for fun, I made that test print out the calibration gauge value determined
to produce that predictable load. Obviously, this would be an rather arbitrary
value, and should be characteristic for my machine. Which it basically is --
it converges against some number. However -- when I run this test right after
booting my PC, the gauge value is lower. And when I shut down my computer
and reboot it after 5 minutes, the gauge value is higher, yet still
significantly below the typical number towards which the value converges
in stable operational state of the PC.


None of this is surprising in any way, if we recall what we've heard regarding
the capabilities of modern CPUs. Just consider the power management, the thermal
load management, which can step down individual cores in order to distribute the
heat load on the chip. On top of this comes the power supply, which is also
not totally the same, but may vary slightly depending on the time of the day.
Our hardware is built to automatically compensate for lots of external
influences.

In regular operation, we do not even notice these mechanisms.
However, when we attempt to max out the capabilities,
this automatic accommodation becomes observable.

-- Hermann




_______________________________________________
Yoshimi-devel mailing list
Yoshimi-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/yoshimi-devel

Reply via email to