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.
> 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