(This is a tracking issue for Random+Multicore, which we could act upon now that Multicore is merged in trunk.) There is consensus that Random should "split" its global generator state when a new domain is spawned. There are two aspects to this: - the domain-local-state API needs to support "splitting" functions; this was prototyped in https://github.com/ocaml-multicore/ocaml-multicore/pull/756, submitted upstream as https://github.com/ocaml/ocaml/pull/10887 - the PRNG should change to a new algorithm where a splitting operation has been studied to be statistically robust; see https://github.com/ocaml/RFCs/pull/28 and https://github.com/ocaml/ocaml/pull/10742
(This is a tracking issue for Random+Multicore, which we could act upon now that Multicore is merged in trunk.)
There is consensus that Random should "split" its global generator state when a new domain is spawned. There are two aspects to this: