torsdag 6. mai 2021 kl. 16:18:18 UTC+2 skrev axel.wa...@googlemail.com: > On Thu, May 6, 2021 at 4:06 PM Øyvind Teig <oyvin...@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. >
Since it looks like this is a thread with "us talking with each other" and not "me discussing with you" I will try to comment in line for all where it would be applicable, in the view that it's you who know what Go does. 16 new messages since I was here last time! (I only handle this at intervals, so that I can get some time with other things as well!-) But this one certainly needs a comment! No need to apologise! But I starting to get tired of myself hammering that I did not understand how *select-hi-default-select-hi-low* could possible work the way it was presented to work. I am indeed excited to read the next 16 messages, to see if that (now double) doubt still holds. But you made my day, Axel, I must admit 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. > Very interesting reading! Øyvind Ø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...@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/b000ae9c-4e64-4c21-b0df-d9e772332d2en%40googlegroups.com.