caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Yotam Barnoy <yotambarnoy@gmail.com>
To: Malcolm Matalka <mmatalka@gmail.com>
Cc: Stephen Dolan <stephen.dolan@cl.cam.ac.uk>,
	caml-list <caml-list@inria.fr>
Subject: Re: [Caml-list] Multicore runtime
Date: Thu, 11 Sep 2014 09:42:58 -0400	[thread overview]
Message-ID: <CAN6ygO=yWZHXH8kLC7EuYfmMgP=hcVOct-hydy2dz3Y_csyq0Q@mail.gmail.com> (raw)
In-Reply-To: <CAKziXDVyLFq2kfvFMY6-SfiWfmhkB3nfDDCSOo2qeK21y_rUWg@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2056 bytes --]

Ah OK. I didn't realize that the original Leroy & Doligez paper dealt only
with a copying GC, and that this was the intent here as well. In that case,
work stealing does indeed makes sense.

Thinking about it some more, I understand why it's not possible to just
fork off a suspended thread for synchronous IO as haskell does -- that
thread would then modify the local heap, breaking the invariant. So that IS
a limitation of the current model, right?

Malcolm: the description is here (
http://www.cl.cam.ac.uk/~sd601/multicore.md). As far as I understand, two
domains modifying the same reference on the shared heap is the same as in
any other language -- it's a write-write conflict, and it needs to be
guarded by the user using some primitive. If the reference is in a local
heap of another domain, that reference must first have something done to it
using a message sent from one domain to another. Unless they go with the
model where all mutables sit on the shared heap, meaning that there is no
such case.

On Thu, Sep 11, 2014 at 4:53 AM, Malcolm Matalka <mmatalka@gmail.com> wrote:

> Is there a detailed description of the memory model somewhere?  For
> example what does it mean for two domains to modify the same reference?
> Apologies if I missed it in the thread.
> Den 11 sep 2014 10:40 skrev "Stephen Dolan" <stephen.dolan@cl.cam.ac.uk>:
>
>> On Wed, Sep 10, 2014 at 11:42 PM, Yotam Barnoy <yotambarnoy@gmail.com>
>> wrote:
>> > Maybe I misunderstood something. Does each domain only have a minor
>> private
>> > heap (ie. copying gc) or do they each also have a major private
>> heap/older
>> > generation (mark and sweep)? If they have an older generation, then a
>> thread
>> > could potentially have a lot of data there, no?
>>
>> Only a private minor heap. The major heap is the shared heap.
>>
>> --
>> Caml-list mailing list.  Subscription management and archives:
>> https://sympa.inria.fr/sympa/arc/caml-list
>> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
>> Bug reports: http://caml.inria.fr/bin/caml-bugs
>>
>

[-- Attachment #2: Type: text/html, Size: 3094 bytes --]

  reply	other threads:[~2014-09-11 13:43 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-07 21:47 Jiten Pathy
2014-09-08 10:05 ` Stephen Dolan
2014-09-08 10:27   ` Peter Zotov
2014-09-08 10:45     ` Roberto Di Cosmo
2014-09-08 10:45   ` Leonardo Laguna Ruiz
2014-09-08 11:06     ` Adrien Nader
2014-09-08 14:49   ` Jesper Louis Andersen
2014-09-08 15:08     ` [Caml-list] format of .annot files Francois Berenger
2014-09-08 15:56     ` [Caml-list] Multicore runtime Anil Madhavapeddy
2014-09-08 17:32       ` Jesper Louis Andersen
2014-09-09  2:24         ` Yotam Barnoy
2014-09-09 15:06           ` Stephen Dolan
2014-09-09 15:26             ` Yotam Barnoy
2014-09-10 22:01               ` Stephen Dolan
2014-09-10 22:42                 ` Yotam Barnoy
2014-09-11  8:39                   ` Stephen Dolan
2014-09-11  8:53                     ` Malcolm Matalka
2014-09-11 13:42                       ` Yotam Barnoy [this message]
2014-09-12 10:42                       ` Stephen Dolan
  -- strict thread matches above, loose matches on Subject: below --
2014-05-29 23:04 Jiten Pathy
2014-06-05 17:01 ` Stephen Dolan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAN6ygO=yWZHXH8kLC7EuYfmMgP=hcVOct-hydy2dz3Y_csyq0Q@mail.gmail.com' \
    --to=yotambarnoy@gmail.com \
    --cc=caml-list@inria.fr \
    --cc=mmatalka@gmail.com \
    --cc=stephen.dolan@cl.cam.ac.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).