Re: [go-nuts] scheduling non determinism

2016-07-18 Thread Val
> > > For concurrent programs, obviously the program needs to be race-free -- no > reads of data that could hold different values based on grouting scheduling > of writes (using happens-before). > > Indeed, this is the definition of "racy" we're interested in. As Ian pointed out, this is

Re: [go-nuts] scheduling non determinism

2016-07-17 Thread Scott Cotton
Hi Ian, 2016-07-18 0:33 GMT+02:00 Ian Lance Taylor : > On Sun, Jul 17, 2016 at 9:25 AM, Scott Cotton wrote: > > > > 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

Re: [go-nuts] scheduling non determinism

2016-07-17 Thread Ian Lance Taylor
On Sun, Jul 17, 2016 at 9:25 AM, Scott Cotton wrote: > > 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

Re: [go-nuts] scheduling non determinism

2016-07-17 Thread Jesper Louis Andersen
On Sun, Jul 17, 2016 at 6:25 PM, Scott Cotton wrote: > 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

Re: [go-nuts] scheduling non determinism

2016-07-17 Thread Scott Cotton
Hello Val, Thanks for your thoughts. Indeed, for single user goroutine, I think your list is more or less ok. I can reliably reproduce single goroutine performance results in my code and it is in line with your list. (rand.Seed is not necessary b/c there is a default seed of 1). There was a

Re: [go-nuts] scheduling non determinism

2016-07-17 Thread Val
Hello Scott Determinism for runtime, not just builds, looks like a nice feature to have for some problems including yours. Sadly I don't have the solution, but it would be great to make 2 lists of how to achieve deterministic/reproducible executions in go : *Sequential programs* (only 1 user

Re: [go-nuts] scheduling non determinism

2016-07-17 Thread Scott Cotton
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

Re: [go-nuts] scheduling non determinism

2016-07-17 Thread Jesper Louis Andersen
On Sun, Jul 17, 2016 at 6:05 PM, Scott Cotton 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

[go-nuts] scheduling non determinism

2016-07-17 Thread Scott Cotton
Hi all, 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. For my own purposes I plan to make a determinisable version of the gc toolchain where one can set a