From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.5 required=5.0 tests=AWL,SOME_BREAKTHROUGH autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from discorde.inria.fr (discorde.inria.fr [192.93.2.38]) by yquem.inria.fr (Postfix) with ESMTP id C93A4BC50 for ; Fri, 15 Sep 2006 13:36:42 +0200 (CEST) Received: from [128.93.8.130] (macadam.inria.fr [128.93.8.130]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id k8FBagPT011461 for ; Fri, 15 Sep 2006 13:36:42 +0200 Mime-Version: 1.0 (Apple Message framework v752.2) In-Reply-To: References: Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: Content-Transfer-Encoding: 7bit From: Damien Doligez Subject: Re: [Caml-list] The Future Possibility of Concurrent Garbage Collection? Date: Fri, 15 Sep 2006 13:36:41 +0200 To: caml-list X-Mailer: Apple Mail (2.752.2) X-Miltered: at discorde with ID 450A904A.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; damien:01 damien:01 ocaml:01 run-time:01 threads:01 posix:01 threads:01 unix:01 unix:01 apis:01 2006:98 advent:98 wrote:01 doligez:01 doligez:01 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