> Am 14.11.2022 um 15:41 schrieb Dave Jones <vmda...@gmail.com>:
> 
> Hello, all.
> Does this problem occur when the virtual machines are hosted by a *real* 
> hypervisor, namely z/VM? :-)

I which I had a S/390 running z/VM to play with. And a nuclear reactor to power 
it with...

> Or is it just something that happens on VMWare?

We use Oracle VirtualBox, not VMWare but I think it is the underlying (desktop) 
hardware that creates the timing fuss.

> MAny thanks.
> DJ
> 
> On Sun, Nov 13, 2022 at 1:39 PM Mike Cowlishaw <m...@speleotrove.com 
> <mailto:m...@speleotrove.com>> wrote:
> OK, thanks!
> 
> From: Rick McGuire [mailto:object.r...@gmail.com 
> <mailto:object.r...@gmail.com>] 
> Sent: 13 November 2022 11:13
> To: Open Object Rexx Developer Mailing List
> Subject: Re: [Oorexx-devel] Jenkins
> 
> 
> 
> On Sun, Nov 13, 2022 at 5:57 AM Mike Cowlishaw <m...@speleotrove.com 
> <mailto:m...@speleotrove.com>> wrote:
> 
>  
>> I'm not familiar with internals of ooRexx, but reading this:
>> 
>>> I tried to "tune" Virtualbox to get rid of the timing error 
>>> problems but every attempt actually made things worse, with 
>>> more than half of the timing tests failing. I have reset 
>>> Virtualbox to default values now. What *DID* help on the 
>>> other hand was to deprive the VMs of resources. Changing from 
>>> 2 cores/4 GB memory to 1 core/ 2 GB memory made all *nixes 
>>> pass all tests, so it looks like the problem were related to 
>>> Virtualbox rather than to ooRexx. Only exception are the 
>>> BSDs, that are still a bit problematic to test. But all 
>>> platforms (Win macOS Linux Unix) build without error now.
>> 
>> makes me wonder a bit: by reducing to one core then anything multithreaded
>> is forced to run on a single thread which makes race conditions much less
>> likely than when on multicore where multiple threads can run simultaneously.
> 
> ooRexx is not truly multithreaded. Only one thread at a time is allowed to 
> run Rexx code at a time, with a cooperative internal dispatch mechanism. Only 
> threads running external code (e.g., calls to native libraries or running 
> commands) truly run concurrently.  Multiple cores might affect the timing of 
> which thread happens to get permission to run next, but which thread gets 
> permission has always been unpredictable. 
> 
>  
>> 
> Which means that there can be no unexpected time glitches between threads 
> since they run consecutively on one core. And that ooRexx handles any such 
> race conditions GREAT. This shows IMO how robust ooRexx 5 has become. Gold 
> standard ;-) 
> 
> Right, but in the real world it will be running on multicore machines...
>  
> The failing test cases run just fine on multicore machines, they only seem to 
> fail in multicore virtual machines. Also, the failures don't really appear to 
> be race conditions, but rather checks in timer values that are falling 
> outside expected ranges. There's something funny going on with the clocks in 
> the virtual machines in those situations. 
> 
>  
>  
> Mike 
> _______________________________________________
> Oorexx-devel mailing list
> Oorexx-devel@lists.sourceforge.net <mailto:Oorexx-devel@lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel 
> <https://lists.sourceforge.net/lists/listinfo/oorexx-devel>
> _______________________________________________
> Oorexx-devel mailing list
> Oorexx-devel@lists.sourceforge.net <mailto:Oorexx-devel@lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel 
> <https://lists.sourceforge.net/lists/listinfo/oorexx-devel>
> _______________________________________________
> Oorexx-devel mailing list
> Oorexx-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel

_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to