From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id B4158BCAE for ; Fri, 24 Jun 2005 18:59:52 +0200 (CEST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j5OGxp9Y019854 for ; Fri, 24 Jun 2005 18:59:52 +0200 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id SAA23483 for ; Fri, 24 Jun 2005 18:59:51 +0200 (MET DST) Received: from plover.csun.edu (plover.csun.edu [130.166.1.24]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j5OGxoqg019850 for ; Fri, 24 Jun 2005 18:59:51 +0200 Received: from puffin.csun.edu (puffin.csun.edu [130.166.1.21]) by plover.csun.edu (MOS 3.5.4-GR) with ESMTP id BQQ68143; Fri, 24 Jun 2005 09:58:17 -0700 (PDT) Received: from [130.166.10.117] (s010n117.csun.edu [130.166.10.117]) by puffin.csun.edu (MOS 3.5.4-GR) with ESMTP id DNF11573 (AUTH eric); Fri, 24 Jun 2005 09:57:31 -0700 (PDT) In-Reply-To: <3d13dcfc050624055027743339@mail.gmail.com> References: <3d13dcfc05062300215e4be9ee@mail.gmail.com> <1119547256.4675.12.camel@starlight.valdosta.edu> <1119603126.8485.4.camel@localhost.localdomain> <3d13dcfc050624023670d3aed2@mail.gmail.com> <3d13dcfc050624055027743339@mail.gmail.com> Mime-Version: 1.0 (Apple Message framework v730) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <5C834758-1619-4325-8CD9-95F8344052A7@csun.edu> Cc: Jean-Marie Gaillourdet , jtbryant@valdosta.edu, caml-list@inria.fr Content-Transfer-Encoding: 7bit From: Eric Stokes Subject: Re: [Caml-list] How INRIA people envision OCaml's parallel future? Date: Fri, 24 Jun 2005 09:59:41 -0700 To: David MENTRE X-Mailer: Apple Mail (2.730) X-Miltered: at concorde with ID 42BC3C07.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 42BC3C06.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 ocaml's:01 threads:01 threading:01 moderately:01 ocaml:01 gerd:01 compiler:01 sockets:01 asn:01 subset:01 caml-list:01 beginner's:01 ocaml:01 beginners:01 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on yquem.inria.fr X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.2 X-Spam-Level: On Jun 24, 2005, at 5:50 AM, David MENTRE wrote: > [ Last email, I swear it! ;-) ] > > Hello, > > 2005/6/24, David MENTRE : > > >> Anyway, INRIA people have already worked on those issues and had >> proposals. It is just that they feel it was not worth the trouble, >> *at >> that time*: >> http://groups.google.com/groups?q=doligez+parallel+GC+caml- >> list&hl=fr&lr=&selm=fa.dlqoshv.1a66ho7%40ifi.uio.no&rnum=2 >> >> > > From private and public emails, it appears that I have fed an old > troll. > Don't worry about it, it really is a valid issue that needs to be evaluated again every so often. Its true that many people have noticed the new multi core trend. However it has to be asked whether threads are really the right answer. They can honestly become a nightmare quite quickly. > > My intent is not to start another thread about GC and threading. My > intent is to know how, in a short future, I could efficiently use a > moderately SMP machine by writing pure OCaml code. > You sound like you need something right now, as well as in the future. So let me suggest a few tools that you might use to scratch your itch right now in the vein of typed channels. 1. Gerd Stolpman has one of the best XDR RPC libraries written for any language, it can certainly help improve the safety of a parallel program a lot by enforcing that data is exchanged in a type safe fashion, and it is also quite fast. It has a very nice rpc compiler which allows one to specify fairly painlessly the structure of messages. For your purposes, you could use unix domain sockets for transport, perhaps even using socketpair to avoid book keeping on the filesystem. http://ocaml-programming.de/packages/ 2. If you prefer ASN.1 and BER, a subset of BER is included with my ldap library, although it is somewhat less nice than the current XDR library, it is functional, and also quite fast. http:// ocamldap.sourceforge.net > > It could be with typed channels between unix processes, by modifying > the GC, by using concurrent constructs within the language, ... I > don't know so this is why I'm asking it here. > > Yours, > d. > > _______________________________________________ > 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 > >