Hello, all.
Does this problem occur when the virtual machines are hosted by a *real*
hypervisor, namely z/VM? :-) Or is it just something that happens on VMWare?
MAny thanks.
DJ

On Sun, Nov 13, 2022 at 1:39 PM Mike Cowlishaw <m...@speleotrove.com> wrote:

> OK, thanks!
>
> ------------------------------
> *From:* Rick McGuire [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>
> 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
>> 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