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=AWL,HTML_MESSAGE autolearn=disabled version=3.1.3 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id 8B85ABC6B for ; Tue, 8 Jan 2008 21:00:35 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAF1lg0dCm3xrnWdsb2JhbACCOjWNLAEBAQEamSg X-IronPort-AV: E=Sophos;i="4.24,258,1196636400"; d="scan'208,217";a="21031027" Received: from www.janestcapital.com (HELO smtp.janestcapital.com) ([66.155.124.107]) by mail4-smtp-sop.national.inria.fr with ESMTP; 08 Jan 2008 21:00:34 +0100 Received: from [172.25.129.161] [38.96.172.125] by janestcapital.com with ESMTP (SMTPD-9.10) id A640023C; Tue, 08 Jan 2008 15:00:00 -0500 Message-ID: <4783D640.7080800@janestcapital.com> Date: Tue, 08 Jan 2008 15:00:00 -0500 From: Brian Hurt User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Daniel Andor Cc: Jon Harrop , caml-list@yquem.inria.fr Subject: Re: [Caml-list] Parallelism with threads References: <200801081456.49677.jon@ffconsultancy.com> <4d5f7bec0801081131u2ebfae8aia0b13564d13b03c6@mail.gmail.com> In-Reply-To: <4d5f7bec0801081131u2ebfae8aia0b13564d13b03c6@mail.gmail.com> Content-Type: multipart/alternative; boundary="------------050601080002060902060806" X-Spam: no; 0.00; parallelism:01 ocaml:01 openmp:01 xavier's:01 parallelism:01 ocaml:01 runtimes:01 sockets:01 erlang:01 model:01 openmp:01 xavier's:01 runtimes:01 sockets:01 erlang:01 This is a multi-part message in MIME format. --------------050601080002060902060806 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Daniel Andor wrote: >On Jan 8, 2008 9:56 AM, Jon Harrop wrote: > > >>Is it possible to compute in parallel using separate threads rather than >>separate processes in OCaml, i.e. having multiple threads sharing multiple >>independent GCs? >> >> > >I often wonder about that myself. I'd like to do very simple OpenMP >style multi-threaded processing. OcamlP3 is promising, although it is >much more heavyweight. > >Does Xavier's "standard lecture on parallelism" still apply?: > http://caml.inria.fr/pub/ml-archives/caml-list/2002/11/64c14acb90cb14bedb2cacb73338fb15.en.html > >D. > > Actually, something that might be nice to see, now that the flat page table has been replaced with a heap that can handle disjoint heap spaces, is to allow multiple different Ocaml runtimes to be running in seperate threads in the same process. The heaps wouldn't be able to see each other, but they'd be able to communicate via light weight (and strongly typed) message passing, and you wouldn't have to dink around with sockets, pipes, MPI, or simiar "heavy weight" solutions, so it'd be simpler, and possibly faster. This is not unlike the Erlang model, in fact. Brian --------------050601080002060902060806 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit Daniel Andor wrote:
On Jan 8, 2008 9:56 AM, Jon Harrop <jon@ffconsultancy.com> wrote:
  
Is it possible to compute in parallel using separate threads rather than
separate processes in OCaml, i.e. having multiple threads sharing multiple
independent GCs?
    

I often wonder about that myself.  I'd like to do very simple OpenMP
style multi-threaded processing.  OcamlP3 is promising, although it is
much more heavyweight.

Does Xavier's "standard lecture on parallelism" still apply?:
  http://caml.inria.fr/pub/ml-archives/caml-list/2002/11/64c14acb90cb14bedb2cacb73338fb15.en.html

D.
  

Actually, something that might be nice to see, now that the flat page table has been replaced with a heap that can handle disjoint heap spaces, is to allow multiple different Ocaml runtimes to be running in seperate threads in the same process.
The heaps wouldn't be able to see each other, but they'd be able to communicate via light weight (and strongly typed) message passing, and you wouldn't have to dink around with sockets, pipes, MPI, or simiar "heavy weight" solutions, so it'd be simpler, and possibly faster.  This is not unlike the Erlang model, in fact.

Brian

--------------050601080002060902060806--