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.0 required=5.0 tests=none 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 0D996BC68 for ; Mon, 25 Sep 2006 21:42:35 +0200 (CEST) Received: from furbychan.cocan.org ([80.68.91.176]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id k8PJgS62019968 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO) for ; Mon, 25 Sep 2006 21:42:34 +0200 Received: from rich by furbychan.cocan.org with local (Exim 3.35 #1 (Debian)) id 1GRwKv-0008Jm-00; Mon, 25 Sep 2006 20:41:53 +0100 Date: Mon, 25 Sep 2006 20:41:53 +0100 To: Jacques Carette Cc: caml-list@inria.fr Subject: Re: [Caml-list] Regarding SMP computing Message-ID: <20060925194153.GA20467@furbychan.cocan.org> References: <4517C7FE.8080102@mcmaster.ca> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4517C7FE.8080102@mcmaster.ca> User-Agent: Mutt/1.5.9i From: Richard Jones X-Miltered: at discorde with ID 45183124.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; peyton-jones:01 parallelism:01 ocaml:01 runtime:01 iterating:01 2006:98 blog:98 blog:98 wrote:01 garbage:01 caml-list:01 ghc:01 data:02 structures:02 jacques:03 On Mon, Sep 25, 2006 at 08:13:50AM -0400, Jacques Carette wrote: > Over on Haskell-cafe, Simon Peyton-Jones says: > "GHC 6.6 (release candidate available) supports parallel execution on > SMP machines. > > Garbage collection is not parallelised yet, something we plan to fix > this autumn." > > A bit of competition is a good thing, isn't it? Can someone explain how/if this is better than using MPI for parallelism? The reason I ask is that we are starting to use MPI for real on SMP machines to process our larger datasets. On a related note, is/could there be a way in OCaml to tell the GC not to bother going "into" a particular data structure to check if it part of it has become unreachable? Our Weblogs library[1] loads a whole set of log files into memory (multiple gigabytes of memory), basically stored in a big linked list with lots of smaller structures hanging off each element, and I *know* that the hanging elements will never become unreachable unless the main linked list does so. I'd like to be able to tell the runtime that. Otherwise every time we do a major collection it's going to be uselessly iterating over the whole lot, and that appears to have particularly bad consequences as soon as we start to go into swap. Rich. [1] http://merjis.com/developers/weblogs -- Richard Jones, CTO Merjis Ltd. Merjis - web marketing and technology - http://merjis.com Internet Marketing and AdWords courses - http://merjis.com/courses - NEW! Merjis blog - http://blog.merjis.com - NEW!