On Thu, May 6, 2021 at 4:06 PM Øyvind Teig <oyvind.t...@teigfam.net> wrote:

> If that confirmation really is a confirmation, then the "Mercl code" is
> still not a pri select that matches the pri select I was querying about.
>

I don't believe it is. It took a while to wrap my head around it -
apologies for that.

But yes, at this point I believe the specific property that is violated
that you'd be interested in is as I said in my last message, the guarantee
that "if the high-priority case becomes ready before (in the sense of the
memory model) the low-priority case, then the high-priority case will be
chosen".

That's certainly a reasonable expectation to have from a priority select
and it is not a guarantee that the code we gave you, using nested selects
with defaults, provides.

I believe we became hung up on the idea of what happens if the cases become
ready *concurrently*. In that case, there is no real sensible answer to
what any select implementation could guarantee.


> Øyvind
>
> torsdag 6. mai 2021 kl. 14:29:31 UTC+2 skrev jesper.lou...@gmail.com:
>
>> On Wed, May 5, 2021 at 11:34 PM Bakul Shah <ba...@iitbombay.org> wrote:
>>
>>>
>>> Imagine that the latency between the device detecting a disconnect
>>> signal and a user hitting a disconnect button is D ns while the fire
>>> detection latency is F ns. So if D > F the device would raise the
>>> alarm even if you implement it all in hardware! The only difference
>>> between a Go implementation vs a hardware  one is the window size.
>>> If you want to make it minimize it, Go is not the right solution.
>>> For that, in H/W you'd probably *gate* the alarm line to the fire
>>> department with the disconnect signal! But even so there is a small
>>> window.
>>>
>>>
>> There's a more contrived example which takes this argument to the
>> extreme. It illustrates some of the problems.
>>
>> Imagine you had D on Venus, and F on Mars. You receive radio signals on
>> Earth from F and D. Due to planet orbits, this system is in constant
>> motion, so the window constantly changes. It makes it really hard to nail
>> down a good window, though it can be argued we can precompute the position
>> of planets and thus compensate. However, you might have other systems where
>> even the prediction of the window size is impossible.
>>
>> Most computer systems, as Ian writes, exhibit the same window
>> fluctuations at a far smaller scale, seemingly at random. In particular,
>> time is not absolute in computer systems. See e.g., "There is no Now" (
>> https://queue.acm.org/detail.cfm?id=2745385) by Justin Sheehy for an
>> example. The writing by Sheehy also injects an important point into these
>> discussions: impossibility results. As you add more and more distribution
>> to a system---of which one can argue that a modern multicore system is, in
>> fact, a distributed system---you may end up with FLP or CAP in disguise.
>> Both these results put a wooden stake through the determinism vampire.
>> I don't think it is too far fetched to argue that prioritization,
>> ordering and (non-)determinism are intertwined.
>>
>>
>> --
>> J.
>>
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/golang-nuts/69b83b54-1094-4321-9c27-cf4131bf6393n%40googlegroups.com
> <https://groups.google.com/d/msgid/golang-nuts/69b83b54-1094-4321-9c27-cf4131bf6393n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CAEkBMfEnyiedLZ7kh1z1bR%2B5V0UbQyFc-4%2B26_Nwdei%2Bbp_tcA%40mail.gmail.com.

Reply via email to