caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "Yaron Minsky" <yminsky@cs.cornell.edu>
To: caml-list <caml-list@yquem.inria.fr>
Subject: Re: [Caml-list] The Future Possibility of Concurrent Garbage Collection?
Date: Fri, 15 Sep 2006 10:29:03 -0400	[thread overview]
Message-ID: <891bd3390609150729k27b7acf8rc9b12f1e08eae93@mail.gmail.com> (raw)
In-Reply-To: <B4FCDE83-36F4-4FA6-9B11-06283C88CB76@inria.fr>

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

On 9/15/06, Damien Doligez <damien.doligez@inria.fr> wrote:
>
>
> On 2006-09-14, at 17:40, Jim Battin wrote:
>
> > It seems Moore's law is taking us in the direction of more cores per
> > microprocessor with less effort placed on exploring ILP.  With the
> > advent of multi-core processors, and their inevitable ubiquity, are
> > there any plans, considerations, or ideas for a concurrent garbage
> > collector in Ocaml?
>
> It's very nice to have a concurrent run-time system, and we know how
> to do it (at significant cost), but it's not really worth the trouble
> until we have an answer to this question: what programming language
> features do we put on top of it?
>
> Shared memory with threads, locks, and conditions just doesn't cut
> it, in terms of writing programs that work.


I understand where you're coming from, but this point of view implies, I
think, an inappropriate division of labor between language designers and
language users.  I agree, ordinary shared-state concurrency with threads is
a disaster.  But the burden of figuring out how to write concurrent programs
in a reasonable way is not just the responsibility of the language designer
--- library writers can come up with good abstractions to take advantage of
threads as well.

That is, they could do so if they had access to threads with real
concurrency.  Right now, ocaml doesn't provide that, and it's a real
weakness of the language.  The lack of a concurrent GC, in my opinion,
stifles innovation in this area, at least within the caml world.

That said, I do understand that a concurrent GC is a big technical
challenge, and I can understand why the ocaml team isn't eager to take it on
right now.

> To my knowledge, Caml Light had a concurrent garbage collector under
> > development by Xavier Leroy but was abandoned due to significant
> > technical challenges.  Prior to that, there appears to have been some
> > academic research regarding concurrent GC (Doligez, Leroy).
>
> The development was done by myself, it was done before the
> publications, and as part of the academic research (like everything
> we do here).
>
> The most significant challenges are in making Posix threads work
> under Unix (threads and Unix signals just don't mix well, given the
> currently available APIs).
>
>
> In summary, you shouldn't hold your breath.  In my opinion, we
> will need some major breakthrough before we can make good use
> of multicore architectures in normal programs.  In any language.
>
> -- Damien
>
> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> 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: 3628 bytes --]

  reply	other threads:[~2006-09-15 14:29 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-14 15:40 Jim Battin
2006-09-14 17:04 ` [Caml-list] " skaller
2006-09-14 21:00   ` Andrej Bauer
2006-09-15 11:36 ` Damien Doligez
2006-09-15 14:29   ` Yaron Minsky [this message]
2006-09-15 16:24     ` Mike Lin
2006-09-15 16:44       ` Gerd Stolpmann
2006-09-18  8:24     ` Hendrik Tews
2006-09-18  8:38       ` skaller
2006-09-18 13:09       ` Stefan Monnier
2006-09-18 13:23         ` [Caml-list] " skaller
2006-09-18 13:42         ` Rafael 'Dido' Sevilla
2006-09-19  0:09           ` Stefan Monnier
2006-09-19  2:02             ` [Caml-list] " Rafael 'Dido' Sevilla
2006-09-19  9:19         ` Hendrik Tews
2006-09-15 20:26 ` [Caml-list] " Florian Weimer
2006-09-15 20:16 Jonathan Bryant

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=891bd3390609150729k27b7acf8rc9b12f1e08eae93@mail.gmail.com \
    --to=yminsky@cs.cornell.edu \
    --cc=caml-list@yquem.inria.fr \
    /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).