Hi,

I'm well aware of the benefits of non-deterministic select for many use
cases, I don't contest that at all or the decision to have it part of
golang.

A clear and concrete problem is the following:  The sat solver competition
at satcompetition.org requires
deterministic solvers for reproducible results.  Suppose I have a
select{...} in a go program which solves sat,
and I want to enter it in the contest.  I can't.  Also, others can't
reproduce the results.  Also, the problem is hard
and very heuristic so minor variations can cause huge differences in
runtime (like 1s vs. 1 month).

A concurrent algorithm for SAT can be interesting and maybe even give on
average good results.  But the entire thing will be rejected by the
scientific community on the grounds that they can't reliably reproduce
results.

Best
Scott



2016-07-17 18:12 GMT+02:00 Jesper Louis Andersen <
jesper.louis.ander...@gmail.com>:

>
> On Sun, Jul 17, 2016 at 6:05 PM, Scott Cotton <w...@iri-labs.com> wrote:
>
>> I'm looking for information/pointers for making the scheduling and
>> select {} choices determinisable for an application domain in which
>> non-determinism in scheduling/select causes problems.
>>
>
> Out of curiosity, what is that domain?
>
> The reason I'm asking is that the non-deterministic select is put into
> place in order to prevent starvation and also to prevent programmers on
> relying on a specific order. The hope is that a concurrency error will
> uncover itself while the system is running because the odd schedule is
> likely to occur if at all possible.
>
> Also, in most concurrency systems, you have the opposite situation: the
> system has determinism. The lamented sigh here is that you often want some
> kind of fairness among processes to make sure you avoid starvation.
>
> There may be good subtle reasons for your domain, which is why I'm asking
> what the problem is.
>
> --
> J.
>



-- 
Scott Cotton
President, IRI France SAS
http://www.iri-labs.com

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to